飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 7669|回复: 25

[原创] Color Schemer v3 算法分析+注册机源代码

[复制链接]
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

    发表于 2015-8-14 09:43:22 | 显示全部楼层 |阅读模式
    1、软件没有加壳;
    2、字符串切入关键点
    3、算法简单,主要是为了学写注册机


    4、算法分析代码:

    1. 004A833E  |.  8945 F8       mov dword ptr ss:[ebp-0x8],eax
    2. 004A8341  |.  8B45 FC       mov eax,dword ptr ss:[ebp-0x4]           ;  (ASCII "ChinaPYG")
    3. 004A8344  |.  E8 CBC4F5FF   call Colorsch.00404814                   ;  计算注册名长度
    4. 004A8349  |.  8BF0          mov esi,eax
    5. 004A834B  |.  85F6          test esi,esi
    6. 004A834D  |.  7E 17         jle short Colorsch.004A8366
    7. 004A834F  |.  BB 01000000   mov ebx,0x1                              ;  ebx初始化为1
    8. 004A8354  |>  8B45 FC       /mov eax,dword ptr ss:[ebp-0x4]          ;  (ASCII "ChinaPYG")
    9. 004A8357  |.  0FB64418 FF   |movzx eax,byte ptr ds:[eax+ebx-0x1]     ;  依次取注册名的每一位,AS入eax
    10. 004A835C  |.  C1E0 10       |shl eax,0x10                            ;  左移动0x10=16位
    11. 004A835F  |.  0145 F8       |add dword ptr ss:[ebp-0x8],eax          ;  累加和入[ebp-0x8]=02D30000  
    12. 004A8362  |.  43            |inc ebx
    13. 004A8363  |.  4E            |dec esi
    14. 004A8364  |.^ 75 EE         \jnz short Colorsch.004A8354
    15. 004A8366  |>  8D55 EC       lea edx,dword ptr ss:[ebp-0x14]
    16. 004A8369  |.  8B45 F8       mov eax,dword ptr ss:[ebp-0x8]           ;  累加和=02D30000
    17. 004A836C  |.  E8 B302F6FF   call Colorsch.00408624                   ;  16进制转10进制,0x02D30000 转为 "47382528"
    18. 004A8371  |.  8B45 FC       mov eax,dword ptr ss:[ebp-0x4]           ;  (ASCII "ChinaPYG")
    19. 004A8374  |.  E8 9BC4F5FF   call Colorsch.00404814                   ;  计算注册名长度
    20. 004A8379  |.  8BF0          mov esi,eax
    21. 004A837B  |.  85F6          test esi,esi
    22. 004A837D  |.  7E 59         jle short Colorsch.004A83D8
    23. 004A837F  |.  BB 01000000   mov ebx,0x1                              ;  ebx初始化为1
    24. 004A8384  |>  8B45 FC       /mov eax,dword ptr ss:[ebp-0x4]          ;  (ASCII "ChinaPYG")
    25. 004A8387  |.  0FB64418 FF   |movzx eax,byte ptr ds:[eax+ebx-0x1]     ;  依次取注册名的每一位,AS入eax
    26. 004A838C  |.  B9 09000000   |mov ecx,0x9                             ;  0x9入ecx
    27. 004A8391  |.  33D2          |xor edx,edx                             ;  edx清零
    28. 004A8393  |.  F7F1          |div ecx                                 ;  注册名每个字符AS与0x9取余
    29. 004A8395  |.  8955 F4       |mov dword ptr ss:[ebp-0xC],edx
    30. 004A8398  |.  8D45 E8       |lea eax,dword ptr ss:[ebp-0x18]
    31. 004A839B  |.  8B55 EC       |mov edx,dword ptr ss:[ebp-0x14]         ;  (ASCII "47382528")
    32. 004A839E  |.  8A541A FF     |mov dl,byte ptr ds:[edx+ebx-0x1]        ;  依次取字符串(ASCII "47382528")的每一位AS值入dl
    33. 004A83A2  |.  E8 95C3F5FF   |call Colorsch.0040473C                  ;  猜是A码转U码
    34. 004A83A7  |.  8B45 E8       |mov eax,dword ptr ss:[ebp-0x18]
    35. 004A83AA  |.  E8 B103F6FF   |call Colorsch.00408760
    36. 004A83AF  |.  8945 F0       |mov dword ptr ss:[ebp-0x10],eax         ;  eax= ,7,3,8,
    37. 004A83B2  |.  8B45 F4       |mov eax,dword ptr ss:[ebp-0xC]          ;  余数入eax
    38. 004A83B5  |.  0345 F0       |add eax,dword ptr ss:[ebp-0x10]         ;  注册名对应位AS值与0x9的余数+字符(ASCII "47382528")对应位数字
    39. 004A83B8  |.  B9 09000000   |mov ecx,0x9
    40. 004A83BD  |.  99            |cdq
    41. 004A83BE  |.  F7F9          |idiv ecx                                ;  和取余
    42. 004A83C0  |.  8BC2          |mov eax,edx                             ;  余数入eax= 8,3,0,1,0,4,1,7
    43. 004A83C2  |.  8D55 E4       |lea edx,dword ptr ss:[ebp-0x1C]
    44. 004A83C5  |.  E8 5A02F6FF   |call Colorsch.00408624                  ;  猜是A码转U码
    45. 004A83CA  |.  8B55 E4       |mov edx,dword ptr ss:[ebp-0x1C]         ;  U码 8,3,0,1,0,4,1,7
    46. 004A83CD  |.  8BC7          |mov eax,edi
    47. 004A83CF  |.  E8 48C4F5FF   |call Colorsch.0040481C                  ;  
    48. 004A83D4  |.  43            |inc ebx
    49. 004A83D5  |.  4E            |dec esi
    50. 004A83D6  |.^ 75 AC         \jnz short Colorsch.004A8384
    51. 004A83D8  |>  68 48844A00   push Colorsch.004A8448                   ;  CS3
    52. 004A83DD  |.  8D45 E0       lea eax,dword ptr ss:[ebp-0x20]
    53. 004A83E0  |.  50            push eax
    54. 004A83E1  |.  B9 05000000   mov ecx,0x5                              ;  取的位数为5
    55. 004A83E6  |.  BA 02000000   mov edx,0x2                              ;  从第二位开始取
    56. 004A83EB  |.  8B45 EC       mov eax,dword ptr ss:[ebp-0x14]          ;  (ASCII "47382528")
    57. 004A83EE  |.  E8 81C6F5FF   call Colorsch.00404A74                   ;  截取字符串
    58. 004A83F3  |.  FF75 E0       push dword ptr ss:[ebp-0x20]             ;  (ASCII "73825")
    59. 004A83F6  |.  8D45 DC       lea eax,dword ptr ss:[ebp-0x24]
    60. 004A83F9  |.  50            push eax
    61. 004A83FA  |.  8B07          mov eax,dword ptr ds:[edi]               ;  (ASCII "83010417") 余数组成的字符串
    62. 004A83FC  |.  B9 08000000   mov ecx,0x8                              ;  取的长度为8位
    63. 004A8401  |.  33D2          xor edx,edx                              ;  从第0们开始取
    64. 004A8403  |.  E8 6CC6F5FF   call Colorsch.00404A74
    65. 004A8408  |.  FF75 DC       push dword ptr ss:[ebp-0x24]             ;  (ASCII "83010417")
    66. 004A840B  |.  8BC7          mov eax,edi                              ;  (ASCII "83010417")
    67. 004A840D  |.  BA 03000000   mov edx,0x3
    复制代码



    5、注册机源代码:

    1. using System;
    2. using System.Collections.Generic;
    3. using System.ComponentModel;
    4. using System.Data;
    5. using System.Drawing;
    6. using System.Linq;
    7. using System.Text;
    8. using System.Threading.Tasks;
    9. using System.Windows.Forms;
    10. namespace Color_Schemer_v3
    11. {
    12.     public partial class Form1 : Form
    13.     {
    14.         public Form1()
    15.         {
    16.             InitializeComponent();
    17.         }
    18.         private void btnKeyGen_Click(object sender, EventArgs e)
    19.         {
    20.             if (txtName.Text.Trim().Length == 8)
    21.             {
    22.                 //计算第一段注册码
    23.                 string ordName = txtName.Text.Trim();
    24.                 int sum = 0;
    25.                 int i = 0;
    26.                 int ASCIICode = 0;
    27.                 double number1;
    28.                 string str = "CS3";
    29.                 for (i = 0; i < txtName.Text.Length; i++)
    30.                 {
    31.                     ASCIICode = (int)ordName[i];
    32.                     sum += ASCIICode;   //723
    33.                 }
    34.                 number1 = Math.Pow(2, 16) * sum;   //左移动0x10即16位,2的16次方;用10进制直接计算(10进制:47382528)
    35.                
    36.                 txtKey1.Text = str + (number1.ToString()).Substring(1, 5);

    37.                 //计算第二段注册码
    38.                 int MODNum = 0;
    39.                 string txtKey = "";
    40.                 int p;
    41.                 for (i = 0; i < txtName.Text.Length; i++)
    42.                 {
    43.                     MODNum = (int)ordName[i] % 9;
    44.                     int k = Convert.ToInt32((number1.ToString()[i]).ToString());
    45.                     int number = (MODNum + k) % 9;
    46.                     txtKey += number.ToString();
    47.                 }
    48.                 txtKey2.Text = txtKey;
    49.             }
    50.             else
    51.             {
    52.                 txtName.SelectAll(); //输入位数错误时选中框中的内容
    53.                 txtName.Focus();     //让输入框获得焦点
    54.                 MessageBox.Show("你输入的字符串位数错误,请输入8位字符串", "错误提示");
    55.             }

    56.         }
    57.         private void txtName_TextChanged(object sender, EventArgs e)
    58.         {
    59.             txtKey1.Text = "";     //注册名修改清空注册码框
    60.             txtKey2.Text = "";
    61.         }
    62.         private void linkPYG_LinkClicked(object sender, LinkLabelLinkClickedEventArgs e)
    63.         {
    64.             System.Diagnostics.Process.Start("[url=https://www.chinapyg.com]https://www.chinapyg.com[/url]");
    65.         }
    66.         private void txtName_DoubleClick(object sender, EventArgs e)
    67.         {
    68.             if (txtName.Text.Length == 8)
    69.             {
    70.                 Clipboard.SetText(txtName.Text);
    71.                 labCopy.Visible = true;
    72.                 labCopy.Text = "注册名复制成功";
    73.             }
    74.         }
    75.         private void txtKey1_DoubleClick(object sender, EventArgs e)
    76.         {
    77.             if (txtKey1.Text.Length == 8)
    78.             {
    79.                 Clipboard.SetText(txtKey1.Text);
    80.                 labCopy.Visible = true;
    81.                 labCopy.Text = "第一段复制成功";
    82.             }
    83.         }
    84.         private void txtKey2_DoubleClick(object sender, EventArgs e)
    85.         {
    86.             if (txtKey2.Text.Length == 8)
    87.             {
    88.                 Clipboard.SetText(txtKey2.Text);
    89.                 labCopy.Visible = true;
    90.                 labCopy.Text = "第二段复制成功";
    91.             }
    92.         }

    93.         private void Form1_Load(object sender, EventArgs e)
    94.         {
    95.             labCopy.Visible = false;
    96.         }
    97.         private void txtName_TextChanged_1(object sender, EventArgs e)
    98.         {
    99.             txtKey1.Text = "";
    100.             txtKey2.Text = "";
    101.             labCopy.Visible = false;
    102.         }
    103.         private void txtName_MouseLeave(object sender, EventArgs e)
    104.         {
    105.             labCopy.Visible = false;
    106.         }
    107.     }
    108. }
    复制代码


    11.png 22.png

    33.png

    44.png

    Color Schemer v3注册机源代码.rar (110.85 KB, 下载次数: 28)

    评分

    参与人数 3威望 +76 飘云币 +128 收起 理由
    Rooking + 20 + 40 感谢发布原创作品!
    Dxer + 40 + 40 PYG有你更精彩!
    alexwang + 16 + 48 很给力!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    慵懒
    2015-8-14 00:08
  • 签到天数: 25 天

    [LV.4]偶尔看看III

    发表于 2015-8-14 10:19:45 | 显示全部楼层
    膜拜又一个算法牛的出现。。。

    点评

    这个不是传说中的算法牛吗?  详情 回复 发表于 2015-8-14 21:05
    让ABC大神看笑话了 有时间带带一起玩啊  详情 回复 发表于 2015-8-14 10:47
    PYG19周年生日快乐!
  • TA的每日心情

    2022-5-20 13:32
  • 签到天数: 235 天

    [LV.7]常住居民III

    发表于 2015-8-14 10:28:51 | 显示全部楼层
    厉害 , C#写的注册机吗
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

     楼主| 发表于 2015-8-14 10:47:05 | 显示全部楼层
    crackvip 发表于 2015-8-14 10:19
    膜拜又一个算法牛的出现。。。

    让ABC大神看笑话了
    有时间带带一起玩啊

    点评

    极客猫童鞋,你把妹子看成猴子了  详情 回复 发表于 2015-8-14 11:07
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

     楼主| 发表于 2015-8-14 10:51:36 | 显示全部楼层
    alexwang 发表于 2015-8-14 10:44
    支持极客猫  加油哦

    谢谢王版支持
    大家一起加油~
    PYG19周年生日快乐!

    该用户从未签到

    发表于 2015-8-14 11:07:15 | 显示全部楼层
    GeekCat 发表于 2015-8-14 10:47
    让ABC大神看笑话了
    有时间带带一起玩啊

    极客猫童鞋,你把妹子看成猴子了{:soso_e120:}

    点评

    真看错了,之前妹子的ID是红色的啊~~~ 在这说声妹子不好意思哦~~~~  详情 回复 发表于 2015-8-14 11:35
    PYG19周年生日快乐!
  • TA的每日心情
    难过
    2024-3-10 19:49
  • 签到天数: 473 天

    [LV.9]以坛为家II

    发表于 2015-8-14 11:27:18 | 显示全部楼层
    GC斑竹 加油。我有幸见证了一个算法牛的崛起

    点评

    这个也是算法牛啊。  详情 回复 发表于 2015-8-14 21:10
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

     楼主| 发表于 2015-8-14 11:35:37 | 显示全部楼层
    [PYG]版务督察 发表于 2015-8-14 11:07
    极客猫童鞋,你把妹子看成猴子了

    {:soso_e118:}{:soso_e118:}
    真看错了,之前妹子的ID是红色的啊~~~

    在这说声妹子不好意思哦~~~~
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 15:21
  • 签到天数: 487 天

    [LV.9]以坛为家II

    发表于 2015-8-14 14:04:42 | 显示全部楼层
    膜拜又一个算法牛的出现。。。

    点评

    R大我还在学走路哦~~ 你早已健步如飞~~  详情 回复 发表于 2015-8-14 14:31
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2019-3-25 14:18
  • 签到天数: 881 天

    [LV.10]以坛为家III

     楼主| 发表于 2015-8-14 14:31:42 | 显示全部楼层
    Rooking 发表于 2015-8-14 14:04
    膜拜又一个算法牛的出现。。。

    R大我还在学走路哦~~
    你早已健步如飞~~
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

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