![]() |
eXeL@B —› Вопросы новичков —› Краденые байты?... Мать их... |
Посл.ответ | Сообщение |
|
Создано: 09 февраля 2009 15:49 · Личное сообщение · #1 В продолжении темы Помогите сделать следующий шаг.... Тему закрыл, а рано.. Граждане, в двух словах, кто не хочет читать: Сама программа с более полными пояснениями на http://rapidshare.com/files/190730531/XYZ.rar.html По сведеньям PEID программа написана на Borland Delphi 5.0, Krypto ANALyzer выдал BLOWFISH, FGint Base256, MD5. Застрял в проге на процедуре: 004A776B CALL 00402890 После обработки процедуры по адресу 00402890 у модифицированного файла появляется исключение на 004ACEE0, оригинальный файл всё проходит нормально. Если поставить бряк на 004A7770, то в оригинальном файле по адресу 004ACEE0 - нормальный код, в модифицированном- мусор. Что дальше делать? Перечитал туторы Tutorials c Olly по исследованию программ (Спасибо автору aleks22)и с wasm.ru Введение в крэкинг с нуля, используя OllyDbg (Рикардо Нарваха, пер. Aquila - Спасибо автору и переводчику). Не могу понять, с какого бока подступиться ![]() Нужен коммент спеца, а то моск уже ломаецца... ![]() |
|
Создано: 10 февраля 2009 12:27 · Личное сообщение · #2 |
|
Создано: 10 февраля 2009 20:46 · Личное сообщение · #3 |
|
Создано: 11 февраля 2009 07:30 · Поправил: gbI · Личное сообщение · #4 Если будешь ковырять, то: gbI пишет: После обработки процедуры по адресу 00402890 В это процедуре есть строка 004028A3 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI], которая меняет код начиная с адреса 004ACEDB по адрес 004ACFEC - куда входит и исключение, попадающее на 004ACEE0. Если оригинальному файлу дать загрузиться полностью, затем, после загрузки поставить BP на 004A776B(где вызов процедуры по адресу 00402890), в самой проге нажать на кнопку "Связь", и вручную дойти до 004028A5 (вручную, потому как эта процедура дохрена откуда вызывается.), то мы увидим как раз нормальный код с 004ACEDB по адрес 004ACFEC. В модифицированном файле пробовал занопить 004028A3 REP MOVS DWORD PTR ES:[EDI],DWORD PTR DS:[ESI], вставил нормальный код с 004ACEDB по адрес 004ACFEC - тоже хрень получилась- появилось два сообщения о неправильном ключе(код41 и код 51) - отключил, а дальше не срослось у проги... ![]() Короче вот так, что знал - рассказал ![]() |
|
Создано: 11 февраля 2009 13:31 · Личное сообщение · #5 Карочи, думал, думал и надумал работающий код ткнуть в другое место программы, а вызов процедуры по адресу 004ACEE0 (сам вызов находится по адресу 004AD04C Call 004ACEE0) перевести на него. Т.е. вместо 004AD04C Call 004ACEE0 у меня будет 004AD04C Call(JMP) другое место, где будет дешифрованный рабочий код. Остался вопрос - как дописать рабочий код, т.к. такого количества нопов под код в проге нет, какие оперции нужно провести для этого, чтобы был работоспособный код? Граждане, проясните, либо ткните пальцем в сцылку, где было бы более-менее расжевано. Спасибо всем, чьё время я отнял. ![]() |
|
Создано: 12 февраля 2009 14:33 · Личное сообщение · #6 |
|
Создано: 14 февраля 2009 23:26 · Личное сообщение · #7 |
|
Создано: 15 февраля 2009 00:23 · Личное сообщение · #8 SVLab пишет: Если места нет, сделай дополнительную секцию. Дык в в 8-м туторе у aleks22 так и написано - делается дополнительная секция, и т.д. по тексту... Я раз пять делал один в один по тутору - не хочет запускаться, хоть обосцысь. Что-то я где-то упустил, а что и где - хЫзЫ. Сцылку бы надо с конкретным примером вставки кода... ![]() |
|
Создано: 15 февраля 2009 00:44 · Личное сообщение · #9 |
|
Создано: 15 февраля 2009 00:51 · Личное сообщение · #10 |
|
Создано: 15 февраля 2009 00:59 · Поправил: gbI · Личное сообщение · #11 Вот код: Code:
....Это же...: Code:
А остальное, как тут: gbI пишет: 004AD04C Call(JMP) другое место, где будет дешифрованный рабочий код. ..... ![]() |
|
Создано: 15 февраля 2009 09:22 · Личное сообщение · #12 |
|
Создано: 16 февраля 2009 15:33 · Личное сообщение · #13 |
|
Создано: 21 февраля 2009 00:53 · Личное сообщение · #14 |
![]() |
eXeL@B —› Вопросы новичков —› Краденые байты?... Мать их... |
Эта тема закрыта. Ответы больше не принимаются. |