-
-
[原创]SafeNet ---softDog 软件狗破解方法
-
2009-8-20 18:16
37181
-
[原创]SafeNet ---softDog 软件狗破解方法
SafeNet ---softDog 软件狗破解方法
1、软件狗介绍:
软件狗有两个api函数,就是 ReadDog() 和 WritDog();分别是读狗和写狗操作。上面两个函数,需要使用3个全局变量:unsigned
short DogAddr, unsigned short DogBytes, void *DogData,分别表示,狗操作的地址,狗操作的字节数,写入或者读出的缓冲区
2、解密思路:笔者实际操作的软件的加密思路是: 把狗的存储区域分为 :固定和活动,分别的作用是:固定区域:存储软件初始化相关
参数;活动区域:在软件运行过程中写入随即数字,然后读出来,和写入的数据对比,如果相同,软件就认为是有狗的
3、实践破解方法:
第一种:在程序区段空间或者新增一个区段,用于放置增加的代码或者数据,最好增加一个区段,这样操作方便,把上述的数据
在有狗的情况下读出来,然后写到新增区段。模拟狗
第二种方法:把上述两个函数封装到一个dll动态链接库中。函数形式分别为:
DWORD _stdcall RDog(unsigned short DogAddr,unsigned short DogBytes,BYTE *DogData);
DWORD _stdcall WDog(unsigned short DogAddr,unsigned short DogBytes,void *DogData);
然后把程序需要的相关数据在两个dll中补充。 然后把上述dll连接到exe中。从而达到模拟狗的目的
笔者采用第2中方法,因为这样更改exe的代码较少。
以上为本人操作笔记,高手见笑了!
[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法