逆向一个易语言DLL的加密算法

逆向一个易语言DLL的加密算法。关键算法逆出来了,但是没有看懂属于什么算法。

前言

这个DLL是一个授权的,填入激活码之后会访问自己的后台验证。
我也是闲来无事,拿来学习学习。如果作者看到了,并非恶意。
先来说下我如何进行逆向算法的。
因为易语言的DLL脱离不了核心支持库。核心支持库是有特征码的,不管程序怎么加密,核心支持库是加密不了的。我们可以用核心支持库的特征 来进行逆向算法。

程序和DLL的核心支持库都是独立存在的。

DLL用的是DLL编译时的核心支持库。

过程

其中的链接 我就拿 http://www.baidu.com 为例

前面的加密算法 是通过核心支持库逆出来的。

程序启动后是不会直接加载DLL的。
需要使用过DLL的函数后 才会加载。
等加载完DLL之后 我们进入DLL层


双击这个DLL 就可以进入DLL层了。

然后就是通过特征码来在DLL层下断点。这里我用的的工具 知道edebug找到核心支持库的地址。

再通过这个特征 查找特征的位置的位置。

在这里下断。

RC4和DES加密处也要下断,为了就是看看 没有没有使用易语言自带的加密

为了就是看看有没有使用核心支持库里的加密算法。
做的动作有,先获取13位时间戳 然后把最后3位改成000

解密出来的是我填入进去的激活码。

继续运行。运行几次之后 会出来二次解密。

我写着写着 居然忘了二次解密的密码是怎么找到的了。。。

密码是 sdvscv;lwe,r[xc/bvfsd/w

再用自己的激活码进行二次解密。

密文|密文的MD5|X 分割 取密文

再将解密出来的密文 进行MD5和程序计算的MD5是否一致,

关键 关键来了。

密文的长度位128位

其实这个密文是16进制的,

转到字节集后 进行倒序。
1a2b3c4d5f -> 5f4d3c2b1a

然后就是进行3次解密,

因为解密出来的是128位

就是 moc.udiab.www//:ptth +字节 {0}+ 后面的107长度字节集 (后面107位不知道是做什么用的。)

关键解密 的特征码为↓↓↓


55 8B EC 81 EC 24 00 00 00 C7 45 FC 00 00 00 00 C7 45 F8 00 00 00 00 68 05 00 00 80 6A 00 8B 5D
0C 8B 03 85 C0

最后再将倒序的链接 矫正之后 就是真正的后台授权地址。(http://www.baidu.com)

参考文献

逆向一个易语言DLL的加密算法。关键算法逆出来了,但是没有看懂属于什么算法。
https://www.52pojie.cn/thread-886009-1-1.html
(出处: 吾爱破解论坛)

相关下载

链接: Desktop.rar https://pan.baidu.com/s/1RjcYrrmNnXyY0zsR9ml_Gw 提取码: 4n7g

------------------------ The End ------------------------
0%