好友
阅读权限10
听众
最后登录1970-1-1
|
本帖最后由 shuaiyue 于 2019-4-20 00:39 编辑
这个有验证,反调式,隐藏的挺好。
给你个思路。BC函数开始分析吧,有个解密函数,还有比较,最终“hello5.1”
算法自己写看吧。
unsigned __int8 *__fastcall Decrypt(const char *s, const char *a2)
{
const char *v2; // r6
const char *v3; // r4
unsigned __int8 *v4; // r5
const unsigned __int8 *v5; // r8
size_t v6; // r0
unsigned __int8 *v7; // r7
size_t v8; // r6
int v9; // r0
int v11; // [sp-1Ch] [bp-1Ch]
v2 = s; // 636D55B2AA8609CB
v3 = a2; // 58A8631NaD
if ( !s )
return 0;
v4 = 0;
if ( !(strlen(s) & 1) ) // 30 & 1 == 0
{
if ( v3 )
{
v5 = HexToByte(v2);
v6 = strlen(v2);
v7 = operator new[]((v6 >> 1) + 1);
v4 = 0;
v11 = 0;
v8 = strlen(v2); // 10
v9 = strlen(v3);
if ( RC4(v5, v8 >> 1, v3, v9, v7, &v11) ) // 关键函数
{
v7[v11] = 0;
v4 = v7;
}
}
}
return v4; // 这里直接爆了解密后的明文
} |
|