170713 逆向-填数游戏
来源:互联网 发布:知乎平均水平 编辑:程序博客网 时间:2024/06/03 09:52
1625-5 王子昂 总结《2017年7月13日》 【连续第284天总结】
A. CISCN 结合WP再战RE
B. 这么久之后完整的wp终于出来了,回过头再做一遍之前的re
首先是最早放出的填数游戏
wp上直接写出了数独题目,然后在网上找到了做数独的地方再输入即可
我当时做的时候是卡在输入的地方,OD动态调的时候只有ASCII为9-12的输入能通过、继续循环,就一直纠结在那里。没有看别的函数。
现在想想一个地方卡着的话应该再看看别的地方,当时不应该执着于一处。
再打开IDA解析以后,从头分析立马发现了问题: __main();
Sudu::Sudu(&v14);
Sudu::set_data((int)&v14, (Sudu *)&_data_start__, v5);
这里很明显就是初始化的地方,查看set_data轻松地发现&_data_start就指向了内存中的数独题目,写一个IDC把它跑出来:
网上找一个数独解答就能得到解
但是现在再看仍然理不清输入的逻辑。在set_data函数中可以明白当输入为0时直接跳过该赋值,否则将1-9的值传入sudo结构体中。但是 std::operator>><char,std::char_traits<char>,std::allocator<char>>((std::istream::sentry *)&std::cin, &v15);
这个形式不太理解,似乎是输入函数的重载,但是IDA的变量前后经常不一致,所以跟不清楚是做什么的,暂时还搞不定……
没有输入处理函数的话就不明白该以什么格式输入了
再等等别的WP吧
查看了一篇论坛上的WP,从set_number方法可以看出来赋值是连续的,即先行后列连续输入9*9个字符
不纠结于输入的重载而是查看关键算法对输入的处理
C.明日计划
apk crack复现
- 170713 逆向-填数游戏
- 填数游戏(??×???=????)
- 填数游戏
- 【程序4】填数游戏
- 【程序4】填数游戏
- 填数
- 填数
- 填数
- 填数游戏(暴力枚举+回溯剪枝实现)
- 游戏逆向
- NYOJ---蛇形填数(方块填数+三角填数)
- 蛇形填数(方块填数+三角形填数)
- 【java】蛇形填数 螺旋填数
- 填数字游戏求解
- 填数字游戏求解
- 填字游戏
- 填色游戏 easyx
- HTML填字游戏
- 蒙特卡洛方法
- Android开发之TabLayout组件的使用
- python实现MATLAB单指标索引
- VectorDrawable
- 有一种感觉叫二分(二分答案)
- 170713 逆向-填数游戏
- java中的循环结构
- NC产品数据连接监听器问题
- Linux 帮助命令
- QT的基本数据类型
- 生活中常见的操作系统
- Tensorflow-CNN学习以及实现
- STC15系列读取MPU6050陀螺仪角度加速度串口显示代码
- hdu 2824 欧拉函数 O(nlogn) 和O(n)