能力值:
( LV9,RANK:850 )
|
-
-
2 楼
我遇到过类似的``当然不一定是同样的校检
用OD载入``f9运行就马上终止主线程了`我的情况是这样!!
主要是比较文件大小``本程序比原来的程序大就证明壳被脱了``马上终止运行!!
你可以把原文件的大小(字节)换算成十六进制,在w32里找找看``
------------
如果f9运行不直接退出``而是在OD中停在一个地方的话!呵``一般上面是一个call``或者比较`
看着办吧
------------
还有`
你可以开两个OD,一个加载原程序,手动跑到oep处,再开另一个加载那个不能运行的程序
两个对比着f8一步步走``特别是跳转`两个跳转不一样的地方很可能就是导致程序终止的地方``改一下不同的地方吧!!
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
分析了一下,效验计算很多,没有结果
|
能力值:
( LV2,RANK:10 )
|
-
-
4 楼
SMC还比较实际 :)
|
能力值:
( LV9,RANK:530 )
|
-
-
5 楼
ep21.exe
// 取得文件实际长度
00409C39 8B43 38 mov eax, dword ptr [ebx+38]
00409C3C 8943 04 mov dword ptr [ebx+4], eax
...
0050E633 8BD8 mov ebx, eax
// 文件应该的长度
0050E635 B8 B0EC5000 mov eax, 0050ECB0 ; ASCII "470528"
0050E63A E8 DDB1EFFF call 0040981C
// **** 两个长度相减, call 00404D00中会用到 ***
0050E63F 2BD8 sub ebx, eax
0050E641 68 748E5100 push 00518E74
0050E646 B9 01000000 mov ecx, 1
0050E64B 8BD3 mov edx, ebx
0050E64D B8 C0EC5000 mov eax, 0050ECC0 ; ASCII "C38A21"
0050E652 E8 A966EFFF call 00404D00
p421.exe
// 取得文件实际长度
00409F1D |. 8B43 38 mov eax, dword ptr [ebx+38]
00409F20 |. 8943 04 mov dword ptr [ebx+4], eax
...
0050F1AE . 8BD8 mov ebx, eax
// 文件应该的长度
0050F1B0 . B8 68FA5000 mov eax, 0050FA68 ; ASCII "472576"
0050F1B5 . E8 22A9EFFF call 00409ADC
0050F1BA . 2BD8 sub ebx, eax
// **** 两个长度相减 ***
0050F1BC . 68 189F5100 push 00519F18
0050F1C1 . B9 01000000 mov ecx, 1
0050F1C6 . 8BD3 mov edx, ebx
0050F1C8 . B8 78FA5000 mov eax, 0050FA78 ; ASCII "C38A21"
0050F1CD . E8 B65DEFFF call 00404F88
|
|
|