实战寻找关键call(4)
这里来实战一下下。这个程序
成功注册这个程序就可以了
首先我们点开这个程序,发现这个程序说:需要注册
查一个这个程序是如何写的…然后用IDA打开。
1 | shift+f12 |
先找找关键的字符串。
1 | shitf + f |
搜索一下,找到这个程序的关键的位置,从上图中可以看出,有一个name 和 code 的字符串,我们就去搜索一下这个,然后点进去看看
点进去,然后看一看代码,emmm有点蒙蔽,交叉引用一下吧,看看图的样子。这里很明显能得到几个跳转。感觉就像是判断一样。
找到需要的位置按一下,有光标,然后tab一下,看看伪代码。大概就知道一点点。
用OD单步调试一下吧,静态的看确实脑壳大。
进入OD , 全局中文搜索,智能搜索,找到这个name / code 的地方. 点过去看一看
通过IDA所看到的if 语句 ,是一个 双if 咱们大概找找位置,找到大if的位置,这个肯定是一个关键的位置。
大概知道这个地方,上面有一个call 一眼丁正是关键call。
让程序运行到这个看看,运行到这个上面这个红色的call的位置。然后单步调试一下。
然后再程序中的密钥的地方,输入一个name = abc 密码= 随便写的
在运行几步,发现….这里有一个ascii码值和这个ecx中的值也是这个奇奇怪怪的数字
这里盲猜测一下:它根据你的这个name 的值 通过某个算法算出一个奇奇怪怪的东西,然后用if去判断这个值和你输入的这个值是否相同,如果相同就成功。
所以这个信息就在这个地方,所以只需要让name = 你之前输入的[abc]密码就是这个一窜数字
现在大概能知道就可以了,后面还会学的。
本博客所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 Safety-Blog!