全面分析重启验证的使用方法和破解思路讨论
遇到重启验证后我们首先想到的肯定是软件要在重启的时候要验证注册码的正确性,那么是怎么验证的一个过程呢?下面我简单分析一下可能性:
1、把注册码保存到注册表,利用注册表读取注册码,然后经过计算验证其正确性。
2、建立一个文件,把注册信息保存到文件里,然后通过读取来验证。
3、也可能把先验证注册信息,如果正确,那么就保存到注册表或某个文件中,下次启动读取验证,如果为空则失败。
在这上面的可能方法中,如果下断 所需要用到的API函数是:
*****************************************************
访问注册表类常用API:
RegOpenKeyA //打开一个现有的注册表项。
RegOpenKeyExA//打开一个现有的注册表项。
RegCreateKeyA //在指定的项下创建或打开一个项。
RegCreateKeyExA//在指定的项下创建新项的更复杂的方式。
RegDeleteKeyA//删除现有项下一个指定的子项。
RegDeleteValueA//删除指定项下的一个值。
RegQueryValueA //获取一个项的设置值。
RegQueryValueExA//获取一个项的设置值。
RegSetValueA //设置指定项或子项的值。
RegSetValueExA//设置指定项的值。
RegCloseKey //关闭系统注册表中的一个项。
访问文件类常用API:
CreateFileA //打开和创建文件、管道、通信服务、设备以及控制台。
OpenFile //它可以执行大量不同的文件操作。
ReadFile //从文件中读出数据。
ReadFileEx //与ReadFile相似,只是他只能用于异步读操作,并包含了一个完整的回调。
INI初始化文件相关API:
GetPrivateProfileString //得到INI文件的配置信息。
GetPrivateProfileInt //为初始化文件中指定的条目获得一个整数值。
WritePrivateProfilestring//将一个KEY值写入INI文件的指定Section中。
*************************************************************************************
一般情况下,除了注册表中存放,就是WINDOWS/SYSTEM32目录下,再就是自身安装文件目录下创建DAT文件或者INI配置文件,我可以从这些地方入手来分析重起验证的软件,用上面的断点来找到关键部分,但是,重起验证还有别的实施方法吗?破解这类还有其他思路么?本人的分析不可能太完整,希望大牛们能指点。
重启验证这类保护措施还有发展前途么?
希望小弟这块砖,可以引到玉。请大家多多支持。谢谢!! 支持一下,多总结一下,呵/:018 有的验证在壳前,无需脱壳即可破解。 兄弟厉害了 呵呵 别光说啊,大家也总结总结啊 你说的比我知道的多,纯支持一下了/:013 有思路就有办法! 有时候你能看到一个未注册的字符(没有加密的),就不用管什么验证了,大概都知道怎么做了 总结的不错~只是偶还不是很懂~菜菜一个~不过还是顶一下大大~嘿嘿~/:018 不好意思`我菜,也补充`
如果是文件重启验证,当然少不了一个keyfile了,呵呵!
程序如是注册后新创建文件并写入,得先找到keyfile's name/:001
方法可以,od载入后查看字符串,观察类似文件名的字符串动向,
或用filemon查,这不是一个好办法,filemon的检测信息多而烦!不好看出程序write和read或create了啥/:001
所以,靠人脑 ^o^