编程中的加密软件的模拟技术


加密软件程序
返回首页

      软件加密锁的编程技巧是很多业内人士所熟知的,以及软件开发者将如何编写安全可靠的代码,如何对付各种各样的加密狗破解,编写加密程序时应该尽量避免的一些问题等等。开发商程序通过调用硬件加密狗的接口模块对硬件加密狗操作,硬件加密狗响应该操作并通过接口模块将相应数据返回给开发商的应用程序。开发商的应用程序可以对返回值进行判定并采取相应的动作。如果返回无效的响应,表明没有正确的狗,开发商可以将应用程序终止运行,或者让应用程序以错误的方式执行。常用的解密方法有反汇编后静态分析: W32Dasm、IDA Pro;用调试工具跟踪动态分析:SoftICE、TRW2000;针对各种语言的反汇编工具:VB、Delphi、Java等;其他监视工具:FileMon、RegMon 等;破解方法就是使用我们自己的工具(如VB、VC等)重新编写构造一个和加密狗API一样的DLL动态库文件,里面也包含Read、Write等全部API中包含的函数,使用的参量及返回值和原来的函数一样,所有函数返回零。然后对Query、Read函数进行处理,返回应用软件需要的数值即可。这个新的DLL文件编写成功后,直接替换掉原来的DLL文件,这时候再运行应用软件,软件访问加密狗的操作就全部会被拦截,拦截程序永远会返回正确的数据给软件,从而实现了模拟加密狗的运行。