午夜红云 发表于 2015-9-9 11:45

两种方法爆破Any To Icon软件

本帖最后由 午夜红云 于 2015-9-9 11:59 编辑

首先声明,我也是一个菜鸟,在论坛潜水了这么长时间。有很大的收获。发这个帖子是想给新手一个思路。大神就不用看了{:5_116:}。Any To Icon这个软件是个图片转换图标软件。在网上找到的都是需要导入注册表的。嫌麻烦,就像着自己爆破一下。在分析过程中也走了很多弯路,甚至差点都想放弃了,不过最终还是成功了。希望能有让大家借鉴的地方。现在开始分析软件:
static/image/hrline/1.gif首先打开软件看一下,软件大概流程:可以看到未注册的广告窗口和关于窗口。首先想到的肯定是搜索字符串,发现什么也搜索不到.我们尝试其他办法。我们就试试用DEDE来找到关键处。很明显,这里有一个about 应该就是关于窗口了.我们右键FormCreat复制当前RVA 然后载入OD.转到该地址,下断.然后运行发现此时,断下来了,单步F8跟踪,注意下面的每一个跳转.我们发现了这样一串代码:
将一个堆栈的地址给了eax,然后调用call以后,又将其与0对比,比较可疑。会不会就是关键处呢?我们先留着疑问继续往下跟。下面的跳转不用理他,我们一直向下走,直到这一句是不是比较相似呢?我们可以看出,这两个跳转处,除了地址不一样,其他一模一样,连调用call 的地址都一样。那这个应该就是关键处了吧。为了验证我们的想法。我们可以把这一句的jnz通过改变标志位的方法,让它跳转。发现了什么,下面的未注册信息消失了,那这个肯定就是关键处了。我们可以将两个跳转的都改成JMP。这就变成注册的了。证明call 00662ef8 就是关键call了。我们点OK,发现还是未注册的,此时,我们是进去call跟踪一下看看。
我们可以发现调用call 的时候,eax的值为0012f4dc我们数据窗口跟随查看下,发现为0。后面将这个值与0比较,如果验证成功,那这个值肯定不为0。单步跟踪,我们发现又有几句跟上面的一样。我们看下面的跳转,发现跳了,跳过了很多call和user字符串。比较可疑,我们NOP掉试试。运行一下,发现已经注册了。我们保存一下,在运行,发现已经注册了,这时我们已经爆破成功了。
static/image/hrline/1.gif
另外我们还可以通过注册表函数定位关键位置:我们查找字符串发现,有疑似注册表注册项。我们记录下来或者也可以使用注册表监听工具找到读取注册表的位置。
重载程序,右键查找->所有模块间调用。直接输入reg就显示出来了。我们在RegOpenKeyExA下断点。右键,在每个调用下断点。
此时,我们已经下好断点了,F9运行,直到出现以下信息(注意看堆栈窗口)这就是它在读取注册表项了。我们单步往下跟踪。Retn出call不要管他,继续跟踪。
几次retn以后看见以下代码:是不是有点眼熟?我们又到关键处了。把jenop掉。就成功爆破了。{:6_215:}

static/image/hrline/2.gifstatic/image/hrline/2.gif

总结:这个软件关键call与其他的不同,其他的主要针对eax的值进行比较。这个软件则将堆栈中的值进行比较。另外你继续跟的话会发现,如果注册成功,它会将Sky123.Org赋值给那个堆栈地址。新手发帖,有什么错误的地方大家尽情批评指正。讲的可能不够详细,语言组织能力也不咋地。大家有什么问题可以回帖问我。另外第一次发帖,不会排版,大家多多包涵。static/image/hrline/2.gifstatic/image/hrline/2.gif



moont 发表于 2015-9-9 12:40

不懂这个            

牛屎辉 发表于 2015-9-9 14:17

大神碉堡了

不苦小和尚 发表于 2022-2-23 20:25

感谢楼主分享经验,大神碉堡了

别管我了行 发表于 2022-3-25 01:21

曾经沧海 发表于 2022-12-10 06:19

正在学习了。。。。。!

sjtkxy 发表于 2022-12-12 05:14

一生逍遥 发表于 2022-12-29 11:17

感谢分享宝贵经验

曾经沧海 发表于 2023-5-13 07:34

感谢分享,正好需要,,,,

一生逍遥 发表于 2023-6-7 17:50

爱论坛,爱网友!
页: [1]
查看完整版本: 两种方法爆破Any To Icon软件