XNUCA2018-逆向分析Code_Interpreter
本帖最后由 金野喵君 于 2018-11-30 20:07 编辑当时脚本在用claripy求解器时条件设置少了,跑出来不对,离成功只差一点,自闭ing。
先放到ida里F5分析一下,要求输入三个数,然后对这个数判断,还有一个数必须不为0.
在输入完成后发现关键函数sub_400806,里面是个虚拟机。
分析发现虚拟机的机器码在code文件里,用winhex查看。
接下来要做的就很明确了,分析虚拟机,将机器码反汇编。
幸好没有发现有判断跳转之类的项,不然还原起来还是费事的(还是我太菜了)
执行编写的脚本,运行结果如下:
分析一下,发现如果把我们输入的三个数设为x,y,z的话,可以得到一个三元一次方程。数太大了,手算还是拉倒吧,上claripy。
比赛那天没加后三个条件,直接放方程,结果凉凉。理论上应该一样,我的高中数学日了狗吗?有大佬知道为什么吗?{:301_972:}
好深奥的样子呀 因为这个方程在前面做过模运算,所以出来的是多解
我当时也被坑到了 谢谢分享。 xdsec_bin 发表于 2018-12-1 06:06
因为这个方程在前面做过模运算,所以出来的是多解
我当时也被坑到了
原来是这样,谢谢 谢谢分享
页:
[1]