首页
社区
课程
招聘
[原创]寄存器写入0,正确姿势废除一个函数xor eax, eax ret
发表于: 2020-4-2 11:04 2720

[原创]寄存器写入0,正确姿势废除一个函数xor eax, eax ret

2020-4-2 11:04
2720
010D3480 - 55                         - push ebp
010D3481 - 8B EC                      - mov ebp,esp
010D3483 - 53                         - push ebx
010D3484 - 8B 5D 08                   - mov ebx,[ebp+08]
010D3487 - 56                         - push esi
010D3488 - 8B F1                      - mov esi,ecx
010D348A - 8B 4D 0C                   - mov ecx,[ebp+0C]
010D348D - 57                         - push edi
010D34D1 - C6 04 02  00               - mov byte ptr [edx+eax],00
010D34D5 - E8 F6FEFFFF                - call 010D33D0
010D34DA - 5F                         - pop edi
010D34DB - 8B C6                      - mov eax,esi
010D34DD - 5E                         - pop esi
010D34DE - 5B                         - pop ebx
010D34DF - 5D                         - pop ebp
010D34E0 - C2 0C00                    - ret 000C


如上函数 如何废除,我之前的做法事 直接在函数头 写入  ret 0xc 
但是现在 比较稳妥的方法 就是写入如下
 xor eax, eax     
 ret 0xc 
以上写法是比较严谨的,因为函数的返回值一般在EAX里面,既然要彻底废除函数,就要把返回值也清零。谢谢收看,再见。

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

最后于 2020-4-2 11:05 被TX杀手编辑 ,原因:
收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 2575
活跃值: (502)
能力值: ( LV6,RANK:85 )
在线值:
发帖
回帖
粉丝
2
这个要看具体函数返回值了,改成返回你需要的值最妥。
2020-4-2 14:12
0
雪    币: 9934
活跃值: (2554)
能力值: ( LV6,RANK:87 )
在线值:
发帖
回帖
粉丝
3
edx呢
2020-4-2 14:29
0
雪    币: 19
活跃值: (205)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
2020-4-2 17:52
0
游客
登录 | 注册 方可回帖
返回