首页
社区
课程
招聘
[旧帖] [求助]修改汇编函数调用(读取不到数值) 0.00雪花
发表于: 2011-12-12 15:58 1753

[旧帖] [求助]修改汇编函数调用(读取不到数值) 0.00雪花

2011-12-12 15:58
1753
在a.exe里面加载了1.dll
1.dll中有一句call fun1,(fun1也是在1.dll里面的)
我要修改fun1的一些东西。。但是不能在1.dll里面修改。。
所以我复制了一个1.dll重命名为2.dll并注入加载到a.exe里面去
然后a.exe调用call fun1我修改为 call 2.dllfun1。
这个2.dllfun1是2.dll里的fun1的地址。。然后我修改了2.dll里面的fun1
结果运行时出错。错误是一些地址不可读取。。。。程序崩溃
我查看了是 cmp [edx+460],ecx
其中[edx+460]cannot be read
我想我是直接call 2.dllfun1的。只是借用了2.dll里的部分代码。
(而且2.dll和1.dll是一模一样的)那么各个寄存器的数值应该不会变。
应该还是能够正确运行的啊。。
难道这样一修改使得[edx+460]和原来不做修改的[edx+460]所指向的不是同一地址了么??
求解答,,求解决

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

收藏
免费 0
支持
分享
最新回复 (2)
雪    币: 458
活跃值: (421)
能力值: ( LV9,RANK:610 )
在线值:
发帖
回帖
粉丝
2
dll里面逻辑复杂吗? 有木有共享段之类的
有木有全局的一些内存啊 什么的

会不会是你给改错了。。。你可以先试着 直接改1.dll fun1看看会不会出问题。
2011-12-12 17:01
0
雪    币: 43
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
3
修改1.dll不会出错啊。。一添加dll再修改这个就出错了。。悲剧
2011-12-12 17:19
0
游客
登录 | 注册 方可回帖
返回
//