(这道题先把想法记下来)

这道题使用ida时,先查看它的流程图发现是一个循环。但是算法无法看出来,只有进行f5了。经过漫长的等待才出来。之前还以为卡了。

首先便是一长串的异或运算,加减法,当时以为是经过这一长串的运算是会把结果重新变回原来的值。
先保存下现在的看法。
1.先验证输入的长度是否小于25
2.然后在程序中进行的为异或运算,加减法


3.之后应该是存入数组中,与0x694060比较。
在那么长的一段中,最后才注意到实际上都是无意义的(竟然看了半天)
根据开始的判断,输入的字符串长度应当是:0x694100-0x694118,但大部分的长度都已经超了。那么应当是对其进行筛,进行运算。首先排除所有的doword类型的数据,选择byte型数据。然后以字符的类型输出。
算法什么的我先空着,以后补上。(大概又要手动搜了。。。。)
网友评论