攻防世界逆向刷题笔记(新手模式9-21)

bad_python

看样子是pyc文件损坏了。利用工具打开,发现是MAGIC坏了。搜下也没有头绪。

攻防世界-难度1- bad_python - _rainyday - 博客园

python Magic Number对照表以及pyc修复方法 - iPlayForSG - 博客园

看WP才知道36已经提示了pyc版本了。参考第二个文章,除了魔法数字还有8字节的额外信息。

但是我填充之后还是bad magic,再看看WP咋说的。原来代表文件大小的地方还不能为0.也就是第12个字节。

我们只需要修复一下就可以了。 妈的,用FF也不行,看来必须中规中矩才行。用E5成功了。、

 识别出是XTEA加密,写出解密即可。后期我这又出问题了,这一步就不搞了吧

ereere

左边没有main了,依据start必定会出现main函数,一个个点找到了疑似main的函数。

base64换表+RC4。思路同攻防世界RE_ereere_攻防世界ereere-CSDN博客

用cyberchef解决的

easyEZbaby_app

定位到关键代码。主要看checkpass和checkUsername函数

首先是username,密码是zhishixuebao的MD5,以2为步长取。结果是:7afc4fcefc616ebd

pass则是如下。长度显然是15位,注意算法要求是char数组=0,说明赋值等式右边值是0(也就是48)。写出Python代码即可。

a=''
for i in range(15):
   a+=chr(((255 - i) + 2) - 98-48)
print(a)

toddler_regs 

导入pdb文件,放进IDA分析。

持续跟踪,首先看到stage1,要求参数必须是要求的值,只能动调修改这个参数。

但是看起来没啥用啊,看看stage2.

发现stage1的用处了,他会把黄框部分设置为23.我们直接找到这个对应的值即可。注意team是个字符串数组,我们导出来看看,直接在C里面运行吧。

第一个team输出了:0Int

第二个代码和上面一样,结果是:nTJnU

组合起来就是flag{0Int_1s_n1c3_but_nTJnU_is_we1rd}

上面显然是错误的,可能会遇到这个地方刚好是\0直接截断。保险的做法是先定义好数组大小(如char[512][10],再直接去掉&运行即可)

exp:

也可以动调做,我电脑不知为何运行不起来这个软件,只能静态分析了。

easyre-xctf

看题目简介估计有壳。是UPX原版壳,官方工具就可以脱壳了。

但并没有明显的算法,只在字符部分看到了疑似flag的后半段。双击这里有一个符号名part2。

动调看看有没有提示,拿拿数据。

在内存发现了疑似的部分

根据其地址定位到函数,这就是第一个flag。函数名字有个part1,对应着part2.两个16进制转换为字符后就是part1.

七分靠猜,这里有运气成分,正常来说估计得搜part1了。

CatFly

CatFly【汇编代码还原】 - yuanyy720 - 博客园

看主函数很复杂。慢慢来看吧。

运行出来是个这,输入的东西会在左下角显示。那么main函数有的部分就可以不看了。

<
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值