lijiawei24521 发表于 2021-6-25 14:26

为何保存密码的位置在变

继我上篇的帖子一开始以为寄存器内的0262D468是密码,因为这个加密系统是给出随机数,比如下面图中的63174.然后经过计算得出密码。
之所以以为寄存器EAX内数值为密码是应为这个数值每次都会变,且用断点一步一步反推过程中发现这个和密码的计算有关联。但又和密码相差很大。
后来继续研究发现了密码的真正位置在数据区内,寄存器EAX上的是数据器的地址。在数据器内找到了密码,黄匡内的数值前后对调后就是密码。
闲杂疑问是每次保存密码的数据区的位置都在变,即EAX每次都不一样。随机数在变,密码在变,连保存计算结果的地方也不同。

无闻无问 发表于 2021-6-25 17:36

在变,说明是个动态申请的地址呗

lijiawei24521 发表于 2021-6-26 12:07

无闻无问 发表于 2021-6-25 17:36
在变,说明是个动态申请的地址呗

那就悲剧了,现在反推找计算公式,要是保存计算结果的路径都在变。那就难了

涛之雨 发表于 2021-6-27 00:26

可以尝试配合ce找多级指针+偏移

cndml 发表于 2021-6-27 08:15

地址变说明是个临时变量,整个内存搜索这个内存地址,你会发现有个静态变量地址保存了这个地址。静态变量上下内存写入断点,等断下后,再在动态地址上下内存访问断点,断下来就在计算程序里了!
页: [1]
查看完整版本: 为何保存密码的位置在变