首页
社区
课程
招聘
[求助]SMC破解DLL时基址的问题
发表于: 2009-4-18 16:34 7170

[求助]SMC破解DLL时基址的问题

2009-4-18 16:34
7170

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


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

收藏
免费 7
支持
分享
最新回复 (6)
雪    币: 229
活跃值: (70)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
call $+5
pop ebp
sub xxxxxx
2009-4-18 23:50
0
雪    币: 214
活跃值: (12)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
3
call $+5
是什么意思啊?OD识别不了..请高手解答下
怎么获取DLL基址呢?
2009-4-19 10:32
0
雪    币: 152
活跃值: (15)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
修复重定位,搜索下论坛,有个叫
RelocX的东西
2009-4-19 10:52
0
雪    币: 214
活跃值: (12)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
5
我没有脱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
2009-4-19 11:41
0
雪    币: 1450
活跃值: (35)
能力值: (RANK:680 )
在线值:
发帖
回帖
粉丝
6
以第一条指令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 //恢复现场.
2009-4-19 12:16
0
雪    币: 214
活跃值: (12)
能力值: ( LV3,RANK:20 )
在线值:
发帖
回帖
粉丝
7
研究了一下午,终于搞定了,谢谢帮助
2009-4-19 16:26
0
游客
登录 | 注册 方可回帖
返回
//