能力值:
( LV6,RANK:90 )
|
-
-
2 楼
自校验
不是脱壳的问题
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
有没有办法搞定它
|
能力值:
( LV5,RANK:60 )
|
-
-
4 楼
调试,找到自校验的地方,跳过就可以了。
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
你是不是没有修复IAT啊?
|
能力值:
( LV9,RANK:140 )
|
-
-
6 楼
有自校验啊。。。
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
这个不是脱壳的问题,是程序里面加了自校验。这个是UPX的一个壳,可以直接用upx -d直接脱掉。
这个自校验可以去掉。我用OD设置断点bp MessageBoxA。然后看调用堆栈的最高层,找到下面的一段代码。注意下面红色的代码:
004017BD FFD0 CALL EAX
把它NOP掉就可以了。你可以试试。
....
00401749 . 51 PUSH ECX ; |hWnd
0040174A . FFD6 CALL ESI ; \SendMessageA
0040174C . A1 B4834000 MOV EAX,DWORD PTR DS:[4083B4]
00401751 . 8B15 B0834000 MOV EDX,DWORD PTR DS:[4083B0]
00401757 . 8B0D B8834000 MOV ECX,DWORD PTR DS:[4083B8]
0040175D . 8945 B0 MOV DWORD PTR SS:[EBP-50],EAX
00401760 . 8955 AC MOV DWORD PTR SS:[EBP-54],EDX
00401763 . 8A15 BC834000 MOV DL,BYTE PTR DS:[4083BC]
00401769 . 8D45 AC LEA EAX,DWORD PTR SS:[EBP-54]
0040176C . 894D B4 MOV DWORD PTR SS:[EBP-4C],ECX
0040176F . 50 PUSH EAX ; /FileName
00401770 . 8855 B8 MOV BYTE PTR SS:[EBP-48],DL ; |
00401773 . FF15 10604000 CALL DWORD PTR DS:[<&KERNEL32.LoadLibrar>; \LoadLibraryA
00401779 . 66:8B0D AC834>MOV CX,WORD PTR DS:[4083AC]
00401780 . 8A15 AE834000 MOV DL,BYTE PTR DS:[4083AE]
00401786 . 8B35 70604000 MOV ESI,DWORD PTR DS:[<&KERNEL32.GetProc>; kernel32.GetProcAddress
0040178C . 66:894D D0 MOV WORD PTR SS:[EBP-30],CX
00401790 . 66:8B0D A8834>MOV CX,WORD PTR DS:[4083A8]
00401797 . 8855 D2 MOV BYTE PTR SS:[EBP-2E],DL
0040179A . 8A15 AA834000 MOV DL,BYTE PTR DS:[4083AA]
004017A0 . 66:894D D8 MOV WORD PTR SS:[EBP-28],CX
004017A4 . 8D4D D0 LEA ECX,DWORD PTR SS:[EBP-30]
004017A7 . A3 DC864000 MOV DWORD PTR DS:[4086DC],EAX
004017AC . 51 PUSH ECX ; /ProcNameOrOrdinal
004017AD . 50 PUSH EAX ; |hModule
004017AE . 8855 DA MOV BYTE PTR SS:[EBP-26],DL ; |
004017B1 . FFD6 CALL ESI ; \GetProcAddress
004017B3 . 68 38564C05 PUSH 54C5638
004017B8 . A3 B8864000 MOV DWORD PTR DS:[4086B8],EAX
[B][COLOR="Red"]004017BD FFD0 CALL EAX[/COLOR][/B]
004017BF . A1 DC864000 MOV EAX,DWORD PTR DS:[4086DC]
004017C4 . 83C4 04 ADD ESP,4
004017C7 . 8D55 D8 LEA EDX,DWORD PTR SS:[EBP-28]
004017CA . 52 PUSH EDX
004017CB . 50 PUSH EAX
004017CC . FFD6 CALL ESI
004017CE . 8B0D 9C834000 MOV ECX,DWORD PTR DS:[40839C]
004017D4 . 8B15 A0834000 MOV EDX,DWORD PTR DS:[4083A0]
004017DA . A3 B4864000 MOV DWORD PTR DS:[4086B4],EAX
004017DF . A0 A4834000 MOV AL,BYTE PTR DS:[4083A4]
004017E4 . 6A 20 PUSH 20
004017E6 . 894D C0 MOV DWORD PTR SS:[EBP-40],ECX
004017E9 . 8955 C4 MOV DWORD PTR SS:[EBP-3C],EDX
004017EC . 8845 C8 MOV BYTE PTR SS:[EBP-38],AL
004017EF . E8 70320000 CALL <JMP.&MFC42.#823_??2@YAPAXI@Z>
004017F4 . 8D4D C0 LEA ECX,DWORD PTR SS:[EBP-40]
...
|
|
|