微机原理 反汇编实例5

实例6 secret5.exe
在这里插入图片描述
在这里插入图片描述
将DI中存储的字符(y)赋值给AL,再加一(得到z),与07(二进制是00000111)做与运算,与30(二进制是00110000)做或运算。
解密过程如下:
z(7A,二进制是01111010),跟07做与运算的结果是00000010(02);
将该结果跟30做或运算,结果为00110010(32)。——‘2’
p(70,二进制是01110000),跟07做与运算的结果是00000000(00);
将该结果跟30做或运算,结果为00110000(30)。——‘0’
v(76,二进制是01110110),跟07做与运算的结果是00000110(06);
将该结果跟30做或运算,结果为00110110(36)。——‘6’
!(21,二进制是00100001),跟07做与运算的结果是00000001(01);
将该结果跟30做或运算,结果为00110001(31)。——‘1’
b(01100010),结果(02),结果为(32)。——‘2’
s(01110011),结果(03),结果为(33)。——‘3’
f(01100110),结果(06),结果为(36)。——‘6’
!(00100001),结果(01),结果为(31)。——‘1’
x(01111000),结果(07),结果为(37)。——‘7’

因为最多只能输入10个字符(包括回车),所以只需解密9个字符。答案输入8个或9个都可以。
答案就是206123617。
截图如下:
在这里插入图片描述在这里插入图片描述
在这里插入图片描述在这里插入图片描述
总结:
与运算找小的,共同包含的;或运算找大的,合在一起的。
代码中的常数都是十六进制表示的。解密出来的数是十六进制表示的ASCII码值,所以要转化为相应的字符。

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值