能力值:
( LV9,RANK:3410 )
|
-
-
2 楼
看看以前MessageBoxA如何处理的
|
能力值:
( LV2,RANK:10 )
|
-
-
3 楼
我的意思不是说运行到RegisterHotKey出错,而是程序运行一段时间后会出错
在不dump的情况下将RegisterHotKey解密,运行就会出现问题,但是不解密它却能正常运行.
类似这样的情况,可能问题会出现在哪里呢?
|
能力值:
( LV9,RANK:3410 )
|
-
-
4 楼
找一下simonzh2000以前的中国象棋脱壳教程
|
能力值:
( LV2,RANK:10 )
|
-
-
5 楼
感谢fly斑竹的回复以及提示
我看了那篇文章,也看了下ACProtect的sdk
以前一直以为这个壳没什么难度(脱过几个比较顺利)
今天我又仔细看了下程序
在RegisterHotKey上下发现这两个语句
PUSHAD
POPAD
说明在这里还要解密,其实我dump的程序并不完整
而且下面还有一段未解密数据
我用Import修复的时候,这个函数一直指向自身,当时我还很纳闷,以为是Import出了问题
看来想真正脱要花些时间了。
|
能力值:
( LV9,RANK:3410 )
|
-
-
6 楼
ACProtect的代码变形是比较麻烦的
|
能力值:
( LV2,RANK:10 )
|
-
-
7 楼
现在唯一感觉就是这个壳太可怕了,虽然基本搞清楚了变形代码,程序基本修复,以后不知道它变态到什么程度。
原来RegisterHotKey这个函数是壳自己的,看了那篇文章后就有些怀疑它是否真的“存在”
还不知道我见到的这个是那个版本的
00584000 > 60 PUSHAD
00584001 50 PUSH EAX
00584002 E8 01000000 CALL xy2.00584008
00584007 - 7C 83 JL SHORT xy2.00583F8C
00584009 C40458 LES EAX,FWORD PTR DS:[EAX+EBX*2] ; 修正的段位寄存器
0058400C FC CLD
0058400D 66:33EE XOR BP,SI
00584010 E8 01000000 CALL xy2.00584016
00584015 - E9 83042406 JMP 067C449D
0058401A C3 RETN
0058401B 42 INC EDX
0058401C E8 01000000 CALL xy2.00584022
00584021 - EB 83 JMP SHORT xy2.00583FA6
00584023 04 24 ADD AL,24
00584025 06 PUSH ES
00584026 C3 RETN
00584027 0F84 03000000 JE xy2.00584030
0058402D C1ED D8 SHR EBP,0D8 ; 移动常数超出 1..31 的范围
00584030 E8 01000000 CALL xy2.00584036
00584035 - 7D 83 JGE SHORT xy2.00583FBA
00584037 C40473 LES EAX,FWORD PTR DS:[EBX+ESI*2] ; 修正的段位寄存器
0058403A 0366 23 ADD ESP,DWORD PTR DS:[ESI+23]
0058403D ^ EB E8 JMP SHORT xy2.00584027
0058403F 0100 ADD DWORD PTR DS:[EAX],EAX
00584041 0000 ADD BYTE PTR DS:[EAX],AL
00584043 - 78 83 JS SHORT xy2.00583FC8
00584045 C404D3 LES EAX,FWORD PTR DS:[EBX+EDX*8] ; 修正的段位寄存器
00584048 D5 E8 AAD 0E8
0058404A 0100 ADD DWORD PTR DS:[EAX],EAX
|
|
|