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

       

быстрая расшифровка elf-файла в отладчике gdb


Кстати говоря, последние версии IDA Pro портированные под LINUX, содержат интерактивный отладчик в стиле Turbo-Debugger, работающий через prtace() и позволяющий делать такие вещи прямо в дизассемблере! Но специально на этот случай JunkCode подложил хакерам большую свинью, даже целых две — таких толстых, хорошо откормленных свиньи, сбивающих IDA Pro с толку.

Изменив точку входа в elf-файл (entrypoint) путем перенаправления ее на тело своего расшифровщика, он "забыл" скорректировать символьную метку _start, продолжающую указывать на оригинальную точку входа (в настоящий момент зашифрованную!), в результате чего IDA Pro показывает следующую муть, вводящую нас в заблуждение и высаживающую на глухую измену: ### нечто совершенно бессмысленное:

.text:080482C0       _start proc near

.text:080482C0 8C EE       mov    esi, gs

.text:080482C2 92          xchg   eax, edx

.text:080482C3 80 5C 80 28 F9     sbb    byte ptr [eax+eax*4+28h], 0F9h

.text:080482C8 ED          in     eax, dx

.text:080482C9 57          push   edi

.text:080482CA 9E          sahf

.text:080482CB 61          popa

.text:080482CC AD          lodsd

.text:080482CD 87 C8       xchg   ecx, eax

.text:080482CF 01 D5       add    ebp, edx

.text:080482D1 B3 4F       mov    bl, 4Fh

.text:080482D3 0D B5 52 9A 61     or     eax, 619A52B5h

.text:080482D8 2D 80 C8 01 55     sub    eax, 5501C880h

.text:080482DD CC          int    3      ; Trap to Debugger

.text:080482DE 33 F6       xor    esi, esi

.text:080482E0 42          inc    edx

.text:080482E1 F7 5C 99 E8 neg    dword ptr [ecx+ebx*4-18h]

.text:080482E1       _start endp



Содержание раздела