吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1904|回复: 2

求解,关于负数补码、原码之间的转换问题

[复制链接]
猫咪没有鱼 发表于 2021-1-8 22:51 | 显示全部楼层 |阅读模式

本站严厉禁止求脱求破行为(包含无自我分析直接求思路),如发现此类求助主题请点击“举报”,让我们共同维护优质的学习环境!


30HB
00EE3E50 55                   push        ebp  
00EE3E51 8B EC                mov         ebp,esp  
00EE3E53 81 EC D0 00 00 00    sub         esp,0D0h  
00EE3E59 53                   push        ebx  
00EE3E5A 56                   push        esi  
00EE3E5B 57                   push        edi  
00EE3E5C 8D BD 30 FF FF FF    lea         edi,[ebp+FFFFFF30h]  
00EE3E62 B9 34 00 00 00       mov         ecx,34h  
00EE3E67 B8 CC CC CC CC       mov         eax,0CCCCCCCCh  
00EE3E6C F3 AB                rep stos    dword ptr es:[edi]  



各位大神,是这样的,我main函数通过 sub         esp,0D0h 指令开辟了0D0h (208)个字节,然后当我看到lea         edi,[ebp+FFFFFF30h]指令中
的 FFFFFF30h 这样的负数时,想自己动手转换为0D0h。
但是我用 原码 = 补码取反 +1 算,得到的结果和 编译器算的不一样啊,明显我错了,但是我不清楚错在哪里,求助们救救孩子吧!!
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
RGO_小柒 发表于 2021-1-8 22:51 | 显示全部楼层

最佳答案本应属于楼主私有,因此限制查看

您还有0次查看次数,点此查看答案

点此购买查看次数
也可以兑换VIP特权或加入解密专家,每日可免费查看5次最佳答案!

吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| 猫咪没有鱼 发表于 2021-1-14 22:04 | 显示全部楼层

负数在计算机中使用补码的形式存储的,正数的原码、反码、补码都是一样的这是规定。
F         F           F           F        F        F       3       0   
二进制表示形式
1111  1111    1111      1111  1111  1111  0011   0000       补码除符号位,其余取反
1000   0000    0000     0000   0000  0000 1100   1111        加一
1000   0000    0000     0000   0000  0000 1101   0000   
  1101   0000   对应的十六进制就是     D0(十进制就是208),注意符号位,所以就是 -208
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表