sourceinsight四種版本序列號繞過

最近閒來無事,因此認真分析了一下sourceinsight這個軟件,希望和廣大網友一起探討討論

一、sourceinsight3.0

沒有地址隨機化(ASLR)

反靜態調試:

目測有反靜態分析的工具

 

 

在43A105處,分析函數調用異常,43A105內部不存在棧不平衡的現象(入棧前和出棧前要保證堆棧平衡)

其實想繞過這個反靜態調試,可以直接把難以分析調用函數的call指令轉爲強跳轉或者改爲nop即可,然後即可反編譯

反反彙編也能解決,但是可以直接動調:

第一組數很容易看

第二組數要求是6位數:

第三組數:

單純看彙編我沒有跟進那個計算函數,直接看的結果,其實就是將輸入的第三組數變爲整型(16進制),然後和系統根據第二組數計算的第三組數的結果相比

輸入:SI3US-123456-9999

可以看到最後cmp esi,eax的比較

因此如果第二組數輸入123456,則第三組數輸入92379應該就可以,嘗試一下:

具體的計算函數:可以回頭寫註冊機用

二、sourceinsight3.5,其實也是和3.0一樣,具有反反編譯功能

沒有地址隨機化(ASLR)

反靜態調試:

目測有反靜態分析的工具

動調+ida結合

和3000不同的地方是,3000整個驗證過程都寫在主函數裏,3500是封裝到最後的一個函數內,反而便於我們直接F5分析了,因爲3000驗證過程寫在主函數裏,又因爲其反反編譯的緣故,我們不便於分析序列號,但是3000雖然主函數不能直接F5,但是其驗證過程封裝在子函數內,子函數可以直接F5,神不神奇

首先在主函數裏找到他封裝的驗證函數位置:

然後跟進,這個地方有點意思,很多逆向的思路,看他是否匹配ES3US,所以以我們正常的思維,按理說應該讓他匹配,但其實這個地方,不應該讓他匹配,因爲第一組數應該是SI3US,其實這個在輸入序列號的時候,已經提示了第一組數是SI3US,真是太搞笑了

因此我們應該跟進449B2C函數

賊坑的地方,第二組序列號他會有過濾機制,比如123456對應的整型:1E240就會被過濾,一開始搞得我不行,但是輸入一些不常見的,那個循環判斷就能過掉了,所以說平時一開始驗證序列號,別拿123456這種,很容易就被過濾掉了

其實sub_4F521E是計算函數,可以寫註冊機的地方。整個思路就是:拿最後一組數變爲整型,然後拿第二組數經過一個計算,和最後一組數比較,然後判定。

輸入:SI3US-990831-xxxxx  

拿OD看一下:

拿最後一組數11111的整型和計算的結果比較,可以看到結果是00011064,即爲:69732

得到一組序列號:SI3US-990831-69732,驗證一下:

還有賊坑的地方:

我們到449A4E裏面看一下,傳參的v5,進去之後其實是a2,這個函數裏面的v5不是真正的那個v5,佩服寫代碼的老哥

拿來寫註冊機的函數:4F521E

三、sourceinsight4.0

首先先查殼,沒有殼

之後先使用一下,捕捉關鍵語句:the serial number you entered is not correct

直接扔到ida裏,準備搜索關鍵字符串,然後定位

一鍵F5

從上面的代碼可以看出來序列號結構:

SXXX-XXXX-XXXX-XXXX

第一組第二個數必須是數字

S(0-9)(T/B/S/U)X-X(R/G/D/F)XX-XXXX-XXXX

爲了能返回result=1,我們需要跟進sub_445DD0函數內,看一下怎麼保證這個函數能夠返回數值0

然後我們繼續跟進sub_444820

因此能夠得出:

每組第一位必須是字符,這樣可以保證直接過掉

sub_445D00過掉之後,我們繼續看,最後一組數根據前三組計算得到

sub_50A560是根據前三組數計算最後一組數的函數,然後判斷是否相等,因此要保證相等,就跟進sub_50A560函數看,然後根據綜上的分析,可以編寫註冊機

不編寫註冊機,根據前幾位的特徵,我們可以直接用OD拿出來看最後一組數

先來一組個人用例,然後在OD裏跟調

得到最後四位YZJU,然後重載source insight看,成功繞過

四、sourceinsight最新版

和sourceinsight4版本,主要區別是對於每組數首字節的判斷

因爲原來的版本,sub_445DD0函數的意義不大(開發者自己的問題?逗樂了)

目測對於sourceinsight4105版本,不用限制首字符是字母,可以拿OD跟蹤嘗試一下

我們測試序列號:

S4SV-UFWT-ZPRA-1111

一樣,可以拿出最後一組數的結果,S4SV

對於註冊機的編寫,兩版程序相同

 

這就是以上四個版本我的分析過程,可以說收穫很多,也希望網友們能一起探討討論!

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章