微机原理 反汇编实例01、02

实例2 secret01.exe
在这里插入图片描述
第一个字符的ASCII码减一等于58,故该字符的ASCII码是59,该字符是Y;
第二个字符的ASCII码加一等于50,故该字符的ASCII码是4F,该字符是O;
第三个字符的ASCII码加一等于56,故该字符的ASCII码是55,该字符是U。

截图如下:
在这里插入图片描述

实例3 secret02.exe
在这里插入图片描述
或运算:有1则1,全0才0
与运算:有0则0,全1才1
第一个字符:在将其ASCII码减一,跟07做与运算,跟30做或运算之后,它的值跟36相等,即为00110110。于是倒回去,可知跟30做或运算的数可能是06、16、26、36;若是06,则跟07做与运算的数是06;不可能是16、26、36,因为07的二进制是00000111,前面4个都是0,07跟任何数做与运算的结果中的前4位都不可能有1存在。所以可确定跟07做与运算的数是06,故将其加一便得到了第一个字符——7。
第二个字符:在将其ASCII码跟07做与运算,跟30做或运算之后,它的值跟31相等,即为00110001。于是倒回去,可知跟30做或运算的数可能是01、11、21、31;若是01,则跟07做与运算的数是01;若是11,则跟07做与运算的数是09;其他的21、31不可能是跟07做与运算的数。所以第二个字符是——1或9。
第三个字符:在将其ASCII码加一,跟07做与运算,跟30做或运算之后,它的值跟35相等,即00110101。于是倒回去,可知跟30做或运算的数可能是05、15、25、35;可知跟07做与运算的数是05。所以得到第三个字符是——4。
故程序想让我们输入三个字符714。

截图如下:
在这里插入图片描述
在这里插入图片描述

总结:
给程序分段很重要,帮助我们理清思路。感觉上课做题的时候,脑子里一团浆糊,整个人都是懵的。我还是需要静下来才行,心里太焦躁了。一定要静下心才行。

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值