錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務,錦州廣廈維修電腦,公司IT外包服務
topFlag1 設為首頁
topFlag3 收藏本站
 
maojin003 首 頁 公司介紹 服務項目 服務報價 維修流程 IT外包服務 服務器維護 技術文章 常見故障
錦州市廣廈電腦維修|上門維修電腦|上門做系統|0416-3905144熱誠服務技術文章
.NET逆向南方周易系列注冊機分析

作者: 佚名  日期:2017-04-27 23:02:20   來源: 本站整理

 這段時間對南方周易系列軟件的逆向研究,發現它的大部分注冊機制大部分相同,因為那個軟件不太好找下載地址。
官網上只有排八字、起名和萬年歷的軟件。廣大的壇友又給我提供了批八字與六爻的程序,現在一并發出來。
因為有之前的按步驟操作過程截圖,這次,就只在關鍵的部分進行分析。

注冊機及軟件下載在文未,需要簡單粗暴看結果的,直接翻到結尾:)

一、機器碼處理部分
1.1、MD5運算部分
南方系列的軟件在機器碼的處理部分,分為兩種情況。一種是直接取機器碼去掉"-"后的字符串的前10位與后5位。不進行任何處理
直接MD5計算。
見下面代碼

[C#] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
text = "";
text = Strings.Replace(A_0, " ", "", 1, -1, CompareMethod.Binary);
text = Strings.Replace(text, "-", "", 1, -1, CompareMethod.Binary);
text = Strings.Replace(text, "-", "", 1, -1, CompareMethod.Binary);
text = Strings.Replace(text, ",", "", 1, -1, CompareMethod.Binary);
text = Strings.Replace(text, "\u3000", "", 1, -1, CompareMethod.Binary);
bool flag = text.Length > 10;
if (true)
{
}
int num = 2;
while (true)
{
        switch (num)
        {
        case 0:
                text = Strings.Left(text, 10) + Strings.Right(text, 5);


另一種情況是,在進行了上面的前10位與后5位拼接后,還進行了如下的處理:即每位進行移位、與或運算,(主要是在排八字軟件上。)
該步驟后,在進行MD5運算。

[C#] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
string result;
if (flag)
{
        int num2 = length - 1;
        for (int i = 0; i <= num2; i++)
        {
                int num3 = Strings.Asc(A_0.Substring(i, 1));
                int a_ = num3 + 7;
                int a_2 = num3 * 5;
                num += unchecked((long)y.d(num3, a_, a_2));
                num += unchecked((long)y.c(num3, a_, a_2));
                num += unchecked((long)y.b(num3, a_, a_2));
                num *= unchecked((long)y.a(num3, a_, a_2)) + 12L;
                bool flag2 = num > 100000000L;
                if (flag2)
                {
                        num = Conversions.ToLong(Strings.Right(num.ToString(), 7));
                }
        }
        string text = num.ToString();
        bool flag3 = text.Length >= 6;
        if (flag3)
        {
                result = Strings.Right(text, 6);
        }
        else
        {
                result = (num + 523109L).ToString();
        }
}
return result;


1.2、字符串運算
在經過上面的MD5運算后,該系列軟件這部分的注冊過程還分兩種情況,分別如下:
1.2.1、對MD5運算后截取位置為11、1、15、22、7、5,每位置截取2字符長度,拼接出一個12位長度字符串,
進行12次循環,每次循環判斷是字母還是數字,如果是數字,那么直接與2進行異或,與結果串進行拼接,如果
是字母,那么取ASC碼+20-循環的次數再轉成字符串,如果轉換后的字符是字母O,那么替換成數字0,再完成
所有的計算后,將生成的拼接字符串里面的數字0替換成數字4。完成替換后,從9、5、7、11這4個位置,每位置
取2位,拼接出注冊碼的第1-4位與9-12位。

代碼如下:

[C#] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
public static string b(ref string A_0)
{
        string text = Strings.Replace(text, "0", "4", 1, -1, CompareMethod.Binary);
        result = Strings.Mid(text, 9, 2) + Strings.Mid(text, 5, 2) + Strings.Mid(text, 11, 2) + Strings.Mid(text, 7, 2);
        num = 13;
        continue;
}
case 6:
        {
                text2,
                Strings.Mid(A_0, 11, 2),
                Strings.Mid(A_0, 1, 2),
                Strings.Mid(A_0, 15, 2),
                Strings.Mid(A_0, 22, 2),
                Strings.Mid(A_0, 7, 2),
                Strings.Mid(A_0, 5, 2)
        });
        }
        string text3 = Conversions.ToString(Strings.Chr(Strings.Asc(Strings.Mid(text2, num2, 1)) + 20 - num2));
        flag = (Operators.CompareString(text3, "O", false) == 0);
        num = 10;
        continue;
}
case 9:
{
        int arg_121_0 = num2;
        int num3 = 12;
        if (arg_121_0 > num3)
        {
                num = 5;
                continue;
        }
        goto IL_295;
}
case 10:
 
flag = Versioned.IsNumeric(Strings.Mid(text2, num2, 1));
 
                }
        }



1.2.2
第2種情況,
總體流程是一樣的,惟一不同的就是截取的位置變化了一下,MD5計算完之后,是從6、8、14、12、17、9的
位置來進行讀取拼接,然后計算的時候,數字是與數字5進行異或計算,然后字符部分是把字母O替換成了數字8,
最后抽取注冊碼的位置變成了,7、5、11、9這4個位置。
代碼如下:
 

[C#] 純文本查看 復制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
        string text = "";
        string text2 = "";
        text = string.Concat(new string[]
        {
                text,
                Strings.Mid(A_0, 6, 2),
                Strings.Mid(A_0, 8, 2),
                Strings.Mid(A_0, 14, 2),
                Strings.Mid(A_0, 12, 2),
                Strings.Mid(A_0, 17, 2),
                Strings.Mid(A_0, 9, 2)
        });
        int num = 1;
        do
        {
                bool flag2 = Versioned.IsNumeric(Strings.Mid(text, num, 1));
                if (flag2)
                {
                        text2 += Conversions.ToString(Conversions.ToInteger(Strings.Mid(text, num, 1)) ^ 5);
                }
                else
                {
                        string text3 = Conversions.ToString(Strings.Chr(Strings.Asc(Strings.Mid(text, num, 1)) + 20 - num));
                        bool flag3 = Operators.CompareString(text3, "O", true) == 0;
                        if (flag3)
                        {
                                text2 += "0";
                        }
                        else
                        {
                                text2 += text3;
                        }
                }
                num++;
        }
        while (num <= 12);
        text2 = Strings.Replace(text2, "0", "8", 1, -1, CompareMethod.Text);
        result = Strings.Mid(text2, 7, 2) + Strings.Mid(text2, 5, 2) + Strings.Mid(text2, 11, 2) + Strings.Mid(text2, 9, 2);
}
return result;



二、授權日期計算部分
授權日期這部分計算,沒有變化,略過。詳見我上一篇帖子。
南方排八字專業程序 V7.30 .net破解追碼注冊教程及爆破版

三、注冊機及部分周易程序下載地址
由于官網和壇友提供的周易程序,可能存在版本不一致的情況,在注冊的時候,從程序列表里面,
多選幾個來計算注冊碼,基本上能覆蓋到所有情況。


周易系列下載地址:鏈接: http://pan.baidu.com/s/1mi2Ymow 密碼: 8nce
注冊機下載地址:  注冊機.zip (12.38 KB, 下載次數: 82) 


 

計算注冊碼的時候,如果發現有注冊碼不對的,就換一個軟件名稱來計算一下,應該會
計算出2種不同的注冊碼,一定會有一個是正確的。


 


 

 

 



熱門文章
  • 機械革命S1 PRO-02 開機不顯示 黑...
  • 聯想ThinkPad NM-C641上電掉電點不...
  • 三星一體激光打印機SCX-4521F維修...
  • 通過串口命令查看EMMC擦寫次數和判...
  • IIS 8 開啟 GZIP壓縮來減少網絡請求...
  • 索尼kd-49x7500e背光一半暗且閃爍 ...
  • 樓宇對講門禁讀卡異常維修,讀卡芯...
  • 新款海信電視機始終停留在開機界面...
  • 常見打印機清零步驟
  • 安裝驅動時提示不包含數字簽名的解...
  • 共享打印機需要密碼的解決方法
  • 圖解Windows 7系統快速共享打印機的...
  • 錦州廣廈電腦上門維修

    報修電話:13840665804  QQ:174984393 (聯系人:毛先生)   
    E-Mail:174984393@qq.com
    維修中心地址:錦州廣廈電腦城
    ICP備案/許可證號:遼ICP備2023002984號-1
    上門服務區域: 遼寧錦州市區
    主要業務: 修電腦,電腦修理,電腦維護,上門維修電腦,黑屏藍屏死機故障排除,無線上網設置,IT服務外包,局域網組建,ADSL共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 国产AⅤ无码专区亚洲AV| 亚洲最大天堂无码精品区| 日韩少妇无码一区二区三区| 国产精品一区二区久久精品无码| 国产精品无码无卡在线播放| 无翼乌工口肉肉无遮挡无码18| 国产成人精品无码一区二区三区 | 亚洲AV无码乱码麻豆精品国产| 无码精品人妻一区二区三区影院| 亚洲精品无码av人在线观看| 日韩毛片无码永久免费看| 久久精品亚洲AV久久久无码| av无码精品一区二区三区四区| 国产日产欧洲无码视频| 人妻丰满熟妇无码区免费| 91精品久久久久久无码| 一本色道久久HEZYO无码| 国产精品无码久久av| 无码国产精品一区二区免费I6| 亚洲av永久无码| 蜜臀AV无码一区二区三区| 久久久久无码精品国产不卡| 一本色道无码不卡在线观看| 国产综合无码一区二区辣椒| 国产强被迫伦姧在线观看无码| 无码中文字幕乱码一区| 亚洲精品无码专区在线播放| 亚洲中文字幕久久无码| 无码人妻一区二区三区免费手机| 精品人妻无码一区二区色欲产成人| 人妻少妇偷人精品无码| 人妻中文字系列无码专区| 无码人妻丰满熟妇区五十路百度 | 狼人无码精华AV午夜精品| 亚洲成a∧人片在线观看无码| 精品日韩亚洲AV无码| 2024你懂的网站无码内射| 亚洲欧洲av综合色无码| 成人无码Av片在线观看| 国产AV无码专区亚洲AV漫画| 国产在线精品无码二区|