быстрая расшифровка 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