錦州市廣廈電腦維修|上門維修電腦|上門做系統|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共享上網,路由器設置,數據恢復,密碼破解,光盤刻錄制作等服務

    技術支持:微軟等
    主站蜘蛛池模板: 秋霞鲁丝片Av无码少妇| 国产综合无码一区二区色蜜蜜| 日韩AV无码精品人妻系列| 久久午夜无码免费| 精品久久久无码人妻中文字幕| 免费人成无码大片在线观看 | 亚洲AV无码成人精品区大在线| 久久精品无码一区二区日韩AV | 亚洲啪AV永久无码精品放毛片| 无码国内精品久久人妻麻豆按摩| 久久无码AV一区二区三区| 无码av中文一二三区| 亚洲GV天堂无码男同在线观看| 无码A级毛片免费视频内谢| 人妻少妇无码精品视频区| 无码高潮少妇毛多水多水免费| 18禁网站免费无遮挡无码中文 | 国产成A人亚洲精V品无码性色| 亚洲人成无码www久久久| 亚洲AV无码无限在线观看不卡| 中文无码久久精品| 国产精品无码a∨精品| 亚洲av永久无码精品漫画| 免费无码又爽又刺激毛片| 精品久久久久久久无码| 无码无套少妇毛多18p| 亚洲va中文字幕无码久久| 国产丝袜无码一区二区三区视频| 国产av无码久久精品| 国产精品无码aⅴ嫩草| 亚洲AV无码专区在线厂| 国产AV天堂无码一区二区三区| 精品久久久久久久无码久中文字幕| 无码办公室丝袜OL中文字幕| 伊人久久大香线蕉无码| 色国产色无码色欧美色在线| 午夜无码性爽快影院6080| 人妻在线无码一区二区三区| 无码一区二区三区爆白浆| (无码视频)在线观看| 亚洲人成无码www久久久|