一分不少,一寸不多!真正的逆向

本文详细解析了MrBills扫描器的注册过程,通过逆向工程手段定位并分析了关键的注册验证逻辑,包括字符串搜索、关键跳转点的识别、以及通过调试跟踪call指令序列来理解其注册验证算法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

MrBills(扫描器)
1.运行软件,因为没有注册功能不去,所以就到注册的地方
图片
搜索字符串--下断点
图片
分析,该字符串有上面有跳转jnz short MrBills.004C1370 (jnz跳转条件:ZF=0)这个跳转能跳过字符串,所以为关键跳转,做好注释和断点,
图片 继续分析跳转条件,pop push均不影响标志位,test al,al是与运算(同时为1才是1)因此可以知道当al为1时就跳转,[xor ebx,ebx为exb置零], 

继续分析,什么影响al的值?之前说过所有call的返回值都存在eax,所以上面的call MrBill.0040714C就也要进入观察,做好注释 
图片
在call下断点,运行--(在窗口进入注册)--进入call--继续
图片
先简单看看代码,有两个
call 00406FD1
test al,al

call 0040701D
test al,al
会影响al的值,即校检不只一个,因此两个都注释一下,

先不进入call,简单运行一下代码到base camp,观察eax变化,在
call 00406FD1
test al,al
之后eax为0

call 0040701D
test al,al
之后eax仍然为0 
图片

经过jmp MrBills.00407069后,eax变成了一个数,这就不关注册已否定关系,运行返回到BASE CAMP(下一条命令)
图片
重新运行,进入第二个call
图片

看到call MrBills.004860C8,思考,要不要进入这个call
图片
*可以通过回车来进入看这个call内容
图片
这个call对eax影响不大,继续往下看到

图片
mov bl,al
call...(运算)
mov...
mov al,bl

作用:
1.可能bl用来暂时保存al,call里会改变al判断是否已注册,在把bl值返回al
2.把值给bl,call会经过一定算法改变bl的值,再把值给回al
图片
因此在mov bl,al指令上面的call也需进入,可能会影响al的值,做好注释和断点,进入

继续F8,一边F8一边观察AL,bl的变化,发现这两条指令改变了bl,再往下还把值给了al,然后就返回到第二层(Base camp2)
 
图片

图片

图片

图片
而且观察下面的可进入2,发现和前面的可进入2是一样的算法,因此先改二,回到可进入2(Base Camp2)进入Base Camp2,回到刚刚改变bl的地方
图片

图片

图片
保存运行

图片

图片

图片
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值