首页
论坛
课程
招聘
[调试逆向] [求助]SMC破解DLL时基址的问题
2009-4-18 16:34 5560

[调试逆向] [求助]SMC破解DLL时基址的问题

2009-4-18 16:34
5560
我在用SMC破解一个DLL的时候再OD里破解成功了,可是保存后在OD也可以运行,但脱离OD后我运行他时基址变了,内存地址当然也跟着变了,所以又打不开了,有啥解决办法吗,大家告诉下。

[注意] 招人!base上海,课程运营、市场多个坑位等你投递!

收藏
点赞0
打赏
分享
最新回复 (6)
雪    币: 215
活跃值: 活跃值 (10)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
skyege 活跃值 2 2009-4-18 23:50
2
0
call $+5
pop ebp
sub xxxxxx
雪    币: 200
活跃值: 活跃值 (12)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
wqhlgr 活跃值 2009-4-19 10:32
3
0
call $+5
是什么意思啊?OD识别不了..请高手解答下
怎么获取DLL基址呢?
雪    币: 141
活跃值: 活跃值 (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
XSJS 活跃值 2009-4-19 10:52
4
0
修复重定位,搜索下论坛,有个叫
RelocX的东西
雪    币: 200
活跃值: 活跃值 (12)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
wqhlgr 活跃值 2009-4-19 11:41
5
0
我没有脱DLL得壳,用的SMC,不用重定位,我只想知道如何在OD中用指令获取基址的方法
我的SMC代码,谁能告诉下怎么改?
再OD中基址是910000,用这代码可以破解。而在不同的机子上基址也不同,所以内存地址也就跟着变了怎么办呢?
mov     dword ptr [B091EF], FFEA3ED0
jmp     009AD268
cmp     dword ptr [AFEA4E], 4A388647
je      short 009AD0D4
jmp     00B0607A
mov     dword ptr [AFEA4E], 4EAFBF11
jmp     00B0607A
nop
雪    币: 1225
活跃值: 活跃值 (27)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
jackozoo 活跃值 14 2009-4-19 12:16
6
0
以第一条指令mov     dword ptr [B091EF], FFEA3ED0为例:
改成这样:
push edx //保护一下
call $+2   //机器码为E8 00 就是call它下面的一条指令
pop edx  //把刚push进去的eip弹出至edx. edx存放该指令地址.
sub edx, [你调试时上条指令的地址]   //得到差值.

mov     dword ptr [B091EF+edx], FFEA3ED0 //加差值即为重定位后值.
pop  edx //恢复现场.
雪    币: 200
活跃值: 活跃值 (12)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
wqhlgr 活跃值 2009-4-19 16:26
7
0
研究了一下午,终于搞定了,谢谢帮助
游客
登录 | 注册 方可回帖
返回