罗萨 发表于 2023-10-4 17:20

一个CM的去混淆

原帖:一个C#编写的神奇的KeyGenMe - 『UnPackMe◇CrackMe◇KeyGenMe◇ReverseMe』 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn非常有意思的cm,入手后部分函数反编译失败,无奈只能进入IL模式,观察后发现,函数内使用了大量重复混淆代码基本一致,如:

/* 0x00000402 00 */ IL_000E: nop
/* 0x00000403 FE0C4500 */ IL_000F: ldloc V_69
/* 0x00000407 20540E0000 */ IL_0013: ldc.i4 3668
/* 0x0000040C FE01 */ IL_0018: ceq
/* 0x0000040E 3912000000 */ IL_001A: brfalse IL_0031
/* 0x00000413 2084000000 */ IL_001F: ldc.i4 132
/* 0x00000418 FE0E4400 */ IL_0024: stloc V_68
/* 0x0000041C 20550E0000 */ IL_0028: ldc.i4 3669
/* 0x00000421 FE0E4500 */ IL_002D: stloc V_69
直接特征码进行全部替换
特征1:00 FE 0C ?? 00 20 ?? ?? 00 00 FE 01 39 ?? ?? ?? ??
特征2:20 ?? ?? 00 00 FE 0E ?? 00 20 ?? ?? 00 00 FE 0E ?? 00
特征3:20 ?? ?? 00 00 FE 0E ?? 00
特征4:FE0C??0020????0000


将特征全部替换成00之后可以正常反编译了


罗萨 发表于 2023-10-5 22:59

yasenhacker 发表于 2023-10-5 21:32
为何替换???能详细一点吗

因为大量的控制流混淆导致dpspy无法反编译,所以需要清除控制流混淆代码

yasenhacker 发表于 2023-10-5 21:32

为何替换???能详细一点吗

秋名山 发表于 2023-10-6 17:38

yasenhacker 发表于 2023-10-5 21:32
为何替换???能详细一点吗

od替换 还是dnspy 替换

Hmily 发表于 2023-10-8 18:11

俗称花指令。

美美木耶 发表于 2023-10-12 11:40

还是不错的,加油吧,有参考价值

wasdzjh 发表于 2024-3-27 16:00

这个去混淆不可以用软件去除吗?而且你说的替换,也没有说清楚,为何要这么做。最后破解出来了吗?顺带写一个破文多好。
页: [1]
查看完整版本: 一个CM的去混淆