能力值:
( LV2,RANK:10 )
|
-
-
2 楼
IDA是什么呀?
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
各有各的好处 但不冲突的 静态分析 逆向的话可以使用IDA 动态调试当然还是OD好
|
能力值:
( LV9,RANK:370 )
|
-
-
4 楼
1,用PEID扫描,发现是UPX。
2,用OD打开,发现不是UPX。
好了,不管他是什么壳了,老规矩,假设是vc,
bp GetVersion, 然后F9直接跑。
断下来之后, 搜索 push 00400000,
马上发现了:
.text:006C26F4 loc_6C26F4: ; CODE XREF: start+102j
.text:006C26F4 push 0Ah
.text:006C26F6 pop ecx
.text:006C26F7
.text:006C26F7 loc_6C26F7: ; CODE XREF: start+108j
.text:006C26F7 push ecx
.text:006C26F8 push eax
.text:006C26F9 push esi
.text:006C26FA push 400000h
.text:006C26FF call sub_6E3CC2 ,,,,这里必然是WinMain.
3,然后顺这往上找:马上发现了OEP。,然后直接Dump
006C25EA . 6A 58 push 58 ; OEP
006C25EC . 68 00817B00 push 007B8100
006C25F1 . E8 EA6F0000 call 006C95E0
006C25F6 . 8D45 98 lea eax, dword ptr [ebp-68]
006C25F9 . 50 push eax
006C25FA . E8 359B6300 call 00CFC134
006C25FF . 51 push ecx
006C2600 . 33F6 xor esi, esi
006C2602 . 3935 C8828200 cmp dword ptr [8282C8], esi
006C2608 . 75 0B jnz short 006C2615
006C260A . 56 push esi
006C260B . 56 push esi
006C260C . 6A 01 push 1
006C260E . 56 push esi
006C260F . 53 push ebx
006C2610 . E8 CDDF6500 call 00D205E2
006C2615 > B8 4D5A0000 mov eax, 5A4D
006C261A . 66:3905 00004>cmp word ptr [400000], ax
006C2621 . 74 05 je short 006C2628
006C2623 > 8975 E4 mov dword ptr [ebp-1C], esi
006C2626 . EB 36 jmp short 006C265E
006C2628 > A1 3C004000 mov eax, dword ptr [40003C]
006C262D . 81B8 00004000>cmp dword ptr [eax+400000], 4550
4,下bp MessageBoxA, 找到了登录验证 那个button click事件。
.text:00461241 loc_461241: ; CODE XREF: .text:00461227j
.text:00461241 lea edi, [esp+14h]
.text:00461245 mov ecx, offset aLogindlg_butto ; "LoginDlg_Button_Login"
.text:0046124A call sub_410CC0
.text:0046124F test al, al
.text:00461251 jz short loc_461263
.text:00461253 mov ecx, [esp+14h]
.text:00461257 push ecx
.text:00461258 lea ecx, [ebx+21Ch]
.text:0046125E call sub_5AB279
.text:00461263
.text:00461263 loc_461263: ; CODE XREF: .text:00461251j
.text:00461263 lea edi, [esp+14h]
.text:00461267 mov ecx, offset aLogindlg_but_0 ; "LoginDlg_Button_Exit"
.text:0046126C call sub_410CC0
5,最后,加密在下面的附近,,自己琢磨一下吧。
.text:0043CF2B mov [esp+1Ch], edi
.text:0043CF2F call sub_6C3F74
.text:0043CF34 mov esi, eax
.text:0043CF36 add esp, 4
.text:0043CF39 mov [esp+2Ch], esi
.text:0043CF3D cmp esi, edi
.text:0043CF3F jnz short loc_43CF5C
.text:0043CF41 push offset aEncoder_interf ; "Encoder_Interface_init: can not malloc "...
.text:0043CF46 call sub_6C5D7D
.text:0043CF4B add eax, 40h
.text:0043CF4E push eax
.text:0043CF4F call sub_6C5C71
.text:0043CF54 add esp, 8
|