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

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

 這段時(shí)間對南方周易系列軟件的逆向研究,發(fā)現(xiàn)它的大部分注冊機(jī)制大部分相同,因?yàn)槟莻(gè)軟件不太好找下載地址。
官網(wǎng)上只有排八字、起名和萬年歷的軟件。廣大的壇友又給我提供了批八字與六爻的程序,現(xiàn)在一并發(fā)出來。
因?yàn)橛兄暗陌床襟E操作過程截圖,這次,就只在關(guān)鍵的部分進(jìn)行分析。

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

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

[C#] 純文本查看 復(fù)制代碼
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);


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

[C#] 純文本查看 復(fù)制代碼
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、字符串運(yùn)算
在經(jīng)過上面的MD5運(yùn)算后,該系列軟件這部分的注冊過程還分兩種情況,分別如下:
1.2.1、對MD5運(yùn)算后截取位置為11、1、15、22、7、5,每位置截取2字符長度,拼接出一個(gè)12位長度字符串,
進(jìn)行12次循環(huán),每次循環(huán)判斷是字母還是數(shù)字,如果是數(shù)字,那么直接與2進(jìn)行異或,與結(jié)果串進(jìn)行拼接,如果
是字母,那么取ASC碼+20-循環(huán)的次數(shù)再轉(zhuǎn)成字符串,如果轉(zhuǎn)換后的字符是字母O,那么替換成數(shù)字0,再完成
所有的計(jì)算后,將生成的拼接字符串里面的數(shù)字0替換成數(shù)字4。完成替換后,從9、5、7、11這4個(gè)位置,每位置
取2位,拼接出注冊碼的第1-4位與9-12位。

代碼如下:

[C#] 純文本查看 復(fù)制代碼
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計(jì)算完之后,是從6、8、14、12、17、9的
位置來進(jìn)行讀取拼接,然后計(jì)算的時(shí)候,數(shù)字是與數(shù)字5進(jìn)行異或計(jì)算,然后字符部分是把字母O替換成了數(shù)字8,
最后抽取注冊碼的位置變成了,7、5、11、9這4個(gè)位置。
代碼如下:
 

[C#] 純文本查看 復(fù)制代碼
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;



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

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


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


 

計(jì)算注冊碼的時(shí)候,如果發(fā)現(xiàn)有注冊碼不對的,就換一個(gè)軟件名稱來計(jì)算一下,應(yīng)該會
計(jì)算出2種不同的注冊碼,一定會有一個(gè)是正確的。


 


 

 

 



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

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

    技術(shù)支持:微軟等
    主站蜘蛛池模板: 人妻丰满熟妇AV无码区乱| 免费无码不卡视频在线观看| 亚洲日韩国产二区无码| 无码中文字幕日韩专区| 亚洲av永久中文无码精品| 高潮潮喷奶水飞溅视频无码| 亚洲一区二区三区无码国产| 日韩精品无码视频一区二区蜜桃| 亚洲中文无码卡通动漫野外| 亚洲av无码成人精品区在线播放 | 久久无码专区国产精品s| 亚洲国产精品无码中文lv| 免费无码作爱视频| 国产精品无码亚洲精品2021| 无码GOGO大胆啪啪艺术| 伊人久久无码中文字幕| 无翼乌工口肉肉无遮挡无码18| 无码任你躁久久久久久| 无码GOGO大胆啪啪艺术| 曰批全过程免费视频在线观看无码| 无码国产精品一区二区高潮| 国产免费午夜a无码v视频| 亚洲av午夜精品无码专区 | av区无码字幕中文色| av潮喷大喷水系列无码| 无码乱人伦一区二区亚洲一| 中文字幕人妻无码一区二区三区 | 亚洲va无码va在线va天堂| 国产在线无码不卡影视影院 | 无码区国产区在线播放| yy111111少妇影院里无码| 国产亚洲人成无码网在线观看| 免费无码黄网站在线观看| 无码一区二区三区免费视频| 色综合久久久无码网中文| 亚洲aⅴ天堂av天堂无码麻豆| 97精品人妻系列无码人妻| 亚洲精品无码少妇30P| 亚洲AV无码一区二区三区牲色| 亚洲AV无码一区二区三区久久精品 | 无码国产乱人伦偷精品视频|