為什么很多破解工具,例如叫cracker, Generator,activation或很多注冊機之類的軟件都會有很奇怪的背景音樂,那些音樂聽起來很像以前小霸王游戲的音樂或一些古老的16位機,8位機游戲的音樂,聽起來很詭異的那種,是有某種“黑客文化”在里面嗎?
漂亮的UI+xm背景音樂+greets+AsciiArt是crackers的文化!
這是一種黑客文化。
因為早期的電子設(shè)備一般都是8位的,一般也就幾十K的內(nèi)存,所以很多程序編寫起來都非常困難。在當時,編寫一個破解工具絕對是智慧的象征。同樣的,在當時,別說是視頻,就是一段音樂也很難加載到內(nèi)存當中,因為內(nèi)存實在是太小了,甚至是存儲器也太小了,所以當時的Geek們就想方設(shè)法通過很簡短的算法語句臨時生成一些波形來播放音樂,這種算法要求很高,既不能超內(nèi)存,又要考慮當時慢的可憐的運算器,所以雖然這樣的音樂聽上去一般般,但是制作這樣的音樂是一種很酷炫的秀技術(shù)手段。
后來這兩種裝逼技巧不知怎么的就結(jié)合在了一起,很多破解工具或是keygen當中都會加入一段占用運算資源極少,而且占用內(nèi)存絕不超過32kb的波形生成程序,成了圈子里的一種傳統(tǒng)習(xí)俗。
這些音樂通常只有十幾KB。文件格式應(yīng)該都屬于很古董的了。
用千千靜聽或AIMP可以播放或轉(zhuǎn)換格式。
用XM支持庫還可以把這些音樂插入到自己寫的程序里面去。
因為當年,他們在做注冊機的時候,是一個蠻荒時代。那個時候,互聯(lián)網(wǎng)也很不發(fā)達,很多人還依賴于bbs。對文件的尺寸更是敏感,因此如何在最小的size下,還能做出特殊效果,成為他們的挑戰(zhàn),也是他們展示技術(shù)的舞臺。時至今日,我們在用新的注冊機時,cracker們也遵循了這段歷史,向前輩們致敬。
怎么提取這些音樂?
那些小小的keygen,只有幾十k大小,在幫你算注冊碼時還會播放動聽的音樂,呵呵~難么小,應(yīng)該是內(nèi)嵌的MIDI吧,我非常喜歡聽,可是怎么提取呢?好像在臨時文件夾里也找不到,不知道它們播放的時候釋放到哪了~~誰做過注冊機啊,麻煩告訴我,謝謝!
取出注冊機中的音樂
有的時候覺得國外一些注冊機配的BGM還挺好聽的,遂想要取出他們。記得高一的時候的注冊機還是將Midi保存到temp目錄中實現(xiàn)的,今天早就不是這樣了。下面以IsoBuster 2.1的注冊機為例,說明取出音樂的過程。
[取出音樂]
首先用eXeScope看看資源,發(fā)現(xiàn)被加密了。用OllyICE打開patch.exe,發(fā)現(xiàn)ESP=0012FFA0。[tc]倒栽!話說0012FFA0這個數(shù)字今生也看過不下百次了,為什么就不能換一換呢?
在此處硬件斷點WORD,F(xiàn)9運行。取消斷點,發(fā)現(xiàn)JMP大跳。進入到00401770,嗯?沒有代碼?原來是OllyICE自作主張分析成了數(shù)據(jù)段(這個[tc]頭一次見到,費了點時間)。右鍵/分析/從模塊中刪除分析,即可。
右鍵/Dump,保存為1.exe。運行之,居然沒報錯!PEiD檢查之,MASM32 / TASM32 / 未加殼。eXeScope檢查資源,報錯。所以用FixRES修一下資源(后來發(fā)現(xiàn)不用這一步),用PEiD的插件XN Resource Editor看資源。居然沒有音樂。
無奈,UltraEditor打開1.exe,很快在604A發(fā)現(xiàn)好東西:Extended Module: A piece for freedom FastTracker v2.00。Dump之,保存為1.xm。任務(wù)結(jié)束。
[播放音樂]
.xm文件用WinAMP、KMP都可以播放。只是擴展名沒有注冊罷了。
[在程序中使用]
如果想在自己的程序中用.xm文件的話,有2個項目值得推薦。
1個是minifmod,http://www.fmod.org,提供了lib,C++下這個用起來挺簡單。
2是ufmod,http://sourceforge.net/projects/ufmod/,剛剛才發(fā)現(xiàn)的,這個就比較恐怖了。什么BCB、BlitzMax、C、Delphi、Masm、VB……等都支持。例子和附送工具也比較恐怖。
[意外的發(fā)現(xiàn)]
看到ufmod的包包就覺得不平常,果然如此!他實現(xiàn)了VB聯(lián).lib文件。[tc]曾寫過VB VC聯(lián)編的小文章,跟這個相比又小巫見大巫了。