易语言 文件捆绑机的原理【转载】
生活随笔
收集整理的這篇文章主要介紹了
易语言 文件捆绑机的原理【转载】
小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.
點擊閱讀原文
? ? ? ? ? 文章比較長,想學技術的建議耐心看完,好好理解,看完之后你會覺得有所收獲的,相信我!
? ? ? ? ?一、傳統(tǒng)的捆綁器。這種原理很簡單,也是目前用的最多的一種。就是將B.exe附加到A.exe的末尾。這樣當A.exe被執(zhí)行的時候,B.exe也跟著執(zhí)行了。這種捆綁器的代碼是滿網(wǎng)都是。我最早是從jingtao的一篇關于流的文章中得知的。就目前來說,已經(jīng)沒什么技術含量了。
? ? ? ? ?檢測方法:稍微懂一點PE知識的人都應該知道。一個完整有效的PE/EXE文件,他的里面都包含了幾個絕對固定的特點[不管是否加殼]。一是文件以MZ開頭,跟著DOS頭后面的PE頭以PE\0\0開頭。有了這兩個特點,檢測就變得很簡單了。只需利用UltraEdit一類工具打開目標文件搜索關鍵字MZ或者PE。如果找到兩個或者兩個以上。則說明這個文件一定是被捆綁了。不過值得注意的是,一些生成器也是利用了這個原理,將木馬附加到生成器末尾,用戶選擇生成的時候讀出來。另外網(wǎng)上流行的多款“捆綁文件檢測工具”都是文件讀出來,然后檢索關鍵字MZ或者PE。說到這里,相信大家有了一個大概的了解。 那就是所謂的“捆綁文件檢測工具”是完全靠不住的一樣東西。 (在我寫的那篇帖子里面,有好幾個人都是過分依賴捆綁文件掃描工具,看了這個之后這個觀點應該會有所改變吧)
? ? ? ? ?二、資源包裹捆綁器。就這原理也很簡單。大部分檢測器是檢測不出來的,但灰鴿子木馬輔助查找可以檢測出捆綁后未經(jīng)加殼處理的EXE文件。但一般人都會加殼,所以也十分不可靠。這個學過編程或者了解PE結構的人都應該知道。資源是EXE中的一個特殊的區(qū)段。可以用來包含EXE需要/不需要用到的任何一切東西。利用這個原理進行100%免殺捆綁已經(jīng)讓人做成了動畫。 大家可以去下載看看。那捆綁器是如何利用這一點的呢?這只需要用到BeginUpdateResource、UpdateResource和EndUpdateResource這三個API函數(shù)就可以搞定。這三個API函數(shù)是用來做資源更新/替換用的。作者只需先寫一個包裹捆綁文件的頭文件Header.exe.頭文件中只需一段釋放資源的代碼。而捆綁器用的時候先將頭文件釋放出來,然后用上面說的三個API函數(shù)將待捆綁的文件更新到這個頭文件中即完成了捆綁。類似原理被廣泛運用到木馬生成器上。?
? ? ? ? 檢測方法:一般這種很難檢測。如果你不怕麻煩,可以先將目標文件進行脫殼。然后用“灰鴿子木馬輔助查找”或“ResTorator”一類工具將資源讀出來進行分析。但這種方法畢竟不通用。 所以還是推薦有條件的朋友使用虛擬機。 ?
? ? ? ? ? 三、編譯器捆綁法。暫時不知用什么名字來形容,所以只能用這個來代替。這種方法相當?shù)年庪U。是將要捆綁的文件轉換成16進制保存到一個數(shù)組中。像這樣muma:array[0..9128] of Byte=($4D,$5A,$50....$00); 然后用時再用API函數(shù)CreateFile和WriteFile便可將文件還原到硬盤。這里稍稍學過編程的都知道。代碼中的數(shù)組經(jīng)過編譯器、連接器這么一搞。連影都沒了。哪還能有什么文件是吧?所以就這種方法而言。
? ? ? ? ?目前還沒有可以查殺的方法。這種方法可以利用編程輔助工具jingtao的DcuAnyWhere或Anskya的AnyWhereFileToPas來實現(xiàn)。?
? ? ? ? ? 四、最最毒辣的一種。因為暫時用的人較少,且危害性及查殺難度太大。[一個被殺的病毒直接捆綁就能免殺,汗~]所以就不公布了。此法查殺方法通用性極差。如果流行,估計大家連動畫都不敢下著看了。
? ? ? ? (額.... 這個我也不清楚他在說什么方法,知道的大牛請說明一下,謝謝~)
? ? ? ?嘻嘻,附上我的研究結果:。 ??
? ? ? ?此捆綁機用了以上說的第一種原理,但因為易語言寫的,在網(wǎng)上找到到源碼,所以全部的代碼只能自己寫。因為此東東太邪惡了,還是不公布源代碼了,嘻嘻~
? ? ? ? 此捆綁機捆綁后體積只增加20K,部分捆綁文件掃描工具掃描不出來(當然這是未加密的,如果使用加密方式,估計90%都掃不了),哈哈,有興趣么?
=======================================
還有分享一個也是在研究捆綁機時找到的一個用winRaR做捆綁文件的方法(很實用哦!親測)
準備兩個文件,一個是木馬,一個是正常文件。
1:選中兩個文件
2:添加到壓縮文件
3:雙擊打開你剛才捆綁的文件
4:按下Ctrl建,同時選中兩個文件
5:點擊自解壓格式
6:點高級選項
7:解壓后運行 寫上你的木馬文件,我這里是Sever_Setup.exe
8:解壓前運行 的是你要正常運行的文件MyCCL.exe
9:點擊模式 全部隱藏 覆蓋所有文件
10:選擇 文本和圖標 從文件加載自解壓文件圖標 我們用圖標提取器來提取。我們捆綁的是MYCCL.EXE,所以就用他的圖標,就是他了。
11:點確定
按上邊的操作你就做出了一個WINRAR捆綁的程序,你運行這個EXE就等于先運行了MYCCL.EXE然后運行了木馬。。。。
看似完美了 。。。但是你用右鍵點擊的時候還是會看到 有 “用WINRAR打開”的選項,說明這個文件是個自
解壓文件,怎么辦呢?加殼?不行。。。加殼之后一般都會報錯的。。。
以下測試時用C32載入搜索搜不到相關的數(shù)值,不知道是不是我操作不對還是怎樣,大家測試下吧!
哈哈,。拿出你的C32ASM 或者其他的編輯器都行。。
16進制搜索
搜索 526172211A07?
把61改成其他的數(shù)字(比如62)
再搜索807A0161,把61改成之前改的值,這里改成62.
保存,右鍵點擊試試,哈哈,沒有了用winrar打開的菜單了吧。。。
總結
以上是生活随笔為你收集整理的易语言 文件捆绑机的原理【转载】的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: java 随机生成头像,ASP实现头像图
- 下一篇: VB如何只读取字符串中的数字部分??