![]() |
eXeL@B —› Вопросы новичков —› Подскажите как двигаться дальше и убрать мусор |
Посл.ответ | Сообщение |
|
Создано: 30 декабря 2008 02:01 · Личное сообщение · #1 После распаковки exe с помощью upx делаю дизасм в IDAG получаю вот такой начало и по всему файлу ошметки данных ..и прочий мусор. Подскажите плиз куда копать.. .text:00401000 ; .text:00401000 ; ã===================================================================== ====¬ .text:00401000 ; ¦ This file is generated by The Interactive Disassembler (IDA) ¦ .text:00401000 ; ¦ Copyright (c) 2002 by DataRescue sa/nv, <ida@datarescue.com> ¦ .text:00401000 ; ¦ Licensed to: Thomas Wright, DVDMods, 1 user, special ¦ .text:00401000 ; L===================================================================== ====- .text:00401000 ; .text:00401000 ; ---------------------------------------------------------------------- ----- .text:00401000 ; Format : Portable executable for IBM PC (PE) .text:00401000 ; Section 1. (virtual address 00001000) .text:00401000 ; Virtual size : 0005E286 ( 385670.) .text:00401000 ; Section size in file : 0005F000 ( 389120.) .text:00401000 ; Offset to raw data for section: 00001000 .text:00401000 ; Flags 60000020: Text Executable Readable .text:00401000 ; Alignment : 16 bytes ? .text:00401000 .text:00401000 .text:00401000 unicode macro page,string,zero .text:00401000 irpc c,<string> .text:00401000 db '&c', page .text:00401000 endm .text:00401000 ifnb <zero> .text:00401000 dw zero .text:00401000 endif .text:00401000 endm .text:00401000 .text:00401000 model flat .text:00401000 .text:00401000 ; ====================================================================== ===== .text:00401000 .text:00401000 ; Segment type: Pure code .text:00401000 _text segment para public 'CODE' use32 .text:00401000 assume cs:_text .text:00401000 ;org 401000h .text:00401000 assume es:nothing, ss:nothing, ds:_data, fs:nothing, gs:nothing .text:00401000 push ebp .text:00401001 mov ebp, esp .text:00401003 push 0FFFFFFFFh .text:00401005 push offset loc_45D30C .text:0040100A mov eax, large fs:0 .text:00401010 push eax .text:00401011 mov large fs:0, esp .text:00401018 sub esp, 130h .text:0040101E push ebx .text:0040101F push esi .text:00401020 push edi .text:00401021 mov [ebp-0F8h], ecx .text:00401027 mov dword ptr [ebp-94h], 0 .text:00401031 mov eax, [ebp-0F8h] .text:00401037 add eax, 4 .text:0040103A mov [ebp-90h], eax .text:00401040 xor ecx, ecx .text:00401042 cmp dword ptr [ebp-94h], 0 .text:00401049 setnz cl .text:0040104C mov edx, [ebp-90h] .text:00401052 mov [edx], cl .text:00401054 mov eax, [ebp-90h] .text:0040105A mov ecx, [ebp-94h] .text:00401060 mov [eax+4], ecx .text:00401063 mov dword ptr [ebp-4], 0 .text:0040106A mov edx, [ebp-0F8h] .text:00401070 add edx, 10h .text:00401073 mov [ebp-98h], edx .text:00401079 mov al, [ebp-14h] .text:0040107C mov ecx, [ebp-98h] .text:00401082 mov [ecx], al .text:00401084 mov dl, [ebp-18h] .text:00401087 mov eax, [ebp-98h] .text:0040108D mov [eax+1], dl .text:00401090 mov ecx, [ebp-98h] .text:00401096 mov byte ptr [ecx+8], 0 .text:0040109A mov ecx, [ebp-98h] .text:004010A0 call sub_408E60 .text:004010A5 mov byte ptr [ebp-4], 1 .text:004010A9 mov edx, [ebp-0F8h] .text:004010AF add edx, 20h .text:004010B2 mov [ebp-9Ch], edx .text:004010B8 mov eax, [ebp-9Ch] .text:004010BE mov dword ptr [eax], 0 .text:004010C4 mov byte ptr [ebp-4], 2 .text:004010C8 mov ecx, [ebp-0F8h] .text:004010CE add ecx, 24h .text:004010D1 mov [ebp-0A0h], ecx .text:004010D7 mov edx, [ebp-0A0h] .text:004010DD mov dword ptr [edx], 0 .text:004010E3 mov byte ptr [ebp-4], 3 .text:004010E7 mov eax, [ebp-0F8h] .text:004010ED add eax, 28h .text:004010F0 mov [ebp-0A4h], eax ![]() |
|
Создано: 30 декабря 2008 09:22 · Личное сообщение · #2 |
|
Создано: 30 декабря 2008 10:07 · Личное сообщение · #3 а вот дальше: loc_40126C: ; CODE XREF: .text:0040121Aj .text:0040126C aad 0BEh .text:0040126E mov dword ptr [ebx+35DCA84Eh], 2C446263h .text:00401278 xor dword ptr [eax-0F06DE86h], 2Fh .text:0040127F fcmovu st, st(7) .text:00401281 test eax, 7F2A8801h .text:00401286 pop ebp .text:00401287 mov ecx, 0CEA1139Fh .text:0040128C cmc .text:0040128D shl ebx, 0B7h .text:00401290 push ecx .text:00401290 ; ---------------------------------------------------------------------- ----- .text:00401291 dd 624263FEh, 0C59DBCFDh, 9E989228h, 3AE4473Bh, 1715CC4h .text:00401291 dd 2A36C9ACh, 0AA4F201Dh, 0CD17EAECh, 0D9BA8464h, 0EC60BB99h .text:00401291 dd 0AE6C3988h, 0B97F762Ch, 0CF6F6A50h, 18956CD3h, 0C1A3302Ch .text:00401291 dd 2481B3A5h .text:004012D1 ; ---------------------------------------------------------------------- ----- .text:004012D1 .text:004012D1 loc_4012D1: ; CODE XREF: .text:0040125Bj .text:004012D1 hlt .text:004012D2 sbb [edx+33h], al .text:004012D2 ; ---------------------------------------------------------------------- ----- .text:004012D5 dd 165F1DDh, 0F965EDE7h, 5A2CF883h, 5A94011Ah, 4C059888h .text:004012D5 dd 3A6320E7h, 85ADB869h, 0C1EA6C25h, 0BA118DCEh, 0DD3BC7D6h .text:004012D5 dd 10750C1Ch, 0A78EBB9Ah, 5623D4CFh, 8A8A0549h, 26021E30h .text:004012D5 dd 0CF04894Ch, 0D7ECC235h, 0C0E1460Eh, 0B7D10E5Fh, 8E25F47Ah .text:004012D5 dd 7168BFCDh, 4B00E681h, 0A0D0D689h, 200E01D2h, 820A8953h .text:004012D5 dd 9F78211h, 3E0602B0h, 0DC86CD20h, 0DD501EE0h, 3E84220Bh .text:004012D5 dd 0A873DD70h, 5A3FFCAFh, 880DD8D9h, 0C568A10Bh, 0F87880C8h .text:004012D5 dd 0D3F49793h, 8567734Dh, 50DF098Dh, 585FACE7h, 0DBA37289h .text:004012D5 dd 0E54A69B2h, 1C6C265Bh, 0BB1AC1B7h, 938FBA3Dh, 42588F43h ![]() |
|
Создано: 30 декабря 2008 10:35 · Поправил: Veliant · Личное сообщение · #4 |
|
Создано: 30 декабря 2008 11:04 · Личное сообщение · #5 |
|
Создано: 30 декабря 2008 11:31 · Личное сообщение · #6 |
|
Создано: 30 декабря 2008 12:03 · Личное сообщение · #7 |
|
Создано: 30 декабря 2008 14:34 · Личное сообщение · #8 Вот еще странная процедура после которой распакованная от upx прога-сервисная часть - валится в эксепшн .text:0040BAF0 sub_40BAF0 proc near ; CODE XREF: sub_413920+6Ep .text:0040BAF0 .text:0040BAF0 var_494 = dword ptr -494h .text:0040BAF0 var_490 = dword ptr -490h .text:0040BAF0 var_48C = dword ptr -48Ch .text:0040BAF0 var_488 = dword ptr -488h .text:0040BAF0 var_380 = dword ptr -380h .text:0040BAF0 var_37C = dword ptr -37Ch .text:0040BAF0 var_378 = dword ptr -378h .text:0040BAF0 var_374 = dword ptr -374h .text:0040BAF0 var_370 = dword ptr -370h .text:0040BAF0 var_36C = dword ptr -36Ch .text:0040BAF0 var_368 = dword ptr -368h .text:0040BAF0 var_364 = dword ptr -364h .text:0040BAF0 var_360 = dword ptr -360h .text:0040BAF0 var_35C = dword ptr -35Ch .text:0040BAF0 var_358 = dword ptr -358h .text:0040BAF0 var_354 = dword ptr -354h .text:0040BAF0 var_350 = dword ptr -350h .text:0040BAF0 var_34C = dword ptr -34Ch .text:0040BAF0 var_348 = dword ptr -348h .text:0040BAF0 var_344 = dword ptr -344h .text:0040BAF0 var_340 = dword ptr -340h .text:0040BAF0 var_33C = dword ptr -33Ch .text:0040BAF0 var_338 = dword ptr -338h .text:0040BAF0 var_334 = dword ptr -334h .text:0040BAF0 var_330 = dword ptr -330h .text:0040BAF0 var_32C = dword ptr -32Ch .text:0040BAF0 var_228 = dword ptr -228h .text:0040BAF0 var_224 = dword ptr -224h .text:0040BAF0 var_220 = byte ptr -220h .text:0040BAF0 var_21C = byte ptr -21Ch .text:0040BAF0 var_218 = byte ptr -218h .text:0040BAF0 var_214 = byte ptr -214h .text:0040BAF0 var_210 = byte ptr -210h .text:0040BAF0 var_20C = byte ptr -20Ch .text:0040BAF0 var_18 = dword ptr -18h .text:0040BAF0 var_10 = dword ptr -10h .text:0040BAF0 var_4 = dword ptr -4 .text:0040BAF0 arg_0 = dword ptr 8 .text:0040BAF0 .text:0040BAF0 push ebp .text:0040BAF1 mov ebp, esp .text:0040BAF3 push 0FFFFFFFFh .text:0040BAF5 push offset loc_45D899 .text:0040BAFA mov eax, large fs:0 .text:0040BB00 push eax .text:0040BB01 mov large fs:0, esp .text:0040BB08 push ecx .text:0040BB09 sub esp, 584h .text:0040BB0F push ebx .text:0040BB10 push esi .text:0040BB11 push edi .text:0040BB12 mov [ebp+var_10], esp .text:0040BB15 mov [ebp+var_488], ecx .text:0040BB1B mov [ebp+var_330], 0 .text:0040BB25 mov eax, [ebp+var_488] .text:0040BB2B add eax, 0Ch .text:0040BB2E mov [ebp+var_32C], eax .text:0040BB34 xor ecx, ecx .text:0040BB36 cmp [ebp+var_330], 0 .text:0040BB3D setnz cl .text:0040BB40 mov edx, [ebp+var_32C] .text:0040BB46 mov [edx], cl .text:0040BB48 mov eax, [ebp+var_32C] .text:0040BB4E mov ecx, [ebp+var_330] .text:0040BB54 mov [eax+4], ecx .text:0040BB57 mov [ebp+var_4], 0 .text:0040BB5E mov [ebp+var_338], 0 .text:0040BB68 mov edx, [ebp+var_488] .text:0040BB6E add edx, 14h .text:0040BB71 mov [ebp+var_334], edx .text:0040BB77 xor eax, eax .text:0040BB79 cmp [ebp+var_338], 0 .text:0040BB80 setnz al .text:0040BB83 mov ecx, [ebp+var_334] .text:0040BB89 mov [ecx], al .text:0040BB8B mov edx, [ebp+var_334] .text:0040BB91 mov eax, [ebp+var_338] .text:0040BB97 mov [edx+4], eax .text:0040BB9A mov byte ptr [ebp+var_4], 1 .text:0040BB9E mov ecx, [ebp+var_488] .text:0040BBA4 add ecx, 20h .text:0040BBA7 mov [ebp+var_33C], ecx .text:0040BBAD mov edx, [ebp+var_33C] .text:0040BBB3 mov dword ptr [edx], 0 .text:0040BBB9 mov byte ptr [ebp+var_4], 2 .text:0040BBBD mov eax, [ebp+var_488] .text:0040BBC3 add eax, 24h .text:0040BBC6 mov [ebp+var_340], eax .text:0040BBCC mov ecx, [ebp+var_340] .text:0040BBD2 mov dword ptr [ecx], 0 .text:0040BBD8 mov byte ptr [ebp+var_4], 3 .text:0040BBDC mov edx, [ebp+var_488] .text:0040BBE2 add edx, 28h .text:0040BBE5 mov [ebp+var_344], edx .text:0040BBEB mov eax, [ebp+var_344] .text:0040BBF1 mov dword ptr [eax], 0 .text:0040BBF7 mov byte ptr [ebp+var_4], 4 .text:0040BBFB mov ecx, [ebp+var_488] .text:0040BC01 add ecx, 30h .text:0040BC04 mov [ebp+var_35C], ecx .text:0040BC0A mov dl, [ebp+var_20C] .text:0040BC10 mov eax, [ebp+var_35C] .text:0040BC16 mov [eax], dl .text:0040BC18 mov [ebp+var_358], 0 .text:0040BC22 mov [ebp+var_354], 0 .text:0040BC2C mov [ebp+var_350], 18h .text:0040BC36 mov ecx, [ebp+var_350] .text:0040BC3C mov [ebp+var_34C], ecx .text:0040BC42 cmp [ebp+var_34C], 0 .text:0040BC49 jge short loc_40BC55 .text:0040BC4B mov [ebp+var_34C], 0 .text:0040BC55 .text:0040BC55 loc_40BC55: ; CODE XREF: sub_40BAF0+159j .text:0040BC55 mov edx, [ebp+var_34C] .text:0040BC5B push edx .text:0040BC5C call sub_452854 .text:0040BC61 add esp, 4 .text:0040BC64 mov [ebp+var_348], eax .text:0040BC6A cmp [ebp+var_354], 0 .text:0040BC71 jz short loc_40BC81 .text:0040BC73 mov eax, [ebp+var_354] .text:0040BC79 mov [ebp+var_48C], eax .text:0040BC7F jmp short loc_40BC8D .text:0040BC81 ; ---------------------------------------------------------------------- ----- .text:0040BC81 .text:0040BC81 loc_40BC81: ; CODE XREF: sub_40BAF0+181j .text:0040BC81 mov ecx, [ebp+var_348] .text:0040BC87 mov [ebp+var_48C], ecx .text:0040BC8D .text:0040BC8D loc_40BC8D: ; CODE XREF: sub_40BAF0+18Fj .text:0040BC8D mov edx, [ebp+var_348] .text:0040BC93 mov eax, [ebp+var_48C] .text:0040BC99 mov [edx], eax .text:0040BC9B cmp [ebp+var_358], 0 .text:0040BCA2 jz short loc_40BCB2 .text:0040BCA4 mov ecx, [ebp+var_358] .text:0040BCAA mov [ebp+var_490], ecx .text:0040BCB0 jmp short loc_40BCBE .text:0040BCB2 ; ---------------------------------------------------------------------- ----- .text:0040BCB2 .text:0040BCB2 loc_40BCB2: ; CODE XREF: sub_40BAF0+1B2j .text:0040BCB2 mov edx, [ebp+var_348] .text:0040BCB8 mov [ebp+var_490], edx .text:0040BCBE .text:0040BCBE loc_40BCBE: ; CODE XREF: sub_40BAF0+1C0j .text:0040BCBE mov eax, [ebp+var_348] .text:0040BCC4 mov ecx, [ebp+var_490] .text:0040BCCA mov [eax+4], ecx .text:0040BCCD mov edx, [ebp+var_35C] .text:0040BCD3 mov eax, [ebp+var_348] .text:0040BCD9 mov [edx+4], eax .text:0040BCDC mov ecx, [ebp+var_35C] .text:0040BCE2 mov dword ptr [ecx+8], 0 .text:0040BCE9 mov byte ptr [ebp+var_4], 5 .text:0040BCED mov edx, [ebp+var_488] .text:0040BCF3 add edx, 40h .text:0040BCF6 mov [ebp+var_360], edx .text:0040BCFC mov eax, [ebp+var_360] .text:0040BD02 mov dword ptr [eax], 0 .text:0040BD08 mov byte ptr [ebp+var_4], 6 .text:0040BD0C mov ecx, [ebp+var_488] .text:0040BD12 add ecx, 44h .text:0040BD15 mov [ebp+var_364], ecx .text:0040BD1B mov edx, [ebp+var_364] .text:0040BD21 mov dword ptr [edx], 0 .text:0040BD27 mov byte ptr [ebp+var_4], 7 .text:0040BD2B mov eax, [ebp+var_488] .text:0040BD31 add eax, 48h .text:0040BD34 mov [ebp+var_368], eax .text:0040BD3A mov cl, [ebp+var_210] .text:0040BD40 mov edx, [ebp+var_368] .text:0040BD46 mov [edx], cl .text:0040BD48 mov al, [ebp+var_214] .text:0040BD4E mov ecx, [ebp+var_368] .text:0040BD54 mov [ecx+1], al .text:0040BD57 mov edx, [ebp+var_368] .text:0040BD5D mov byte ptr [edx+8], 0 .text:0040BD61 mov ecx, [ebp+var_368] .text:0040BD67 call sub_413330 .text:0040BD6C mov byte ptr [ebp+var_4], 8 .text:0040BD70 mov [ebp+var_370], 0 .text:0040BD7A mov eax, [ebp+var_488] .text:0040BD80 add eax, 70h .text:0040BD83 ![]() |
|
Создано: 30 декабря 2008 19:38 · Личное сообщение · #9 .text:0040BD89 xor ecx, ecx .text:0040BD8B cmp [ebp+var_370], 0 .text:0040BD92 setnz cl .text:0040BD95 mov edx, [ebp+var_36C] .text:0040BD9B mov [edx], cl .text:0040BD9D mov eax, [ebp+var_36C] .text:0040BDA3 mov ecx, [ebp+var_370] .text:0040BDA9 mov [eax+4], ecx .text:0040BDAC mov byte ptr [ebp+var_4], 9 .text:0040BDB0 mov edx, [ebp+var_488] .text:0040BDB6 add edx, 7Ch .text:0040BDB9 mov [ebp+var_374], edx .text:0040BDBF mov al, [ebp+var_218] .text:0040BDC5 mov ecx, [ebp+var_374] .text:0040BDCB mov [ecx], al .text:0040BDCD push 0 .text:0040BDCF mov ecx, [ebp+var_374] .text:0040BDD5 call sub_4068E0 .text:0040BDDA mov byte ptr [ebp+var_4], 0Ah .text:0040BDDE mov edx, [ebp+var_488] .text:0040BDE4 add edx, 8Ch .text:0040BDEA mov [ebp+var_378], edx .text:0040BDF0 mov al, [ebp+var_21C] .text:0040BDF6 mov ecx, [ebp+var_378] .text:0040BDFC mov [ecx], al .text:0040BDFE push 0 .text:0040BE00 mov ecx, [ebp+var_378] .text:0040BE06 call sub_4068E0 .text:0040BE0B mov byte ptr [ebp+var_4], 0Bh .text:0040BE0F mov edx, [ebp+var_488] .text:0040BE15 add edx, 9Ch .text:0040BE1B mov [ebp+var_37C], edx .text:0040BE21 mov al, [ebp+var_220] .text:0040BE27 mov ecx, [ebp+var_37C] .text:0040BE2D mov [ecx], al .text:0040BE2F push 0 .text:0040BE31 mov ecx, [ebp+var_37C] .text:0040BE37 call sub_4068E0 .text:0040BE3C mov byte ptr [ebp+var_4], 0Ch .text:0040BE40 mov edx, [ebp+var_488] .text:0040BE46 add edx, 0B4h .text:0040BE4C mov [ebp+var_380], edx .text:0040BE52 mov eax, [ebp+var_380] .text:0040BE58 mov dword ptr [eax], 0 .text:0040BE5E mov byte ptr [ebp+var_4], 0Dh .text:0040BE62 mov ecx, [ebp+var_488] .text:0040BE68 mov edx, [ebp+arg_0] .text:0040BE6B mov [ecx+0B8h], edx .text:0040BE71 mov eax, [ebp+var_488] .text:0040BE77 mov dword ptr [eax], offset off_4604C4 .text:0040BE7D push 8 .text:0040BE7F call sub_452854 .text:0040BE84 add esp, 4 .text:0040BE87 mov [ebp+var_228], eax .text:0040BE8D cmp [ebp+var_228], 0 .text:0040BE94 jz short loc_40BEC8 .text:0040BE96 mov ecx, [ebp+var_228] .text:0040BE9C mov word ptr [ecx], 55h .text:0040BEA1 mov edx, [ebp+var_228] .text:0040BEA7 mov word ptr [edx+2], 0 .text:0040BEAD mov eax, [ebp+var_228] .text:0040BEB3 mov dword ptr [eax+4], 1771h .text:0040BEBA mov ecx, [ebp+var_228] .text:0040BEC0 mov [ebp+var_494], ecx .text:0040BEC6 jmp short loc_40BED2 .text:0040BEC8 ; ---------------------------------------------------------------------- ----- .text:0040BEC8 .text:0040BEC8 loc_40BEC8: ; CODE XREF: sub_40BAF0+3A4j .text:0040BEC8 mov [ebp+var_494], 0 .text:0040BED2 .text:0040BED2 loc_40BED2: ; CODE XREF: sub_40BAF0+3D6j .text:0040BED2 mov edx, [ebp+var_494] .text:0040BED8 mov [ebp+var_224], edx .text:0040BEDE mov eax, [ebp+var_224] .text:0040BEE4 mov [ebp+var_18], eax .text:0040BEE7 mov ecx, [ebp+var_488] .text:0040BEED mov dword ptr [ecx+0ACh], 0 .text:0040BEF7 mov edx, [ebp+var_488] .text:0040BEFD mov dword ptr [edx+0BCh], 0 .text:0040BF07 mov eax, [ebp+var_488] .text:0040BF0D mov dword ptr [eax+0C4h], 0 .text:0040BF17 mov ecx, [ebp+var_488] .text:0040BF1D mov dword ptr [ecx+78h], 0 .text:0040BF24 mov edx, [ebp+var_488] .text:0040BF2A mov dword ptr [edx+2Ch], 0 .text:0040BF31 mov eax, [ebp+var_488] .text:0040BF37 mov dword ptr [eax+1Ch], 0 .text:0040BF3E mov ecx, [ebp+var_488] .text:0040BF44 mov dword ptr [ecx+8], 0 .text:0040BF4B mov ecx, offset dword_40BF7C .text:0040BF50 push ecx .text:0040BF51 push (offset loc_40BF58+1) .text:0040BF56 jmp ecx .text:0040BF56 sub_40BAF0 endp ![]() |
|
Создано: 01 января 2009 22:06 · Личное сообщение · #10 |
|
Создано: 02 января 2009 16:21 · Личное сообщение · #11 1. Попробуй запустить прогу в OllyDbg 2. открой View -> Memory Map 3. посмотри есть ли секции похожие на код (.text, .code, .exe или что-то типа того) 4. сделай этой секции правой кнопкой мыши Follow in disassembler 5. в открывшемся окне дизассемблера поставь BreakPoint -> Hardware on execution на первую строчку кода 6. дойдя до этой строчки код распакуется независимо от кол-ва и качества пакера 7. осталось только сдампить процесс с помощью плагина OllyDump ( www.openrce.org/downloads/details/108/OllyDump ) 8. либо же можно сдампить запущенный процесс LordPE, но придется править Entry Point и Import 9. Если вышесказанное не поможет, значит то что ты видишь совсем не мусор ![]() ![]() |
|
Создано: 06 января 2009 17:25 · Личное сообщение · #12 |
|
Создано: 09 января 2009 01:35 · Личное сообщение · #13 |
![]() |
eXeL@B —› Вопросы новичков —› Подскажите как двигаться дальше и убрать мусор |