逆向writeup-网络安全.docxVIP

  • 6
  • 0
  • 约小于1千字
  • 约 2页
  • 2020-08-18 发布于辽宁
  • 举报
逆向: 第一题: 双击运行后要求输入两个数进行判断,若输入的两个数字都与随机生成的数字相同,则弹出flag。 至于破解方法可以考虑用两种方法: 方法一:OD修改跳转的方向使其跳转到正确的方向。 搜索字符串,点击提示输入的字符串 找到关键的跳转(有两处),下断点跑起来。 到断点的时候通过修改寄存器z标志位,使其不跳转。完成两次判断后就可以弹出flag。 方法二:读汇编代码寻找随机数生成后在内存/寄存器中的位置,然后读取后输入程序中。 查看汇编代码,在cmp eax,[local.3] 判断是否输入正确,然后跳转 Eax寄存器通常用来放函数的返回值,所以,eax里保存着输入函数执行后的返回值,也就是输入的数值。[local.3]里保存着正确的数字。修改[local.3]的指令在0xc01b6处,所以在这里下断点,程序执行到这里时看edx。并用计算器算出edx中数值16进制转十进制后的数据,这就是这一次生成的数字。也可以在要求输入时,查看[local.3]地址的数据,再计算出。第二个数字采用相同的方法获得后输入。继续运行即可获得flag。 第二题: 配置好Java环境。 准备好dex2jar工具 执行dex2jar的脚本,第一个参数写dex文件名,也就是Hello.dex 会生成一个jar文件,jar文件其实是zip压缩包,解压后就可以看到Hello.class .class 是Java

文档评论(0)

1亿VIP精品文档

相关文档