首页
社区
课程
招聘
fly 大哥帮我看下这个程序
发表于: 2004-12-2 20:55 4408

fly 大哥帮我看下这个程序

2004-12-2 20:55
4408
用ACProtect 加的壳
本来以为自己已经脱掉了,我跳过iat加密
其中有两个特殊函数
77D36476
MessageBoxA

77D207EE
RegisterHotKey

如果将RegisterHotKey这个函数进入到正确地址,程序运行会出错

不知道因为什么?向你请教,耽误你的时间了。

[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

收藏
免费 1
支持
分享
最新回复 (6)
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
2
看看以前MessageBoxA如何处理的
2004-12-2 21:01
0
雪    币: 266
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
我的意思不是说运行到RegisterHotKey出错,而是程序运行一段时间后会出错

在不dump的情况下将RegisterHotKey解密,运行就会出现问题,但是不解密它却能正常运行.

类似这样的情况,可能问题会出现在哪里呢?
2004-12-3 12:26
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
4
找一下simonzh2000以前的中国象棋脱壳教程
2004-12-3 13:04
0
雪    币: 266
活跃值: (33)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
感谢fly斑竹的回复以及提示
我看了那篇文章,也看了下ACProtect的sdk
以前一直以为这个壳没什么难度(脱过几个比较顺利)
今天我又仔细看了下程序
在RegisterHotKey上下发现这两个语句
PUSHAD
POPAD
说明在这里还要解密,其实我dump的程序并不完整
而且下面还有一段未解密数据
我用Import修复的时候,这个函数一直指向自身,当时我还很纳闷,以为是Import出了问题
看来想真正脱要花些时间了。
2004-12-3 15:51
0
雪    币: 898
活跃值: (4039)
能力值: ( LV9,RANK:3410 )
在线值:
发帖
回帖
粉丝
6
ACProtect的代码变形是比较麻烦的
2004-12-3 16:02
0
雪    币: 266
活跃值: (33)
能力值: ( 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
2004-12-3 21:15
0
游客
登录 | 注册 方可回帖
返回
//