注册 登录  
 加关注
   显示下一条  |  关闭
温馨提示!由于新浪微博认证机制调整,您的新浪微博帐号绑定已过期,请重新绑定!立即重新绑定新浪微博》  |  关闭

象征式

踢翻一切帝国主义狗逼

 
 
 

日志

 
 
 
 

STATEDEF溢出的“写法”  

2017-12-23 23:54:05|  分类: 关于凶恶 |  标签: |举报 |字号 订阅

  下载LOFTER 我的照片书  |
具体的“返回值”“收尾工作”以及“能写什么”我不管
我只管解释一个比较难理解的地方:
如何在溢出处写汇编——就是F2@后面的那一串
其中有一个概念需要先弄清楚:指定内存地址写汇编,在MUGEN内部是用%N一个数一个数去写的,那么S溢出呢?
一个道理。
比如我想在4B4000处写一个F7的值,那么就是mov [4b4000],f7,接着把这一段的16进制内存地址给写到F2@后面,当然因为是写在文本里面的,有些值MUGEN无法读取,所以还是请按照遥远教程里面的注意事项写
至于所谓避免双0的差值法,是这么写的,借用小唯的示例来讲一下:
mov [eax+4],33333333 ; BC38 目的是 K.O
sub [eax+4],33333332
这两段汇编的16进制地址写进F2@后面,【最终结果】
mov [eax+4],1
也就是说【上面的MOV后的地址减去写在后面的值,也就是33333333-33333332=00000001,这两段可以合为一段看】
注意:不是指汇编本身出现双0的情况,是16进制内存里面出现双0,这点不要搞错,也就是C7 50 00 00 04(瞎写的)这种情况才叫出现双0,不是汇编MOV [EAX+30],00000001这种双0
就是这样
  评论这张
 
阅读(23)| 评论(0)
推荐 转载

历史上的今天

在LOFTER的更多文章

评论

<#--最新日志,群博日志--> <#--推荐日志--> <#--引用记录--> <#--博主推荐--> <#--随机阅读--> <#--首页推荐--> <#--历史上的今天--> <#--被推荐日志--> <#--上一篇,下一篇--> <#-- 热度 --> <#-- 网易新闻广告 --> <#--右边模块结构--> <#--评论模块结构--> <#--引用模块结构--> <#--博主发起的投票-->
 
 
 
 
 
 
 
 
 
 
 
 
 
 

页脚

网易公司版权所有 ©1997-2018