日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

新手破解教程:WinAudioRecorder破解(带注册机)

發布時間:2024/1/1 编程问答 36 豆豆
生活随笔 收集整理的這篇文章主要介紹了 新手破解教程:WinAudioRecorder破解(带注册机) 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.


(不要問我為什么不在52寫文章,不要問我!)

文章最后附帶本次教程的WinAudioRecorder軟件官方版及注冊機,供大家學習交流使用

0x00.破解信息

【軟件名稱】:WinAudio Recorder

【版本信息】:2.2.2.0

【編寫語言】:Microsoft?Visual?C++?7.0(PEID識別)

【軟件介紹】:一款簡單易用的高質量聲卡錄音軟件。能夠以徹底CD音質錄制各種Windows應用程序播放的音頻信息。同時支持從麥克風/錄音帶/錄像帶或者其他的輸入設備中輸入的音頻信號。

【破解內容】:該軟件在未注冊情況下可正常使用,但錄音功能只能錄制1分鐘以內的音頻文件,注冊后將取消這個限制。

【破解工具】:PEID、OllyDbg

0x01.破解前準備

首先打開安裝程序正常進行安裝


安裝完成后進入軟件主目錄下,運行主程序


會出現以下界面,聲明試用版只能錄制生成1分鐘以下的音頻文件,或者點擊“Buy Now”跳轉到一個頁面購買以獲得注冊碼:


購買頁面


(呵呵,25USD=161RMB啊,可是只能錄制1分鐘的音頻,還不如其他免費軟件呢。。。)

那就只能破解它了,我們使用PEID查殼:


Microsoft?Visual?C++?7.0的語言,沒殼,這樣也相對簡單一點。

然后運行一下驗證過程,找一下相關回顯字符串的內容,如下:


Please inputcorrect User Name!

Please inputcorrect Registration Code!

這兩個字符串將作為我們破解工作的切入點。

準備工作到此結束,接下來我們開始對用戶名和注冊碼的破解。

0x02.破解流程

使用OllyDbg載入軟件主程序,點擊F9一次進入程序入口


使用Ultra String Reference插件(沒有可自行下載安裝)查找字符串,可以直接搜Please就找到了我們之前看到的兩個字符串


雙擊就來到了對應的代碼段,這個應該就是驗證注冊碼的代碼部分,先在這加個斷點,重新運行,輸入便于觀察的測試用戶名:123456,注冊碼:qwerty(還不知道注冊碼是數字還是英文,先嘗試),來到剛才斷點的位置


走了一遍發現用戶名要大于等于2字節,而注冊碼要大于等于8字節,用戶名的條件滿足,但注冊碼長度不夠導致跳轉到注冊失敗,提前結束驗證。


第二次嘗試,輸入測試用戶名:12345678,注冊碼:qwertyuiop

順利進入驗證部分,按F7一步步跟著走,注意觀察每一步的匯編代碼和寄存器變化


對于用戶名的檢查機制如下:從用戶名第1個字節開始,逐字節進行一系列運算并將結果進行保存,估計保存結果將作為真正的注冊碼,運算方法在之后詳細說明。


我們先繼續單步跟蹤,并做一些必要的注釋,記錄下來每一步執行的操作。

?

用戶名檢查完成之后,接下來就進行注冊碼的驗證。


對于注冊碼的驗證就比較簡單了,首先是判斷注冊碼是否達到了8位,這段代碼很冗余,一位一位的判斷直到8位,然后走到這里,才開始比較注冊碼


比較完第一位顯然不對,達到一個較遠的跳轉0040F38E,到達這里


應該是跳到注冊失敗的代碼,但是再次進行了注冊碼第一位的比較,繼續跟著走,就發現如下情況:

注冊碼第1位與0x33(‘8’)比較

注冊碼第2位與0x33(‘3’)比較

注冊碼第3位與0x36(‘6’)比較

注冊碼第4位與0x36(‘6’)比較

注冊碼第5位與0x36(‘6’)比較

注冊碼第6位與0x31(‘1’)比較

注冊碼第7位與0x34(‘4’)比較

注冊碼第8位與0x36(‘6’)比較

這很明顯就是個寫死的硬代碼83666146,做了這么久的跟蹤結果卻得到一個固定的注冊碼(是不是前面的那么多比較太多余了?那還弄個User Name有什么用?)


暫且是可以注冊了,但是這個看起來像一個開發人員測試用的萬能注冊碼

?

可能事實并沒有那么簡單。

?

回想之前的的步驟,出現過第一次比較就跳出的情況(就是那個較遠的跳轉),那么推測這一段才是真正的注冊碼的驗證,我們換個注冊碼再走一遍


這個位置開始把EDX對應的注冊碼寫成對應比較的真值,一步步走下去就可以得到最終的注冊碼,這樣證實了剛才的推測,接下來就需要了解真值的來源,也就是注冊碼的計算方法。


我們回到用戶名的檢查代碼段,可以以單步進入的方式,跟蹤每一位用戶名的運算方法,這個時候就體現每步注釋的好處了,具體如下:

EAX=1位用戶名

EAX=EAX|0x52

EAX=EAX%0x0A

1位注冊碼=EAX

EAX=2位用戶名

EAX=EAX|0x45

EAX=EAX%0x0A

2位注冊碼=EAX

EAX=1位用戶名

EAX=EAX|0x43

EAX=EAX%0x0A

3位注冊碼=EAX

EAX=2位用戶名

EAX=EAX|0x4F

EAX=EAX%0x0A

4位注冊碼=EAX


EAX=循環每一位用戶名的ASCII求和

EAX=EAX%0x0A

5位注冊碼=EAX

?

在這之后注冊碼就生成了,但是聯系到最開始的注冊碼不得少于8,因此我們還得隨機補上一段,簡便起見我們只加上后3位,當然可以加上更多位。

?

至此破解流程就結束了,接下來我們就可以寫注冊機算法了。

0x03.注冊機算法

根據上述的匯編代碼,我們寫出注冊碼的算法:

char[] key = new char[9]; key[0] = (char)((name[0] | 0x52) % 10 + 0x30); key[1] = (char)((name[1] | 0x45) % 10 + 0x30); key[2] = (char)((name[0] | 0x43) % 10 + 0x30); key[3] = (char)((name[1] | 0x4f) % 10 + 0x30); key[4] = (char)(value % 10 + 0x30);// value為逐位用戶名ASCII求和 //第6、7、8位采用對前5位校驗的形式生成,確保對不同用戶名生成不同,但對相同用戶名生成相同 key[5] = (char)(((char)(key[0]+key[1]+key[2]) - 0x30) % 10 + 0x30); key[6] = (char)(((char)(key[0] + key[2] + key[4]) - 0x30) % 10 + 0x30); ; key[7] = (char)(((char)(key[1] + key[3] + key[4]) - 0x30) % 10 + 0x30); ; key[8] = '\0'; //減0x30的原因只是為了將輸入的字符串轉換成int類型再進行運算

?

0x04.寫注冊機

【編寫語言】:C# .Net

【編譯環境】:vs2015

【語言框架】:.Net Framework4.5.2

將上述的算法加入到函數當中,封裝在程序中,方便快捷交互良好地提供注冊算法計算。

注冊機界面:


運行情況:


“User Name”框中輸入12345678,點擊“生成”按鈕

這樣就得到了用戶名12345678真正注冊碼59570562


注冊成功!



WinAudioRecorder2.2.2(官方版) :http://download.csdn.net/detail/kalbertlee/9496545?

WinAudioRecorder注冊機:http://download.csdn.net/detail/kalbertlee/9496556




?


?

總結

以上是生活随笔為你收集整理的新手破解教程:WinAudioRecorder破解(带注册机)的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。