首页
社区
课程
招聘
[求助]运行时机器码改变的问题
发表于: 2011-10-29 21:47 3929

[求助]运行时机器码改变的问题

2011-10-29 21:47
3929
启动调试前(IDA 中调试)
.text:02001D5C FF 15 0C 40 06 02       call    ds:CreateFileA
启动调试后
.text:03A21D5C FF 15 0C 40 A8 03       call    ds:CreateFileA

这个call的机器码会在调试时改变
而且更奇怪的是如果我人为的加入一条和调试前同样的call语句(FF 15 0C 40 06 02)
则启动调试后这条我加入语句的机器码却不发生任何改变

也就是说:如果是dll文件自身的call或者push语句,则运行时机器码会发生改变
如果是人为加入或者替换的call或者push,则运行时机器码不会发生改变
这样就无法call到dll中的导入函数

请教高手赐教,谢谢

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

上传的附件:
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 260
活跃值: (47)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
FF 15 0C 40 06 02 = CALL DWORD PTR DS:[206400C]
206400C处内存存放CreateFileA的地址,206400C应该是堆中的内存,变化才叫正常,哈哈!
2011-11-1 09:20
0
游客
登录 | 注册 方可回帖
返回
//