160个CrackMe之003


新知识点:软件未注册或软件的试用版经常会弹出一些提示窗口要求注册,这些窗口被称为nag窗口。

概述

NAG窗口:在软件试用期过后,很可能屏蔽软件的正式窗口或某些具有重要功能的重要功能的窗口,从而使软件不能正常使用。NAG窗口可通过修改软件的窗体资源或者修改窗体所在代码来屏蔽窗体或强行跳过,使NAG窗口不再运行

三个学习的点:1、爆破 2、算法 3、取出NAG窗口

暴力破解

爆破的过程和之前的题是一样的,OD搜索字符串,然后找到关键跳转,nop掉它,保存成新文件即可。

算法的分析

开头下断位置:

在这里插入图片描述

第一部分,strlen(<注册名>) * 0x15B38 + ASCII(<注册名首字母>)

在这里插入图片描述

第二部分 转为整数,进行浮点数加减法,这里经过浮点数计算之后将之前的结果+2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-glRxegMu-1611198391171)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210120183239757.png)]

第三部分 对结果*3 然后 -2

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xbRcipcy-1611198391174)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210120183354751.png)]

第四部分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-3VCBFQak-1611198391177)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210120183524532.png)]

第五部分

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-HBgO2fqM-1611198391178)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210120183619974.png)]

`def key(name) :
    strlen = len(name)
    s = (strlen*0X15B38+ord(name[0])+2)*3-2+15
    print(s)
name = input("name")
key(name)

这样我们就成功搞定了注册码

去除NAG窗口

在我们双击打开程序后,会出现一个窗口,然后才会进入输入注册码的环节

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-OrkdeXgO-1611198391179)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210121104053984.png)]

在下载程序时,我们看到作者给出的信息是VB5,VB程序都有一个特点。

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lljkqgzg-1611198391180)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210121104046081.png)]

入口点处都是一个PUSH指令,然后一个CALL指令,看JMP 后面跟的MSVBVM50,应该是VB5.0编写的。(如果不是这种情况的话,那么该程序可能被加过壳)

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-g1i0hRlx-1611198391181)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210121104305822.png)]

PUSH将要压入堆栈的是004067D4,现在我们在数据窗口中定位到这个地址

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ADLmB9bI-1611198391182)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210121104724192.png)]

现在就要用至4C了,也就是从当前定位的地址往后偏移4C,数据窗口CRTL+G,输入4067d4+4c

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-ExV4hXqM-1611198391183)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210121105246464.png)]

数据窗口继续跟踪:00406820处的DWORD值,00406868,内容如下:

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-PnBkV3QW-1611198391184)(C:\Users\lenovo\AppData\Roaming\Typora\typora-user-images\image-20210121110123375.png)]

看到两块类似的数据,每块50(十六进制)个字节的长度,每块数据的第24(十六进制)个字节处都有一个标志(第一个是01,第二个是00)。该标志指定了每块代码(也就是程序启动后要加载的窗体)出现的顺序,先加载00,也就是我们要去的NAG窗口,再加载01,是主窗口。所以这里我们将各两个标志的值颠倒一下,01改00,00改01,二进制修改,保存文件,运行测试,NAG窗口去除了。

希望大家可以有所收获!

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

鹏华李

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值