![]() |
eXeL@B —› Вопросы новичков —› Пытаюсь научиться взламывать программы |
Посл.ответ | Сообщение |
|
Создано: 06 мая 2009 15:22 · Личное сообщение · #1 Всем привет! Заинтересовала меня эта тема. Решил научиться и начать с простой программы: SpadeEye. Сама программа позволяет производить поиск столов в онлайн покере. Буду здесь понемногу продвигаться вперед и задавать глупые вопросы. 1. 2. Посмотрел SpadeEye.exe в PEiD - пишет "Nothing found", т.е., как я понимаю, он не запакован и защитой является только серийный код. 3. Триальный период уже закончился и теперь, если запустить SpadeEye.exe, то вылезает окошко, где предлагается ввести серийный номер. 4. Ввожу в поле "Key: " любые цифры. Появляется окно с надписью: "Error: Invalid key." 5. Дальше открываю эту программу в Ollydbg. В модуле SpadeEye сделал Search for -> All referenced text strings -> там провел поиск по "Invalid key", но ничего не нашел, как и в других модулях - "fbclient", "LIBMYSQL", "LIBPQ", "mysqlpp", "QtCore4", "QtGui4" 6. Открыл список окон: View -> Windows - тут видно как раз 2 окна регистрации: "Trial period over" и "Registration" Скриншоты в pdf-файле приложил к сообщению. --- На этом пока все застопорилось. Чувствую, что надо копать в сторону указанных в Windows хэндлов для этих самых окон регистрации. Пойду дальше читать. ![]() ![]() |
|
Создано: 06 мая 2009 15:54 · Личное сообщение · #2 |
|
Создано: 06 мая 2009 16:19 · Личное сообщение · #3 |
|
Создано: 08 мая 2009 11:40 · Личное сообщение · #4 |
|
Создано: 08 мая 2009 12:40 · Поправил: user_ · Личное сообщение · #5 dog пишет: А что именно дальше читать? Этот топик посмотри, но на прогу свою забей пока лучше. А вобще есть специальная тема -Ссылки на программы с простой защитой v2- ![]() |
|
Создано: 08 мая 2009 13:14 · Личное сообщение · #6 |
|
Создано: 08 мая 2009 13:16 · Личное сообщение · #7 K_O_T пишет: прожка эта написана на .NET, а значит совершенно иной подход ко взлому нужен, начни обучение с какой-нибудь другой программы Категориски против. Плоховолк до сих пор не может выучить асм. А вот проги на .NET прекрасно ломает. Для случая .NET прог нужен декомпиль. Мой выбор - Reflector. Скачай его и опробуй на программах. Я потом поищу какие жертвы лучше всего для обучения подойдут. Если есть вопросы по .NET - стучи в асю или ЛС. ![]() |
|
Создано: 08 мая 2009 14:56 · Личное сообщение · #8 Да, уже разбираюсь с .NET Reflector'ом. Пока нашел там строку: "return ((objA == objB) || (((objA != null) && (objB != null)) && objA.Equals(objB)));", где objA.Equals(objB) может сравнивать objA и стандартный метод GetHashCode, который берется из objB (а он, как я понимаю, "Machinecode: 'SGLF-FJJO-IOE'" или "SGLF-FJJO-IOE" ). Теперь надо написать программу в студии (которой у меня нет) для этого метода и проверить. ![]() |
|
Создано: 08 мая 2009 16:48 · Поправил: dog · Личное сообщение · #9 Кажется, нашел саму функцию, отвечающую за проверку ключа: grabber.slot_reg В ней такие строки: Code:
Видимо, нужно как-то перекомпилировать в: Code:
Кстати, еще можно разобраться как работает эта функция и вручную вычислить правильный sn. Буду разбираться дальше. ![]() |
|
Создано: 08 мая 2009 17:12 · Личное сообщение · #10 |
|
Создано: 08 мая 2009 21:38 · Поправил: dog · Личное сообщение · #11 Столкнулся с проблемой reflexil не позволяет редактировать модуль grabber.slot_reg Скриншот приложил к сообщению. ![]() ![]() ![]() |
|
Создано: 10 мая 2009 00:56 · Поправил: dog · Личное сообщение · #12 |
|
Создано: 11 мая 2009 13:46 · Поправил: dog · Личное сообщение · #13 Дисассемблером ildasm получил msil-файл. Нашел там такие строки: Code:
Похоже, это то, что я искал, brfalse - это условный переход. Поменял: Code:
Теперь непонятно, как скомпилировать обратно. Code:
Чем все-таки можно скомпилировать? Использовался Microsoft.NET Framework v2.0.50727 ![]() |
|
Создано: 11 мая 2009 14:12 · Поправил: user_ · Личное сообщение · #14 |
|
Создано: 11 мая 2009 14:19 · Личное сообщение · #15 |
|
Создано: 15 мая 2009 21:29 · Поправил: dog · Личное сообщение · #16 Может попробовать установить Free Qt SDK и скормить библиотеки ilasm'у через /include ? Я застопорился ![]() ![]() Нашел в коде cil места, которые нужно изменить, даже понял как и на что. А скомпилить обратно не получается. Еще есть вариант понять принцип формирования ключа, но я в с++ не силен, хотя эту часть кода тоже нашел с помощью reflector'а. Собираюсь этим заняться сразу после успешного изменения cil-кода. ![]() |
|
Создано: 19 мая 2009 17:28 · Поправил: dog · Личное сообщение · #17 |
|
Создано: 25 мая 2009 09:10 · Личное сообщение · #18 Всем привет! Хочу попробовать программу из темы на этой странице форума, только поновее версию. Упакована она с помощью Armadillo. В теме написано, что можно получить распакованный дамп с помощью Armageddon. Но я совсем не понял как его сделать ![]() Вот что выдает ArmaFP: Code:
![]() |
|
Создано: 25 мая 2009 16:21 · Личное сообщение · #19 dog пишет: Упакована она с помощью Armadillo dog пишет: И разные опции выставлял и ставил на ночь... Не нате дрожжи ставил ![]() ![]() ![]() Вот ----- Чтобы правильно задать вопрос, нужно знать большую часть ответа. Р.Шекли. ![]() |
|
Создано: 25 мая 2009 16:33 · Личное сообщение · #20 |
|
Создано: 29 сентября 2009 18:33 · Личное сообщение · #21 |
|
Создано: 30 сентября 2009 15:29 · Личное сообщение · #22 |
|
Создано: 01 октября 2009 13:15 · Личное сообщение · #23 |
|
Создано: 01 октября 2009 17:53 · Личное сообщение · #24 |
![]() |
eXeL@B —› Вопросы новичков —› Пытаюсь научиться взламывать программы |
Эта тема закрыта. Ответы больше не принимаются. |