破解figugegl.1.exe和figugegl.2.exe

1.运行程序,随便输入Name和Serial,点击Check,没有任何提示,程序界面如下:

2.打开OD,载入程序,查找字串,看到“Success”、“Congratulations - you did it!”这些字眼,双击。

3.继续往上浏览代码,如下图。这段代码中,两次调用GetDlgItemTextA,在调用处下断,第一次调用获取输入的Name,第二次调用获取输入的Serial。

 在此处下断点调试,发现401335处判断name的长度,应该不小于5

输入符合条件的name和serial进行调试,下图的代码实现循环取出Name和Serial的每个字节进行比较,满足以下条件即可通过校验:

Name的第一个字节=Serial的第一个字节-0

Name的第二个字节=Serial的第二个字节-1

Name的第三个字节=Serial的第三个字节-1

4.将此处代码je改成jmp,或者jmp short figugegl.0040137F,直接填充nop掉即可,目的都是不让程序跳转到0040137F

6.保存文件,并运行。

1.运行程序,随便输入Name和Serial,点击Check ,弹出对话框"Wrong Serial-try again"

2.使用OD搜索字符串功能,搜不到有用的字符串,字符串应该是被加密了,浏览代码,发现有两个地方调用了GetDlgItemTextA和GetDlgItemInt,在这两个地方下断。跟踪堆栈发现,调用GetDlgItemTextA获取输入的Name,调用GetDlgItemInt获取Serial。

eax中保存了用户输入的Serial,esi中保存了程序根据Name计算出的Serial,两者相等即通过验证。此处是爆破的关键,把jnz short figugegl.00401434这一句nop掉或者改为jz short figugegl.00401434。

 6.保存文件,并运行。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值