深育杯
Lithops
无壳 32位 ida32打开
从输入到 check 有很多函数
莽一点 从check函数下断点 步入进去看看试试
输入任意长的flag之后进入 check 函数
再直接从 return 处下断点 f9 运行
双击进入 dword_813C60 查看 发现两处引用
且有一处引用是在我们的 check 函数
点击追踪过去
之后我们程序运行到此处时
发现 push ecx 中的 ecx 里面存放的值是我们的输入
而继续运行下去
push edx 中的 edx 值为
取出查看
0xE4, 0xB8, 0x8D, 0xE5, 0x81, 0x9A, 0xE4, 0xBC, 0x9F, 0xE5, 0xA4, 0xA7, 0xE6, 0x97, 0xB6, 0xE4, 0xBB, 0xA3, 0xE7, 0x9A, 0x84, 0xE6, 0x97, 0x81, 0xE8, 0xA7, 0x82, 0xE8, 0x80, 0x85
自己没有发现这是 UTF-8 编码方式
(赛后wp里面写明 此程序在加密过程中调用了 UTF-8 编码)
放上一点知识:
最后找个网站解码即可
flag{不做伟大时代的旁观者}
press
查壳 无壳 ida64打开
最后main函数输出out文件 内容
60 E1 2F 05 79 80 5E E1 C5 57 8B CC 5C 9A 67 26 1E 19 AF 93 3F 09 E2 97 99 7B 86 C1 25 87 D6 0C DD CF 2A F5 65 0E 73 59 1D 5F A4 F4 65 68 D1 3D D2 98 5D FE 5B EF 5B CC
查看关键函数1
++++++++++[->++++++++++++++++<],[->-<]>>[-]+++++<*++.<
查看关键函数2
说明了每个字符的操作 类似小型虚拟机 和真brainfuck加密不同
所以只能一步一步读取
贴一个师傅转成的代码
这里对指令的解读是难点 有点恶心人
1 |
|
解密时需要注意溢出
脚本:
1 |
|
ZmxhZ3tkZTBiZDY3ZS02ZDI1LTg3ZDctMTg3Ni1hZDEzMWE2MTY1Y2J9
base64解码即可
flag{de0bd67e-6d25-87d7-1876-ad131a6165cb}
xor_exercise
default去除之后会有残留
类似这种永真永假的语句
官方wp写的是
其实查看了官方给出的script.py之后 明白了就是用idapython nop掉无用代码
附上
1 |
|
ida里面 shitf+f2 运行代码发现报错
NameError: name ‘ItemSize’ is not defined
查找资料找到解决办法:
关于IDA7.5 IDApython api差异问题及解决办法 - 『脱壳破解区』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn
题目是crc64加密
从官方发的更新后的题文件能找到相关数字串来确定是crc64加密(虽然我自己看不出来就是了)
贴个其他师傅写的脚本
1 |
|