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
查看完整版本: 小白上路之第一次编写注册机