本帖最后由 wuxbeyond 于 2011-3-26 15:18 编辑
【文章标题】:一小软件试用次数的分析 【文章作者】: 八月未央(wuxbeyond) 【作者主页】: 【作者QQ号】: 328274961 【软件名称】: 疯狂的数字V1.3 【下载地址】: http://www.duote.com/soft/25212.html 【保护方式】: ASPack 2.12 -> Alexey Solodovnikov 【编写语言】: VC 【使用工具】: od+peid+loadpe+ir 【操作平台】: Win Xp 【作者声明】: 只是感兴趣,没有其他目的,只作为交流,感谢老师,感谢海阔天空以及各位前辈。 【详细过程】 2:脱壳之后载入OD 查询字符串。 从这里可以看到有两组注册表子项,初步估计可能一个用于存放试用次数,另一个用于放注册码。然后我们打开本地注册表搜索其中任意一个子项,我就搜索了a2t3h4m1\r3m5g9d\ 这个,然后打开发现里面有个键值是fsa91 然后我们就关闭程序 然后又打开,发现试用次数再减,又发现注册表里的fsa91的值也在变,又此可以发现。这个注册表值是控制试用次数的。那我们随便改这个值试试呢 我把它改为了 d0 59 62 45 然后 在看一下软件呢 OK 试用次数可多了。
次用次数搞定了,而注册码没搞定,注册码的注册表项就是另外一个了。有时间的高手请分析一下。大家互相学习。
这个软件也可以爆破,在字符串查询结果里面偶然看到2字"无限",然后进去爆掉之后。运行软件剩余次数就变成了 无限 了。但是运行起来之后点里面的功能按钮会提示系统错误!有空的高手也爆破一下试试。 文章就写到这里,高手别喷我。
另附一个网上找到的注册表API
访问注册表类常用API:
RegOpenKeyA //打开一个现有的注册表项。
RegOpenKeyExA //打开一个现有的注册表项。
RegCreateKeyA //在指定的项下创建或打开一个项。
RegCreateKeyExA //在指定的项下创建新项的更复杂的方式。
RegDeleteKeyA //删除现有项下一个指定的子项。
RegDeleteValueA //删除指定项下的一个值。
RegQueryValueA //获取一个项的设置值。
RegQueryValueExA //获取一个项的设置值。
RegSetValueA //设置指定项或子项的值。
RegSetValueExA //设置指定项的值。
RegCloseKey //关闭系统注册表中的一个项。
|