論用C 做殼

2021-04-16 15:41:41 字數 1879 閱讀 1756

1. 加殼語言.

現在的殼多數都是彙編的.但本人彙編水平一般,連olly都使不好,所以只能放棄彙編.我見過delphi和vb做的殼.vb做的那個真的不錯,有機會上傳到這裡,讓大家看看.

本人是c/c++的忠實使用者,而且c和彙編很接近了,所以選擇了c++做殼.

2. 加殼原理

加殼原理我想大家都很清楚,無非是wrap oep, remove reloc, 然後在最後**stub.修改oep.

話說起來輕悄,就像造原子彈,中學生都知道e=m*c2就ok了,但我們都造不出來.我的觀點是加殼就想造汽車,原來的程式就是發動機,而解密就是把汽車拆了,取出發動機.所以我們還是要仔細考慮如何加殼.

3. 具體的步驟

(1) 我是認真研究了bigboot的文章,參考了bambam才下的手.不過大家如果要學習bambam,就從找bambam的bug開始吧,他裡面一共有4個重大bug,如果能找出來,你就可以自己做殼了.

(2) 先做個dll,做stub.為什麼不用exe?bigboot說compiler crash,我說是exe自己就可能crash.這個exe不是正常載入的,release中又沒有reloc,他不crash可能嗎? 所以我們用dll做stub. stub的入口要指定,否則沒法修改 oep.stub就是你自己的程式,所以想幹什麼都可以,也就是說在程式啟動時,天下是你的.

這裡面要注意的是:

(a) 你stub載入的位址不是40000,也不是1000000,所以所有的恢復工作都有個便宜量,這個偏移量就是你的入口位址.

(b) stub中可以使用任何函式,如果要用其他的dll,最好使用**鏈結.因為後面要修改reloc.

(c) stub一定是release的,debug的話程式容易亂.

(d) 跳回是就是 push oep+dwoffset, ret就ok了.唯一的彙編,呵呵.

這個需要個exe(手動加殼太土了吧,呵呵).他幹的工作就是最糙的工作---變化指標. 加殼的過程就是指標不斷變化,修改...

關於具體操作的過程bigboot說了很多,我就不多說了,說了也不如他的權威,但有幾個問題需要大家主要.

(a) base reloc,看起來是在directory中,其實是reloc section中,對於stub的base reloc一定要都修改好,否則就亂了. 原程式的刪除也可以,藏起來最好.

(b) iid,這個東西一定要處理.我的建議是,原來的iid可以藏起來,或者刪了(exe). 而且要換成stub的iid. 換的過程中,不能copy,要加上乙個offset.怎麼算這個offset我就不多說了.

(c) iat,刪!

(d) 對齊,這個問題看起來很容易,處理不好你就看見了"不是標準win32程式".我也很奇怪,很多exe自己不對齊的,我為什麼要給他對齊呢?

(e)都ok了,就改oep吧,別忘了offset,負責就崩了.

4. 總結

(a) c是完全可以用來加殼的,彙編雖然底層,但c也不弱.對於複雜的應用,可以考慮c,因為彙編太繁瑣了.

(b) bigboot的文章是經典,我讀了10多邊,才完全理解(是不是有點笨?)

(c) 除錯殼是痛苦的,因為出了問題,多數是解釋不清楚的.這點不想解密,至少保證程式沒問題. olly很不錯,但我斷點都下不好. peview和petool都不錯.建議使用.

(d) 世面上加密的書. 看雪的說很不錯,寫的很全面,尤其是iid寫的很清楚.其實加殼對iid的處理比iat要複雜多. 飛天誠信的那本寫的很仔細,但只能幫助大家理解pe格式,而不是加殼,因為他加殼的工作都是他們自己工具實現的,沒法參考.

(e) anti-crack:我現在沒使用任何anti技術,現在所謂anti就是anti-olly,呵呵.因為stub是自己的,所以可以綜合使用anti技術了.

5. 展望

1.現在就能加win32的,那.net呢?

2.vm技術似乎很先進,能不能有人指點一下?

用C 做ActiveX 的方法

原文在 步驟1 建立乙個新的 windows窗體控制項庫 專案 2 在assemblyinfo.cs中引用system.security命名空間,並新增一句 assembly allowpartiallytrustedcallers 4 winform控制項轉換為activex控制項 選中 使程式集...

論外格用舍

論外格用舍 2012年01月13日 二十二 論外格用舍 原文 八字用神既專主月令,何以又有外格乎?外格者,蓋因月令無用,權而用之,故曰外格也。徐注 此篇議論,似未明顯。蓋本書以月令為經,用神為緯,用神者,全域性之樞紐也。月令之神,不能為全域性樞紐,則不得不向別位干支取用。用雖別取,而其重心仍在月令。...

論外格用舍

論外格用舍 2012年01月13日 二十二 論外格用舍 原文 八字用神既專主月令,何以又有外格乎?外格者,蓋因月令無用,權而用之,故曰外格也。徐注 此篇議論,似未明顯。蓋本書以月令為經,用神為緯,用神者,全域性之樞紐也。月令之神,不能為全域性樞紐,則不得不向別位干支取用。用雖別取,而其重心仍在月令。...