这里来实战一下下。这个程序

image-20230506165211911

成功注册这个程序就可以了

首先我们点开这个程序,发现这个程序说:需要注册

image-20230506165259205

查一个这个程序是如何写的…然后用IDA打开。

1
shift+f12

先找找关键的字符串。

1
shitf + f

搜索一下,找到这个程序的关键的位置,从上图中可以看出,有一个name 和 code 的字符串,我们就去搜索一下这个,然后点进去看看

image-20230506165533321

点进去,然后看一看代码,emmm有点蒙蔽,交叉引用一下吧,看看图的样子。这里很明显能得到几个跳转。感觉就像是判断一样。

image-20230506191357700

找到需要的位置按一下,有光标,然后tab一下,看看伪代码。大概就知道一点点。

image-20230506193907260

用OD单步调试一下吧,静态的看确实脑壳大。

进入OD , 全局中文搜索,智能搜索,找到这个name / code 的地方. 点过去看一看

通过IDA所看到的if 语句 ,是一个 双if 咱们大概找找位置,找到大if的位置,这个肯定是一个关键的位置。

image-20230506192353032

大概知道这个地方,上面有一个call 一眼丁正是关键call。

让程序运行到这个看看,运行到这个上面这个红色的call的位置。然后单步调试一下。

然后再程序中的密钥的地方,输入一个name = abc 密码= 随便写的

image-20230506193255474

在运行几步,发现….这里有一个ascii码值和这个ecx中的值也是这个奇奇怪怪的数字

这里盲猜测一下:它根据你的这个name 的值 通过某个算法算出一个奇奇怪怪的东西,然后用if去判断这个值和你输入的这个值是否相同,如果相同就成功。

所以这个信息就在这个地方,所以只需要让name = 你之前输入的[abc]密码就是这个一窜数字

现在大概能知道就可以了,后面还会学的。