彩虹加密狗破解技巧数据代码分析!

今日头条

1142人已加入

描述

彩虹加密狗破解技巧数据代码分析!


彩虹加密狗破解关键是200字节数据和狗变换,也就是2号功能和4号功能。和以前讨论过的R4狗一样,这个狗的API也是多功能函数,根据参数完成不同功能。此文重在讨论破解方法而不是具体怎么破解,所以不给出怎么找到狗操作的CALL地址以及相应数据地址方法。

 

首先我们看看彩虹GS-MH狗,这个狗的API定义如下:

所有数据都定义在MH_DLL_PARA中

typedef struct _MH_DLL_PARA

{

  WORD   Command;  //命令码

  WORD  Cascade;  //级联顺序号

  WORD  DogAddr;  //首地址

  WORD  DogBytes;  //操作字节数

  DWORD  DogPassword;  //读写密码

  DWORD   DogResult;  //变换结果

  DWORD   NewPassword     //新密码

        BYTE    DogData[200];  //输入输出数据

} MH_DLL_PARA;

 

彩虹加密狗破解@QQ528621124

 

结构成员Command是命令码,定义如下

DogCheck  1  查狗

ReadDog    2  读狗

WriteDog  3  写狗

DogConvert  4  变换

GetCurrentNo  5  取流水号

EnableShare  6  允许共享

DisableShare  7  停止共享

SetDogCascade   8       设置级联码      

SetNewPassword  9       设置新密码

 

 

找到任何一个读狗的CALL,将DogAddr改为0,DogBytes改为200,读完狗在DogDat就可以得到200字的狗内数据,破解时将读狗操作转为查这个数据表就可以了。

 

关于4号功能,如果频繁使用,那一定加密程序中会有一个码表,如果使用不多,可以直接记录变换前后数据形成自己的码表。关于写狗等操作的处理相对简单,不再赘述。

 

当完成上述工作后,我们的破解程序一定是按照有狗时的流程在运行,而不会是被强行修改执行。简单举个例子,比如我的加密程序要用到一个公式:y=k*x+1,而加密者将常量K放到了狗中,调用公式前读狗,成功返回数据及一个标志,前文提到的爆破方法修改程序流程,必然导致得到错误的y值!

 

以上是彩虹加密狗破解技巧数据代码分析的简单介绍,文章由(逆向开发技术网)编辑整理。

 


打开APP阅读更多精彩内容
声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 相关推荐

全部0条评论

快来发表一下你的评论吧 !

×
20
完善资料,
赚取积分