170714 逆向-溯源

1625-5 王子昂 总结《2017年7月14日》 【连续第285天总结】

A. CISCN suyuan
B. 比赛期间用了一晚上才将suyuan逆出来,也验证内存中的结果与我写的脚本相同了。但是最后需要提交的flag是反过来的,当时时间不多了所以没想到,现在再拿过来想想,并不需要算法逆向,只需要把交换顺序记录下来就行了—因为是固定的
suyuan打开发现主要有三个过程:
第一是输入处理,每两个字符进行一次计算得到一个结果保存,前一个字符-0x41乘以16加上后一个字符-0x41,即用大写字母来表示顺序
第二是将上述内容转移到另一个堆栈空间中
第三是根据内存中的一个数组计算后的结果,将输入的处理数组元素交换位置
正向脚本很容易写出:
这里写图片描述
输入range(100)后与内存中进行比较也验证无误,比赛时最后才想起来要逆求,匆忙写了个逆算法验证也不对
现在想起来,由于299个b[k]实质上是固定的,因此完全可以单纯把正向算法的交换顺序记录下来,然后倒序后对range(100)处理:
这里写图片描述
得到flag
只差最后毫无技术含量的一步就得到flag,真是非常可惜,没有想到交换顺序的固定性
不过也是思维不够灵活,可惜当时没跟同学讨论
再加上逆的速度太慢导致思考时间不足
吸取教训下次加油
C. 明日计划
apk crack动态调试

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值