BUUCTF Crackme

本文记录了作者解决BUUCTF Crackme挑战的过程,涉及反调试技术,通过IDA分析,发现程序使用一个表与用户名进行混淆处理,再与密码运算。通过分析,找到关键点在于反调试的判断,通过修改跳转指令,获取正确密码。最后,作者提供了解题的Python代码,尽管疑惑为何使用调试路径,但强调理解题目逻辑的重要性。
摘要由CSDN通过智能技术生成

这道题麻烦了我几天,因为一个反调试的点没看到,所以一直没做出来,虽然原理还不懂,但可以先记下来,以后学多了再说
(这道题用户名已知)
ida分析,是一个建立了一个表然后与用户名进行错杂的变化,最后再用表里的值与密码进行一些运算得到结果,由此我们倒着看
在这里插入图片描述
最后一个函数是实现的目的,密码变成dbappsec
在这里插入图片描述
在这里插入图片描述
倒数第二个有点小坑,就是用户名与变化后的密码运算,这里是检测是否有调试,有的话就异或,没有的话就是和,所以会有两个结果,我们可以一个一个算
在这里插入图片描述
这一个就是最恶心的地方了,上下两个if都是反调试,把他们的jz jnz变成jmp就行,然后buffet_list表里面才是我们想要的值,这边我们可以在动调的时候吧表的8个值给确定出来,因为用户名已知,一定是不变的

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值