y.a過程計(jì)算出第一步注冊碼,6位數(shù)字 818768
x.a過程,通過818768,計(jì)算出第2過程的注冊碼,32位長度:EFE1499CED0B97FE91CFCBB71E0F2C98
這個過程太過于復(fù)雜,沒有看明白,只能略過去了。
(備注:整體的計(jì)算過程如此,由于之前破解的時候,已經(jīng)把軟件注冊了,這個是剛安裝的虛擬機(jī),在里面計(jì)算出來的,機(jī)器碼
是:67154-29574-61760-40730,最終計(jì)算出來的注冊為:2TTUCKBA2181B81)
y.b過程:此過程是通過上面的步驟計(jì)算出來的字符串,通過循環(huán)計(jì)算、取ASC碼,再間隔取位拼接出最終的8位值:2TTU2181
這是該軟件的整個注冊流程示意。
小結(jié):能從頭一步一步看到這里,如果還能跟著動手實(shí)踐過來,那么這款軟件,或者同同樣類型的軟件,我們就可以嘗試著來破解了。
我們回過頭來,在從新看一下過程,
軟件查殼---->(如有De4dot去混淆)----->扔進(jìn)Dnspy進(jìn)行動態(tài)分析----->依據(jù)注冊提示搜索關(guān)鍵字(注冊、注冊錯誤等提示信息)
---->根據(jù)找到的方法或者函數(shù)或者調(diào)用,單步跟蹤---->觀察局部變量窗口,注意其中的每個值----->遇到關(guān)鍵的調(diào)用,F(xiàn)11步進(jìn)跟蹤
或者Ctrl+鼠標(biāo)單擊調(diào)用開新窗口跟蹤過去。--->能到這里,基本上可以有80%的可能性找到注冊碼。余下的就是耐心和不斷遇到新問題,
遇新問題,多多論壇搜索或者百度。
至此,已經(jīng)完成整個注冊過程的分析,雖然很短,也可能講的不太明白。但是對于一個新入門的小白來說,已經(jīng)是很不容易了。
也希望得到更多的壇友與大神的幫助,共同成長。
三、最后的最后
由于算法中關(guān)于機(jī)器碼的第2個步驟沒有看懂,太過冗長與復(fù)雜,只能選擇先爆破,還做不出注冊機(jī)來。只能先做個爆破的版本,給
壇友使用。
最后附上爆破的主程序地址:http://pan.baidu.com/s/1mimIAIO
[C#] 純文本查看 復(fù)制代碼
01
02
03
04
05
06
07
08
09
10
11
12
13
14
15
16
17
18
19
|
catch (Exception exception1)
{
ProjectData.SetProjectError(exception1);
Exception exception = exception1;
ProjectData.ClearProjectError();
}
if (Operators.CompareString(y.b, right, true) <= 0)
{
y.a(ref right);
if (Operators.CompareString(left, y.c, true) == 0)
{
y.c = "a@^*(^*ga$(&%io";
return true;
}
}
return false;
}
return false;
}
|
編輯了好長好長時間,那個將word中粘貼過來的功能好像不太好用。不知道編輯出來的效果好不好。
編輯完看了一下,圖片的順序好像有點(diǎn)亂,最后面還多出一張,重新編輯,還看不到。大家對付看吧,
有不明白的地方,可以留言,我看見了會回復(fù),也可以一起來學(xué)習(xí),更希望得到大神的指點(diǎn)。
總結(jié):;
1、通過本次的破解體驗(yàn),基本上掌握和了解了.net破解的流程與使用的工具。其中大愛Scan id/Dot net id用來查殼,De4dot脫殼,
Dnspy動態(tài)調(diào)試追碼,Reflector+Reflexi爆破。本次調(diào)試由于軟件可以看出反匯編的代碼,沒有用De4dot反混淆。這個軟件的使用
相對簡單,在cmd模式下,執(zhí)行 de4dot 空格 待反混淆軟件名稱 回車就OK,我看他們有帶/df參數(shù)的,結(jié)果都報(bào)錯,直接de4dot
加軟件的路徑名稱就可以脫掉。但是它們說DN Guard這種干不掉,好像是個強(qiáng)殼。
2、了解了.net的混淆、反混淆、強(qiáng)命名、命名空間等的一些概念,如果能會一些編程語言,對調(diào)試程序有很多益處,哪怕只有一點(diǎn)點(diǎn)。
知道一些基礎(chǔ)語法,對于逆向調(diào)試的軟件整個流程的邏輯結(jié)構(gòu)會有個大致的掌握。
3、軟件的注冊機(jī)制,個人感覺絕大部分或者全部,都應(yīng)該會在軟件內(nèi)有一個驗(yàn)證機(jī)制,也就是在軟件內(nèi)部一定會有注冊碼的計(jì)算過程。
通過跟蹤到特定的領(lǐng)空,就可以把碼拿出來。(也可能會有網(wǎng)絡(luò)驗(yàn)證的那種,讀取到注冊碼,直接服務(wù)器比對,來驗(yàn)證軟件的授權(quán)情況,
不過針對這種情況,也可以處理,就是跟蹤到驗(yàn)證的部位,直接修改代碼的返回值,還和爆破差不多。),在這里就是思考注冊的流程
然后想不同的辦法來對付它。
能想到的就這些,尋求逆向的小伙伴一起上路。
上一頁 [1] [2]
|