Сейчас на форуме: _MBK_, ManHunter, Magister Yoda, rtsgreg1989 (+9 невидимых) |
![]() |
eXeL@B —› Основной форум —› Инлайе патч в DLL |
Посл.ответ | Сообщение |
|
Создано: 13 сентября 2005 22:55 · Личное сообщение · #1 Ситуация такая, dll запакована UPX'ом, грузится почти всегда по разным адресам, а мне нужно один джамп с условного на безусловный поменять. Распаковывается она легко(upx -d dll), но я хочу сделать инлайн патч. Жестко прописанные адреса естественно в пролете и пришлось сделать так(fasm): use32 org 009361C2h ;0FFF43831h = (address of je not_expired) - (address of our patch) call delta delta: pop ebp sub ebp, 5 ;length of call delta ;0F84 EE010000 нужно заменить на E9 EF010000 mov dword[ebp+0FFF43831h], 0001EFE9h mov byte [ebp+0FFF43835h], 00h jmp 00871344h;jmp to OEP В итоге все работает, но неужели нет способа легче?? Кстати программа Alcohol 120% Bepcия 1.9.5 ( Build 3105 )(Trial Version) , библиотека AXShlEx.dll. Прикол в том, что вызывается она не только из Алкоголя, но и из файловых менеджеров, из диалога открытия файлов и т.п. точнее из нее загружаются иконки. ![]() |
|
Создано: 13 сентября 2005 23:02 · Личное сообщение · #2 вот http://www.exelab.ru/f/action=vthread&forum=1&topic=2831 не UPX конечно, но метода должна быть ясна ![]() |
|
Создано: 13 сентября 2005 23:21 · Поправил: Zyzomys · Личное сообщение · #3 |
|
Создано: 14 сентября 2005 00:55 · Личное сообщение · #4 |
|
Создано: 14 сентября 2005 12:53 · Личное сообщение · #5 |
![]() |
eXeL@B —› Основной форум —› Инлайе патч в DLL |