五一小结
五一总结
又是一个被同龄人拉开差距的假期
fango
又是一个go语言
这道题是最近的*ctf的水题。。。
*ctf不适合我这种萌新。。。最简单的题目就这么恶心了
一开始还真没想出来
以为香农范诺编码啥的,还有什么数据结构还没学。。。
但事实上这题和什么香农编码啊数据结构啊没有太大关系
主要操作其实就是一个解码操作
可以看到他符号表都没有删
有个fano解码的操作
然后再与内存中的一大串字符串比较
其实输入就是内存中那一大串字符串再来个fano编码了
再看看他的函数列表
可以看到还有一个加密的函数
这个函数没有被引用到其实是出题人写好了给你的
具体解法呢就是输入那一串字符串
1 |
|
然后在call decode进去后set eip在encode处
然后下断点后f9直接看回显,可以看到是不可打印字符,没事,用pwntools提交一下就完事了
有几个注意点就是在输入字符串后他会把回车也读进去,在内存中patch一下就行
还有就是encode和decode操作不可以跟进去不知道为什么
一跟进去程序就直接跑飞了
1 |
|
长见识了。。。
原来还有这种操作
iscc re2
iscc就是个辣鸡比赛
上分全靠py
题目出的和什么一样
re1出成脑洞题
re2 300分就是一个明文比较
唯一的看点就是他是rust写的了
1 |
|
写法就是直接怼汇编
程序把内存中一段加密好的数据解密了再与明文比较
tank game
拿到题目惊了,真让我逆一个坦克大战吗???
结合棒子国网站的那个cs的逆向
总结一下,对于这种”大型”游戏逆向
直接拖进ida,一通乱找,配合第六感来找flag
找到奇怪的代码段直接set ip
比如说有很多数据还有对数据进行操作的代码段
可以看到这边有个奇怪操作
点进去看可以看到类似flag的东西
当然运行完发现桌面也有了个flag
tu-ctf-2016 reverse-for-the-holy-grail-350
c艹逆向
对于c艹的逆向,我一般都是主看函数传参
如果传入的参数没有与输入相关的,直接忽视
或者说,输入传进去,出来后没变,直接忽视
还有就是配合一些黑盒猜测
这题的加密还是有点复杂的
整体逻辑就是输入三次
前俩次输入其实都没什么卵用
主要是和第三次输入相关
找到和第三次输入相关的主要验证段
第一个操作就是明文比较
出题人很友善,符号表没删,可以看到firstchar
其实就是每三个的第一个与这个数组比较
下一个check
可以看到在下一个check之前有一个整体xor操作
具体check是每个xor后的thirdchar的明文比较
解密很轻松,异或回来呗
secondchar的话我这边选择爆破
1 |
|
这是当初写的草稿脚本
不是最终脚本
就这样吧
题目不错
另外,明天下午就要去x1c面试了
祝我能加入x1ct34m
希望吧。。。
听说驴师傅出的题很难。。。
唉。。。慌。。。