wangxiangtan2
发表于 2023-3-23 12:04
pjy612
发表于 2023-3-24 14:10
本帖最后由 pjy612 于 2023-3-24 16:47 编辑
{:301_986:}这种混淆不是很厉害的,然后没用什么RSA 并且 逻辑简单的。。。
可以直接反射。。。
下面借花献佛一下。
主要核心逻辑就两段。
private void initMachineCode()
{
string machineCodeString = MachineCode.GetMachineCodeString();
this.macidMD5 = DESEncrypt.MD5Encrypt32(machineCodeString);
string text = "MXPORT" + this.macidMD5;
string text2 = new CRC32Cls().GetCRC32Str(text).ToString("X8");
this.mxcode = "MXPORT" + this.macidMD5 + text2;
}
private void checkAuth()
{
if (string.IsNullOrEmpty(this.licenecode))
{
this.isAuth = false;
return;
}
string text = DESEncrypt.MD5Encrypt32(this.macidMD5);
ulong num = new CRC32Cls().GetCRC32Str(text);
if (num < 268435456UL)
{
num += 268435456UL;
}
string text2 = Base62.Encoder(num);
this.isAuth = this.licenecode.Equals(text2);
}
然后看下主程序
// 全局类型: <Module>
// 入口点: com2com_csharp.Program.Main
// 架构: AnyCPU (32位优先)
// 运行库: .NET Framework 4.5.2
// 时间戳: 61EE65E7 (2022/1/24 16:40:07)
那么直接起个 .NET Framework 4.5.2 相同或以上.net控制台
添加 主程序exe 的引用
调试时工作目录指定 exe的目录。
核心逻辑一抽,开整!
然后 注释部分 是非公共对象,直接用反射构建。
避免引用丢失 让它能自己找相关联的文件。
那一系列运算逻辑直接用程序本身的逻辑。不用额外抄代码了。。。
以彼之道 还彼之身 简单粗暴有效...
然后成品 以后直接往应用目录一扔就自动生成注册码了。。。
{:301_978:}
PS. 字符串加密的部分 可以直接拿 de4dot 直接解,记住 字符串加密函数上面的 Token值 比如 0x01010101
de4dot 的时候加上参数 --strtyp delegate --strtok 0x01010101
就可以解码了。。。处理完后基本明文。
另外就是 de4dot 好像是 DNF 编译的。所以 DNF的 库和exe 能这么玩。.netcore 的好像 不能解字符串
zhaohao5301
发表于 2023-3-23 18:42
学习一下,之前分析机器码 构造 有时候 找不到 特征点,是随机的数据
wangwh27
发表于 2023-3-23 18:43
https://iotplat.top/#/iot/download
软件下载地址,下载过来玩玩。
lxseam
发表于 2023-3-23 19:49
看起来很流弊的样子,学习了
newbbq
发表于 2023-3-23 20:37
才刚学会OD装插件表示LZ很牛
sumea
发表于 2023-3-23 20:54
不明觉厉,给你点赞学习!
zhanggengyu250
发表于 2023-3-23 21:22
好厉害啊!!!学习了!
ningm
发表于 2023-3-23 21:24
学习一下
chenhschic
发表于 2023-3-23 21:25
学习了!
Boundlessosky
发表于 2023-3-23 22:02
瞅瞅学习学习
页:
[1]
2
3
4
5
6
7
8
9
10