Упаковщики исполняемых файлов в LINUX-BSD


         

нет, это не хитрый антиотладочный


Кстати говоря, если установить точку останова на _start и дать отладчику немного поработать, мы попадем в самое начало расшифрованной программы. после чего ее будет можно анализировать в обычным режиме или снять дамп. Только эта должна быть именно аппаратная (команда "hbreak _start" в gdb), а не программная ("b _start") точка останова, иначе все рухнет (программная точка внедряет в расшифровываемую программу код CCh, который после расшифровки превращается совсем не в то, что было до нее).

Это очевидная ошибка создателя шифратора. Вот если бы он перенаправил _start

в какое-нибудь интересное место, вот тогда бы хакерам пришлось попыхтеть, а так… "защита" снимается в считанные секунды безо всякого труда, однако, представляет интерес посмотреть как выглядит код расшифровщика в IDA Pro, точка входа в который, как мы помним, равна 80495DCh:

extern:80495DC 7F 01 00 00 extrn puts@@GLIBC_2_0:near

extern:80495E0 FA 00 00 00 extrn __libc_start_main@@GLIBC_2_0:near

extern:80495E4 7F 01 00 00 extrn puts:near      ; CODE XREF: .plt:_puts^j

extern:80495E4                                         ; DATA XREF: .got:off_80495CC^o

extern:80495E8 FA 00 00 00 extrn __libc_start_main:near

extern:80495E8                                         ; CODE XREF: ___libc_start_main^j

extern:80495E8                                         ; DATA XREF: .got:off_80495D0^o

extern:80495EC 00          extrn _Jv_RegisterClasses ; weak

extern:80495F0 00          extrn __gmon_start__ ; weak

extern:80495F0                    ; DATA XREF: .got:080495D4^o



Содержание  Назад  Вперед