【逆向入门】 CrackMe160-003 分析思路

本文详细解析了CrackMe160-003的爆破思路,重点介绍了浮点数序列的生成过程,包括汇编指令如fld、fdiv在浮点数运算中的应用。同时,讲解了去除NAG的方法,通过改变程序入口点附近的字节顺序来调整程序执行顺序,从而消除启动时的NAG窗口。整个过程结合实例进行说明,帮助读者理解逆向工程的基本技巧。

CrackMe160-003

爆破思路

输入字符会报错哦,并不是电脑环境的问题

同001、002,这里不做介绍

序列生成

因为是第一次遇到浮点数相关的,以前对这些知识的了解比较少,所以在流程中会夹杂一些基础知识

img

基本思路002也讲过了,都是首先找到输入的Name产生的最终Serial,然后一步步分析是怎么产生的就可以了

这里我输入的是1111,而最终产生的可以通过一步步执行得到是1066822,下面介绍是如何得到的

img

这里还是和002一样,首先获取长度,然后长度*15B38,再加上首字母的ANSI值,最后转换成十进制355601

然后这里就涉及到浮点了,首先有个概念,在汇编指令中和浮点有关的指令基本上都是f开头,像这里fld、fdiv之类的

img

最基本的几个浮点指令fld(入栈)、fstp(出栈),类似于push、pop

不过呢,这个入的栈可不是ss

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值