-
-
[讨论]关于一个注册软件的破解思路
-
发表于:
2010-10-28 23:02
8971
-
声明:貌似是一个商业软件,我在这讨论完全是对它的保护机制感兴趣。还有就是本软件不知加了什么壳导致杀毒软件会报木马(我也不知道有没有木马,不过由于这是同学买的软件,应该不会有木马)。在调试之前我是把杀毒软件关闭进行调试。
提示:附件里面包含:可执行文件1个和密钥文件1个。
在介绍之前我们先看看软件运行界面:
从界面我们可以看出端倪,本软件使用时,采用的是根据本机产生机器码,然后购买软件时提供机起码,厂商根据提供的机器码提供密码。本密码只能在本计算机上使用。
我先说一下我的思路:
1.在弹出对话框之前软件会计算机器码,这是入口点之一。
2.软件根据提供的播放密码还会做验证。这是入口点之二。
由于软件加壳所以不能对它进行静态分析。(我也尝试脱壳,但是脱壳以后貌似无法正常运行),
本软件运行时会在C:\china-drm目录生成一个可执行文件XXX.exe,生成文件后文件会通过WINEXEC运行该文件,同时会传入一个参数(在我的计算机上参数:F238FF01E603F53BED75C220F
014DB0CD471C820FA16DB798331FF60A050DB7F893B8D31ED03)
如图所示:
我猜测本参数是从密钥文件里面读取。而且程序运行结束会删除该文件。
我直接运行该函数,传入同样的参数,但得不到机起码,也没有说明文字。而且根据在调试的时候,世界运行到winexec函数时就能正常产生机器码,单步执行到winexec时,就不能产生机起码(估计是有时间限制,希望大家看看,
)
我主要关心的是机器码的产生和验证。
以下是我的发现:
我的主机机器码:707fb5e903-d41d8cd98f-0000000000
机器码的第一段“707fb5e903”是根据注册表HKEY_LOCAL_MACHINE\HARDWARE\DESCRIPTION\System的SystemBiosVersion计算而来。第二段“d41d8cd98f”到目前我还不知道是根据什么计算而来
。
疑问:厂商所给的密码只是用于验证,还是兼有作为解密程序的密钥。
希望大家给个思路。或者大家讨论哈,就是遇到这种验证模式需要怎样破解。大家有兴趣一起来破解。嘻嘻
我也尝试根据交互模式来跟踪,得到一个类似播放密码的东西输入以后得到
随便输入一个播放密码:
[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)