下载地址:http://free5.ys168.com/?lzmo123
名字:Dxpack 0.86加壳的记事本!
PEID查为 未知壳!
OD载入!
0040D000 > 60 PUSHAD ; 加载到这里!
0040D001 E8 00000000 CALL NOTEPAD.0040D006 ; 这个CALL很近F7步入。免费麻烦!
0040D006 5D POP EBP
0040D007 8BFD MOV EDI,EBP
0040D009 81ED 06104000 SUB EBP,NOTEPAD.00401006
0040D00F 2BBD 94124000 SUB EDI,DWORD PTR SS:[EBP+401294]
0040D015 81EF 06000000 SUB EDI,6
0040D01B 83BD 14134000 0>CMP DWORD PTR SS:[EBP+401314],1
0040D022 0F84 2F010000 JE NOTEPAD.0040D157 ; 一个大跳!有可能是循环的出口点!
经过几次的跟踪发现,这个跳就是跳出循环的路子。可以省很多麻烦!
第2次加载:
0040D000 > 60 PUSHAD ; 加载到这里!
0040D001 E8 00000000 CALL NOTEPAD.0040D006 ; 这个CALL很近F7步入。免费麻烦!
0040D006 5D POP EBP
0040D007 8BFD MOV EDI,EBP
0040D009 81ED 06104000 SUB EBP,NOTEPAD.00401006
0040D00F 2BBD 94124000 SUB EDI,DWORD PTR SS:[EBP+401294]
0040D015 81EF 06000000 SUB EDI,6
0040D01B 83BD 14134000 0>CMP DWORD PTR SS:[EBP+401314],1
0040D022 0F84 2F010000 JE NOTEPAD.0040D157 ; 在这个大跳这里回车!
0040D157 8B85 9C124000 MOV EAX,DWORD PTR SS:[EBP+40129C] ;一看就知道,到达目的地!F2下断,F9运行,在F2取消下断。接着F8单步向下走!
0040D15D 03C7 ADD EAX,EDI
0040D15F 894424 1C MOV DWORD PTR SS:[ESP+1C],EAX
0040D163 61 POPAD ;在明显不过的出口标志!
0040D164 FFE0 JMP EAX ;OEP的入口跳!
0040D166 4B DEC EBX
0040D167 45 INC EBP
0040D168 52 PUSH EDX
004010CC 55 PUSH EBP ;这就是记事本的OEP入口!
004010CD 8BEC MOV EBP,ESP
004010CF 83EC 44 SUB ESP,44
004010D2 56 PUSH ESI
004010D3 FF15 E4634000 CALL DWORD PTR DS:[4063E4] ; KERNEL32.GetCommandLineA
004010D9 8BF0 MOV ESI,EAX
004010DB 8A00 MOV AL,BYTE PTR DS:[EAX]
004010DD 3C 22 CMP AL,22
004010DF 75 1B JNZ SHORT NOTEPAD.004010FC
004010E1 56 PUSH ESI
004010E2 FF15 F4644000 CALL DWORD PTR DS:[4064F4] ; USER32.CharNextA
004010E8 8BF0 MOV ESI,EAX
004010EA 8A00 MOV AL,BYTE PTR DS:[EAX]
004010EC 84C0 TEST AL,AL
004010EE 74 04 JE SHORT NOTEPAD.004010F4
004010F0 3C 22 CMP AL,22
004010F2 ^ 75 ED JNZ SHORT NOTEPAD.004010E1
004010F4 803E 22 CMP BYTE PTR DS:[ESI],22
004010F7 75 15 JNZ SHORT NOTEPAD.0040110E
004010F9 46 INC ESI
004010FA EB 12 JMP SHORT NOTEPAD.0040110E
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)