没啥可说的,主要是体力劳动。调试器挂载跟踪recv函数的处理流程,稍嫌麻烦,即可得到解密算法。总共有3步:
异或算法如下:
void decrypt(char
*
data,
int
filesize, char
dst) {
char
key
=
"Z#jM0NeVv#wMDG9+8rwzxVsti80A=j5a.op"
;
if
(dst
0
)
{
dst
new char[filesize
+
1024
];
memset(dst,
, filesize
);
}
i
, j
for
(; i < filesize; i
k
j
%
0x23
dst[i]
data[i] ^ key[k];
c++代码和样本、以及程序都在附件压缩包中
[培训]二进制漏洞攻防(第3期);满10人开班;模糊测试与工具使用二次开发;网络协议漏洞挖掘;Linux内核漏洞挖掘与利用;AOSP漏洞挖掘与利用;代码审计。