160个CrackME_001_Acid_burn

1.暴力破解
1.使用PE工具查看有无壳,发现无壳
在这里插入图片描述
2.使用OD,由于是无壳程序,查看字符串,发现可用点
在这里插入图片描述
3.点击字符串按回车进入反汇编,发现存在跳转:jnz是结果不为0(或不相等则转移),可以推测这里在这个跳转之前有一个判断,是我们输入的结果如果是不正确,程序就会跳到失败的那一部分,由于这里是爆破,将jnz使用NOP填充,程序就只会弹出成功的窗口
在这里插入图片描述
在这里插入图片描述
4.这个程序有两个弹窗,都可以用同样的方法爆破。
5.回过头破解弹窗,同样查看字符串,看有没有利用点
在这里插入图片描述
6.发现没有利用点,那么在字符串的反汇编窗口设置断点,将程序运行到断点,然后单步调试,如果弹窗弹窗弹出,就需要一步步跟进
在这里插入图片描述
7.跟进了N步没有发现,使用查找API的方法,由于弹窗一般是使用的messagebox这个api,那么可以通过查找这个api定位弹窗。在命令窗口输入bpx messageboxA找到api将其断点,然后将程序执行,跑到断点的位置。这里需要注意,可能会中断多个messagebox函数,因为这个程序的主题就是一个窗口,因为一开始弹窗最先加载,那么第一个massagebox很可能就是我们需要找的弹窗,当然,这个需要我们去验证
在这里插入图片描述
8.运行发现右下角窗口有出现弹窗的字符串,发现有四个数值,对比反汇编窗口中,在messageboxA的CALL上面有四个push,这里是将这四个数值压入栈中,然后由CALL调用,那么可以推测这个call就是调用弹窗的,我们将四个push和call执行nop,就可以跳过开始的弹窗了。
在这里插入图片描述
9.到此为止,这个程序中所有内容爆破完毕。

2.逆向分析
1.Serial部分
通过字符串查找,发现爆破点的jnz上面有一个call,猜测可能是返回的数值,由返回的数值决定我们输入的正确与否,可以尝试在call下断点,然后运行程序,输入任意假码
在这里插入图片描述
运行程序发现程序还没有返回结果,而且程序是断在了jnz上面的call,那么我们设置的断点很可能是正确的,此时还可以关注寄存器窗口,接下来F7进入call查看
在这里插入图片描述
进入call后发现,函数首先压入三个寄存器中的数值,其中就有我们输入的假码,而且在下面就有一个cmp的比较命令,之后就是一个je(相等就跳转)的比较,点击je发现,如果je实现跳转,那么会调到三个pop,然后retn,也就是说,在这个call的一开始就进行了比较。通过查看寄存器发现,我们输入的假码是与Hello Dude!比较的,也就是说,这个就是我们要找的真码。
在这里插入图片描述
尝试验证:发现结论是正确的
在这里插入图片描述
2.Serial/name部分
1.先和上面一样使用同样的方法断点,尝试运行,发现程序没有停下来,二十直接判断我们错误,那么这个部分的判断可能是在别的地方,我们需要在jnz处向上查找,发现到达0042FA52时有一个比较是用户名与4相比,也就是用户名是要大于或等于4,不然会直接跳出错误窗口
在这里插入图片描述
接来下可以和serial部分一样,在爆破点上的call下断点,查看真码
在这里插入图片描述
输入不同的用户名,发现用户名不同,真码中间的数字会改变,接下来分析数值是怎么得来的

0042FA87    8B45 F0         mov eax,dword ptr ss:[ebp-10]	;eax的地址
0042FA8A    0FB600          movzx eax,byte ptr ds:[eax]	;第一个字节1=0x31
0042FA8D    F72D 50174300   imul dword ptr ds:[431750]	*0x29
0042FA93    A3 50174300     mov dword ptr ds:[431750],eax	Eax=0x31*0x29=0x7d9
0042FA98    A1 50174300     mov eax,dword ptr ds:[431750]	 
0042FA9D    0105 50174300   add dword ptr ds:[431750],eax	Eax+eax
0042FAA3    8D45 FC         lea eax,dword ptr ss:[ebp-4]	 

第一个字符对应的16进制数字乘0x29在自增一次

Python网络爬虫与推荐算法新闻推荐平台:网络爬虫:通过Python实现新浪新闻的爬取,可爬取新闻页面上的标题、文本、图片、视频链接(保留排版) 推荐算法:权重衰减+标签推荐+区域推荐+热点推荐.zip项目工程资源经过严格测试可直接运行成功且功能正常的情况才上传,可轻松复刻,拿到资料包后可轻松复现出一样的项目,本人系统开发经验充足(全领域),有任何使用问题欢迎随时与我联系,我会及时为您解惑,提供帮助。 【资源内容】:包含完整源码+工程文件+说明(如有)等。答辩评审平均分达到96分,放心下载使用!可轻松复现,设计报告也可借鉴此项目,该资源内项目代码都经过测试运行成功,功能ok的情况下才上传的。 【提供帮助】:有任何使用问题欢迎随时与我联系,我会及时解答解惑,提供帮助 【附带帮助】:若还需要相关开发工具、学习资料等,我会提供帮助,提供资料,鼓励学习进步 【项目价值】:可用在相关项目设计中,皆可应用在项目、毕业设计、课程设计、期末/期中/大作业、工程实训、大创等学科竞赛比赛、初期项目立项、学习/练手等方面,可借鉴此优质项目实现复刻,设计报告也可借鉴此项目,也可基于此项目来扩展开发出更多功能 下载后请首先打开README文件(如有),项目工程可直接复现复刻,如果基础还行,也可在此程序基础上进行修改,以实现其它功能。供开源学习/技术交流/学习参考,勿用于商业用途。质量优质,放心下载使用。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值