菜鸟起步2-逆向分析学习

crackme0x02-crackme0x06分析

分析工具:radare2,IDA

  • Crackme0x02分析

1.运行文件,依旧是输入密码

 

2.查看一下汇编代码

 

可以看出该函数主要部分实现的是:

(1)使用 scanf 函数读取一个整数值并存储在 var_4 变量中,该整数值是用户输入的密码。

(2)将常量值 5AH存储在 var_8 变量中,并将常量值 0x1EC 存储在 var_C 变量中。

(3)将 var_C 变量的值加载到 edx 寄存器中,然后将 var_8 的地址加载到 eax 寄存器中,将 var_C 的值加到 var_8 指向的内存地址上。

(4)将 var_8 的值加载到 eax 寄存器中,然后将其乘以自身的值,并将结果存储在 var_C 变量中,此时 var_C 中存储的是一个计算后的值。

(5)将 var_4 变量的值加载到 eax 寄存器中,然后将其与 var_C 变量的值进行比较。如果它们不相等,则跳转到 loc_8048461 标签指示的代码块,否则继续执行后续代码。

3.经过以上分析,可以计算出密码就是(90+492)^2=338724,运行程序进行验证

 4.也可以利用IDA的反汇编插件进行分析,可直接看到密码为338724

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值