飞飞丶 发表于 2021-11-29 14:15

三无绿色CM

本帖最后由 飞飞丶 于 2021-12-6 13:46 编辑

## 上班摸鱼随便写的

### 环境:

1.Win32 App 兼容Windows平台 编译器易语言自带VC6.0

2.无花指令、antiOD、加密壳、蓝屏垃圾代码

### 核心内容:

1.网络验证

2.密文传输

3.功能函数嵌套

4.本地私钥解密

### 破解成功/失败流程:

!(https://attach.52pojie.cn/forum/202111/29/141445alg1kzka26ak8qca.png)



1.输入Key点击Login

2.key正确会载入窗口1

3.根据窗口1内打印结果,看是否破解成功,成功打印Success失败打印Failed

### 更新日志:

1.2021-12-6 13:23 : 看到有朋友私信我咨询破解思路,简单阐述下供新手朋友参考

```
1.首先程序采用网络校验,发送post请求到服务器(为了demo简单些发包采用的明文返回的是密文)
        思路:本地无静态参数,既然返回的是密文那本地必然有算法机制本地解密,可尝试破解算法
2.函数嵌套,需要从与服务器交互获得功能参数(已加密),爆破无用,可以理解为本地的程序只是个脚本
        思路:使用真key,截获返回密文,写到全局变量内存中替换,拿到真密文就可以劫持访问自己的地址了
3.感觉不公布真码好像是个没意义的CM只能尝试破解算法,以上思路只是我个人观点。这里公布真Key:Anxin
```

忆笙-垃圾佬 发表于 2021-12-7 20:31

这瓜保熟吗?

weikun444 发表于 2021-11-29 17:14

无奈,不懂算法!{:1_909:}{:1_909:}{:1_909:}

v20 = (LPVOID)sub_4074A0((void (__cdecl *)(__int64 *, int, char *))sub_407890, 1);
v0 = 0;
if ( v20 != (LPVOID)25 )                      // 这个25应该是Failed! Crack not Success的长度
{
    v17 = sub_4074A0((void (__cdecl *)(__int64 *, int, char *))sub_407890, 1);
    if ( v17 )
      v0 = 1;
}
if ( v0 )
{
    v1 = v22;
    if ( v22 )
    {
      v2 = v22;
      v3 = sub_401004((char *)v22);
      v1 = (void *)sub_40749A(v3 + 1);
      qmemcpy(v1, v2, v4);
    }
    v5 = v1;
    if ( dword_4CB110 )
      sub_407488(dword_4CB110);
    dword_4CB110 = v5;
    sub_4074A0((void (__cdecl *)(__int64 *, int, char *))sub_407820, 3);
}
if ( v22 )
    sub_407488(v22);

sumian 发表于 2021-11-29 16:36

&Password=4297F44B13955235245B2497399D7A93   不会了

musashi 发表于 2021-11-29 16:38

ReLoading 发表于 2021-11-29 18:26

584131421xsfh 发表于 2021-11-29 18:33

Mikeyee 发表于 2021-11-29 19:36

Sugar01 发表于 2021-11-29 20:52

飞飞丶 发表于 2021-11-30 20:30

sumian 发表于 2021-11-29 16:36
&Password=4297F44B13955235245B2497399D7A93   不会了

X-form传参封包中的password随便编的,为了混淆算法{:1_918:}

飞飞丶 发表于 2021-11-30 20:32

ReLoading 发表于 2021-11-29 18:26


同志仍需努力啊,成功会print提示的,你Jmp到窗口1 功能函数校验失败所以无输出
页: [1] 2
查看完整版本: 三无绿色CM