吾爱汇编

 找回密码
 立即注册

QQ登录

绑定QQ避免忘记帐号

查看: 1774|回复: 23

逆向c#注册码求助

[复制链接]
houyuyu878 发表于 2023-8-3 02:18 | 显示全部楼层 |阅读模式

本站严厉禁止求脱求破行为(包含无自我分析直接求思路),如发现此类求助主题请点击“举报”,让我们共同维护优质的学习环境!


30HB
C#注册机制作逆向,对于c#不太熟悉,希望大老指导附上代码                        string regeditIDByDeviceID = this.GetRegeditIDByDeviceID(deviceID);                        string regeditIDByDeviceID2 = this.GetRegeditIDByDeviceID(regeditIDByDeviceID);
                        string regeditIDByDeviceID3 = this.GetRegeditIDByDeviceID(regeditIDByDeviceID + regeditIDByDeviceID2);
                        string text = string.Concat(new string[]
                        {
                                "Z-",
                                regeditIDByDeviceID3,
                                "-L-",
                                regeditIDByDeviceID2,
                                "-W-",
                                regeditIDByDeviceID,
                                "-B"
                        });
                        regeditIDByDeviceID = this.GetRegeditIDByDeviceID(text);
                        regeditIDByDeviceID2 = this.GetRegeditIDByDeviceID(regeditIDByDeviceID);
                        regeditIDByDeviceID3 = this.GetRegeditIDByDeviceID(regeditIDByDeviceID + regeditIDByDeviceID2);
                        string password = string.Concat(new string[]
                        {
                                "C-",
                                regeditIDByDeviceID3,
                                "-D-",
                                regeditIDByDeviceID2,
                                "-A-",
                                regeditIDByDeviceID,
                                "-R"
                        });
                        string regiditFileName = "\\My Documents\\Regedit(CPIII).reg";
注册逻辑是根据获取的设备I'd转换成注册id 然后拼接显示为Z-xxxxx-L-xxxxx-w-xxxxx-B
然后和注册文件对比验证注册文件里面的注册密码格式为C-xxx-D-xxxx-A-xxxx-R
现在核心是根据设备id 转换注册id 和注册码的逻辑关系和函数逆向转换出id 随后按照正向逻辑生成注册文件即可:下面是转换需要用的参数和函数:
设备I'd 获取代码
                       static string GetDeviceID()
                       {
                        byte[] array = new byte[256];
                        int outputBufferSize = array.Length;
                        int num = 0;
                        if (!FrmMain.KernelIoControl(FrmMain.IOCTL_HAL_GET_DEVICEID, IntPtr.Zero, 0, array, outputBufferSize, ref       num))
                        {
                                return null;
                        }
                        int num2 = BitConverter.ToInt32(array, 4);
                        int num3 = BitConverter.ToInt32(array, 12);
                        int num4 = BitConverter.ToInt32(array, 16);
                        StringBuilder stringBuilder = new StringBuilder();
                        stringBuilder.Append(string.Format("{0:X8}-{1:X4}-{2:X4}-{3:X4}-", new object[]
                        {
                                BitConverter.ToInt32(array, num2),
                                BitConverter.ToInt16(array, num2 + 4),
                                BitConverter.ToInt16(array, num2 + 6),
                                BitConverter.ToInt16(array, num2 + 8)
                        }));
                        for (int i = num3; i < num3 + num4; i++)
                        {
                                stringBuilder.Append(string.Format("{0:X2}", array[i]));
                        }
                        return stringBuilder.ToString();
                }
        }
}

设备id [s]转换注册id代码
string GetRegeditIDByDeviceID(string S)
                {
                        byte[] bytes = Encoding.get_ASCII().GetBytes(S);
                        int num = bytes.Length;
                        byte[] array = new byte[num + 2];
                        for (int i = 0; i < num; i++)
                        {
                                array[i] = bytes[i];
                        }
                        uint cRC = this.GetCRC(array);
                        array[array.Length - 2] = (byte)(cRC & 255u);
                        array[array.Length - 1] = (byte)(cRC / 256u & 255u);
                        return array[array.Length - 2].ToString() + array[array.Length - 3].ToString() + array[array.Length - 1].ToString();
                }
        }
}

转换注册I'd 用的参数crc
uint GetCRC(byte[] crc_array)
                {
                        uint num = 65535u;
                        uint num2 = 0u;
                        while ((ulong)num2 < (ulong)((long)(crc_array.Length - 2)))
                        {
                                num = ((num & 65280u) | ((num & 255u) ^ (uint)crc_array[(int)((UIntPtr)num2)]));
                                for (uint num3 = 1u; num3 <= 8u; num3 += 1u)
                                {
                                        if ((num & 1u) == 1u)
                                        {
                                                num >>= 1;
                                                num ^= 40961u;
                                        }
                                        else
                                        {
                                                num >>= 1;
                                        }
                                }
                                num2 += 1u;
                        }
                        return num;
                }
        }
}



希望大佬帮忙做一个注册密码.reg生成工具,谢谢

IMG_8884.jpeg
IMG_8883.jpeg
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
Rooking 发表于 2023-8-5 09:54 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| houyuyu878 发表于 2023-8-5 11:13 来自手机端 | 显示全部楼层

我调试了生成的字符串是对的,但是好像正版的有加密字符串我生成的没有
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jyjjf 发表于 2023-8-10 08:44 | 显示全部楼层

houyuyu878 发表于 2023-8-5 11:13
我调试了生成的字符串是对的,但是好像正版的有加密字符串我生成的没有

能不能私一下软件安装包?
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| houyuyu878 发表于 2023-8-10 21:46 | 显示全部楼层

我弄个链接吧
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| houyuyu878 发表于 2023-8-10 21:48 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| houyuyu878 发表于 2023-8-10 21:49 | 显示全部楼层
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| houyuyu878 发表于 2023-8-12 01:39 | 显示全部楼层

jyjjf 发表于 2023-8-10 08:44
能不能私一下软件安装包?

怎么样,可以吗
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
 楼主| houyuyu878 发表于 2023-8-15 20:12 | 显示全部楼层

jyjjf 发表于 2023-8-10 08:44
能不能私一下软件安装包?

咋样了大佬
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
jyjjf 发表于 2023-8-16 08:13 | 显示全部楼层


要安装调试一下才行,要等空了再看看
吾爱汇编论坛-学破解,防破解!知进攻,懂防守!逆向分析,软件安全!52HB.COM
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

警告:本站严惩灌水回复,尊重自己从尊重他人开始!

1层
2层
3层
4层
5层
6层
7层
8层
9层
10层

免责声明

吾爱汇编(www.52hb.com)所讨论的技术及相关工具仅限用于研究学习,皆在提高软件产品的安全性,严禁用于不良动机。任何个人、团体、组织不得将其用于非法目的,否则,一切后果自行承担。吾爱汇编不承担任何因为技术滥用所产生的连带责任。吾爱汇编内容源于网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除。如有侵权请邮件或微信与我们联系处理。

站长邮箱:SharkHeng@sina.com
站长QQ:1140549900


QQ|RSS|手机版|小黑屋|帮助|吾爱汇编 ( 京公网安备11011502005403号 , 京ICP备20003498号-6 )|网站地图

Powered by Discuz!

吾爱汇编 www.52hb.com

快速回复 返回顶部 返回列表