怎么捆绑文件|谁知道用WINRAR怎么捆绑

|

❶ 谁知道用WINRAR怎么捆绑

你用winrar制作自解压文件,把你想捆绑的程序一块压缩,在自解压选项里有一项“解压后运行”(找找看,挺好找的),你填上你捆绑的程序的文件名,如:hack.exe,其他你自己看着设置一下就可以了。

❷ 文件夹与文件能捆绑在一起吗用什么

应该是可以的!当然是用捆绑器。【捆绑器通常是把木马和其他可执行文件绑一起的,也就是要和exe文件绑成一个程序,一般捆绑后的文件都会被杀毒软件查杀的,。捆绑后运行它就等于同时运行两个文件(木马和你捆绑的那个文件)】

❸ 如何使用系统自带命令捆绑文件

是 命令为iexpress开始 运行 CMD回车 输入iexpress回车 有帮助IExpress是微软为压缩CAB文件及制作安装程序所开发的小工具,其实应该算是MAKECAB的一个Shell。虽一直藏身于微软的产品中,却从未对它说明过,但不能否认是一款不错的免费软件。 功能:专用于制作各种 CAB 压缩与自解压缩包的工具。 只要在“开始 → 运行 ”中输入“iexpress.exe”点“确定”即可。对于合成文件非常有用。伪装免杀的木马一般的杀软都不会报毒。使用方法如下大家知道 CAB 这种压缩格式比 ZIP 的压缩率要高,与 RAR 相当,而且是一种标准的压缩格式,能够被 WINZIP 等众多压缩软件打开,但制作 CAB 自解压文件的工具却不多。其实好的工具就在我们的身边,在 IE5.0 中文版中有一个隐藏的自解压 CAB 制作工具——Iexpress,它就能够把你的文件压缩成一个自解压的 CAB 压缩包,而且生成的自解压程序界面是全中文的。它在“Microsoft Internet Explorer 管理工具包 5”里,下面是获得 Iexpress 的具体方法。 方法A:需在安装 IE 管理工具包 (1)在 IE5 的安装文件中找到“ieak5.exe”或“ieak5cd.exe”其中任何一个,用鼠标双击运行它。 (2)安装完成之后,打开 C:\WINDOWS\SYSTEM 文件夹,找到 iexpress.exe,它就是 Iexpress,为它创建一个快捷方式,以后运行快捷方式就可以了。 方法B:不安装 IE 管理工具包 (1)与方法 A 中的第一步相同。 (2)当安装程序要你选择“安装的目标文件夹”时,在 C:\WINDOWS\TEMP\IXP000.TMP 文件夹中找到下面三个文件:makecab.exe、iexpress.exe、wextract.exe。因为这个文件夹在安装程序运行后会自动删除,所以把这三个文件复制到另一个安全的文件夹中,以后运行 iexpress.exe 即可。这三个文件为:makecab.exe(CAB 文件制作工具)、iexpress.exe(CAB 自解压文件制作向导)、wextract.exe(CAB 自解压文件的“头”文件)。 虽然 Iexpress 制作出的自解压文件是中文界面,但 Iexpress 还是英文界面,下面以制作一个最简单的自解压CAB文件为例,介绍一下 Iexpress 的用法。 运行 iexpress.exe,出现 Iexpress Wizard(向导),然后依次按“下一步”进入各步骤; (1)选择默认选项“Create new Self Extraction Directive file”(建立新的自解压文件); (2)选择“Extract file only”(仅解压文件)单选钮; (3)输入自解压程序标题栏文字,比如“解压 Iexpress”; (4)选择默认选项“No promtp”(解压前不提示); (5)选择默认选项“Do not display a license”(不显示许可协议),单击“Add”按钮,在弹出的“打开”对话框中选取需压缩的文件; (6)选择默认选项“Default(recommended)”(按默认方式显示程序窗口); (7)选择默认选项“No message”(完成后不显示提示信息);输入将生成的自解压程序文件名,比如“C:\A.EXE”; (8)选择默认选项“Save Self Extraction Directive(SED)file”(保存此次配置); (9)开始制作自解压文件,依文件大小,制作过程可能需要几秒至数分钟不等,这期间会出现一个“makecab”的MS-DOS窗口显示制作进度,在“makecab”MS-DOS窗口自动关闭后,单击“完成”即可。 由于 Iexpress 是一个“向导”式的工具,如果选错了或输错了,基本上其中的任何一步都可以通过单击“上一步”来回到上一步,再作修改。只要熟悉了它的界面,操作并不复杂。

❹ 怎么用cmd命令捆绑文件

1.假设图片是test.bmp,rar文件是test.rar /b test.bmp+test.rar ok.bmp这样双击ok.bmp,就会看见test.bmp里面的图像。注意是test.bmp+test.rar,而不是test.rar+test.bmp要想解压出test.rar里面的文件,得先把ok.bmp的后缀bmp改成rar,再可右键解压。(目前发现用图片直接和其他文件进行捆绑的话,修改后缀后会出现乱码,只能用图片和rar的文件进行捆绑,其他的格式没有测试,暂时未知)2.让cmd命令到桌面:桌面也是一个“文件夹”,因此可以直接用cd命令进入:举例:【可以删去引号】

❺ 怎么将图片和文件捆绑在一起

是什么文件???EXE??如果是那不行(木马吗?)目前网络上流行的捆绑技术和方式主要有下面几种情况:◆多文件捆绑。捆绑技术中最简单的捆绑方式,也是最流行的捆绑技术实现方式之一。文件捆绑也就是将A.exe文件(正常文件)和B.exe文件(恶意代码)捆绑成C.exe文件。当用户点击C.exe文件时,用户看到的是A.exe文件的执行结果,而B.exe文件则在后台悄悄执行。一个Win32下正常的文件中包含以文件MZ开头,DOS文件头后面的PE头以PE\0\0开头。检查是否被捆绑多文件,则可以通过UltraEdit类的工具打开目标文件搜索关键字MZ或者PE。如果找到两个或者两个以上,则表明此文件一定把捆绑了其它的文件。叶子将在后面的实例中介绍如何实现文件捆绑的操作过程。◆资源融合捆绑。了解Windows文件中PE结构的人都知道资源是EXE中的一个特殊的区段。这段区域可以用来包含EXE调用的资源信息等相关内容。而我们可以利用BeginUpdateResource 、UpdateResource、EndUpdateResource的API函数实现对资源内容的更新替换。编程人员只需先写一个包裹捆绑文件的头文件,文件中只需一段释放资源的代码。而捆绑器用的时候先将头文件释放出来,然后调用以上的三个API函数将待捆绑的文件更新到这个头文件中即完成了捆绑技术的实现。◆漏洞利用捆绑目前比较流行的捆绑技术之一,利用word、excel、flash等一些应用产品中的安全漏洞,通过对漏洞的利用,然后调用恶意代码进行执行。例如当一些研究人员发现word产品的安全漏洞后,黑客编写漏洞利用程序,并把恶意代码植入word的宿主文件中。当用户打开恶意的word文件时,word漏洞中的程序通过Shellcode调用恶意代码,并执行之。除了这几种捆绑技术之外,当然还有更多的其它捆绑技术的实现方式工具环境:WinRAR:解压缩工具。Quick Batch File Compiler:快速批量文件编译程序File1.exe(hfs2.exe):正常文件File2.exe(RCBF_03031406.exe):木马使用WinRAR程序和QBFC程序实现木马捆绑过程: ◆运行Quick Batch File Compiler,输入hfs2.exe,回车,再输入RCBF_03031406.exe,如图所示:◆点击“Project”->“Options”,设置“Ghost Application”◆点击“Build”,保存文件为“binder.exe”◆创建WinRAR自解压文件,包含“binder.exe”、“hfs2.exe”、“RCBF_03031406.exe”文件。选择这三个文件,点击“add to archive”。

❻ 如何绑定文件

将多个文件合并成一个最终可执行文件,运行这个最终文件时,就相当于运行了合并前的多个文件。这种程序在木马程序合并中会经常用到,你想知道它是怎么用程序实现的么?下面我就用我用VC6.0做的一个文件捆绑器的例子代码来告诉你,程序运行后界面如下: 基本组成思想:其实,其中的构成思想非常简单。建立一个新的二进制文件,先写入你的捆绑程序的数据和其文件长度,再写入你要捆绑的第一个文件的数据和其文件长度,后再直接写入你要捆绑的第二个文件的数据和文件长度……,最后就可直接写入你要捆绑的最后一个文件的数据(不需其文件长度)。最终文件被执行时,也就是将上面的方法思想倒过来即可。(下面实例仅告诉你如何实现二个文件的捆绑,至于多个文件的捆绑,读者只需略加改动既可,详情请细看下载后的实例代码。) 下面我来讲讲如何具体将其来实现: 1、捆绑多个文件为一个可执行程序 先得到自身捆绑程序的文件长度和第一个要捆绑文件的文件长度,枚举第一个要捆绑文件有无图标,有的话就用它做为最终生成文件的图标,否则用自身捆绑程序所带默认图标做最终生成文件的图标。在新建二进制文件中写入自身捆绑程序的数据和其文件长度,再写入第一个要捆绑文件的数据及其文件长度,最后直接写入第二个文件的数据既可。 捆绑涵数代码实现如下: //绑定多个文件为一个可执行文件 bool CBindFileDlg::Bind_Files() { FILE* myself; //自身文件 FILE* out; //最终合成文件 FILE* in; //待绑定文件 int bytesin; int totalbytes = 0; struct _stat ST; unsigned int finder = 0x12345678; unsigned int i, k; int l=1; //状态显示 char buff[20]; //状态显示 his_name = strFirstFilePath; //第一个绑定的文件名 _stat(my_name, &ST); modify_data.my_length = ST.st_size; if (modify_data.my_length == 0) { MessageBox("绑定文件中,自身文件长度为零时出错!","错误"); return false; } buf = (BYTE *)malloc(modify_data.my_length); if (buf == NULL) { MessageBox("绑定文件中,分配自身文件长度时出错!","错误"); return false; } myself = fopen(my_name, "rb"); //打开自身文件 if (myself == NULL) { free(buf); MessageBox("绑定文件中,打开自身文件时出错!","错误"); return false; } bytesin = fread(buf, 1, modify_data.my_length, myself); fclose(myself); if (bytesin != modify_data.my_length) { free(buf); MessageBox("绑定文件中,不能完全读取自身文件内容时出错!","错误"); return false; } for (i = 0; i < modify_data.my_length – sizeof(finder); i += sizeof(finder)) { for (k = 0; k < sizeof(finder); k++) { if (buf[i+k] != ((BYTE*)&finder)[k]) break; } if (k == sizeof(finder)) //定位并保存自身数据文件大小 { memcpy(buf+ i, &modify_data, sizeof(modify_data)); break; } } if (i >= modify_data.my_length – sizeof(finder)) { free(buf); MessageBox("绑定文件中,不能定位自身文件时出错!","错误"); return false; } if (_stat(strFirstFilePath, &ST) != 0 || ST.st_size == 0) { free(buf); MessageBox("绑定文件中,读取第一个要绑定文件时出错!","错误"); return false; } list_my_icons(); out = fopen(strFinalFilePath, "wb"); //创建最终合成文件 if (out == NULL) { free(buf); MessageBox("绑定文件中,创建绑定后生成的合成文件时出错!","错误"); return false; } totalbytes += fwrite(buf, 1, bytesin, out); in = fopen(strFirstFilePath, "rb"); //打开第一个要绑定的文件 if (in == NULL) { free(buf); MessageBox("绑定文件中,打开第一个要绑定文件时出错!","错误"); return false; } //写入第一个要绑定文件的长度到合成文件中 totalbytes += fwrite(&ST.st_size, 1, sizeof(ST.st_size), out); //写入最终分解后文件执行方式的标志位(同步或异步执行) UpdateData(TRUE); //传控件值到变量m_Sync中 totalbytes += fwrite(&m_Sync, 1, sizeof(int), out); while (bytesin = fread(buf, 1, modify_data.my_length, in)) { totalbytes += fwrite(buf, 1, bytesin, out); } fclose(in); //关闭第一个绑定文件句柄 //设置进度条显示 m_Progress.SetRange(0,500); for (int m = 0; m < 500; m++) m_Progress.SetPos(m); m_Parts = _ltoa(l, buff, 10); m_Parts += _T("个文件已绑定"); UpdateData(FALSE); l++; in = fopen(strSecondFilePath, "rb"); //打开第二个要绑定的文件 if (in == NULL) { free(buf); MessageBox("绑定文件中,打开第二个要绑定文件时出错!","错误"); return false; } while (bytesin = fread(buf, 1, modify_data.my_length, in)) { totalbytes += fwrite(buf, 1, bytesin, out); } //设置进度条显示 m_Progress.SetRange(0,500); for (int n = 0; n < 500; n++) m_Progress.SetPos(n); m_Parts = _ltoa(l, buff, 10); m_Parts += _T("个文件已绑定"); UpdateData(FALSE); l++; fclose(in); //关闭第二个绑定文件句柄 fclose(out); //关闭最终合成文件句柄 free(buf); //释放缓冲区 return true; } 2、释放最终合成文件并同时运行它们。 打开自身文件,从中得到自身捆绑程序的文件长度,便可将文件指针定位到第一个被捆绑文件的位置,读取其文件长度和其数据,将其读出数据写入第一个新建文件中。同样,通过已读取的自身捆绑程序文件长度和第一个被捆绑文件的文件长度加上其保存这两个文件长度值的字节数,既可准确定位第二个被捆绑文件的位置,读取其数据,写入到第二个新建文件中。同时,运行这两个文件,最后再删除这两个文件既可。 释放最终合成文件的代码具体实现如下: //分解已合并的文件,同时运行它们 void CBindFileDlg::Unbind() { FILE* myself; //自身文件 FILE* out; //分解后文件 int bytesin; int totalbytes = 0; char temp_exe1[] = "temp1.exe"; //分解后的绑定文件名一 char temp_exe2[] = "temp2.exe"; //分解后的绑定文件名二 int SyncFlag; //文件最终执行标志 buf = (BYTE*)malloc(modify_data.my_length); myself = fopen(my_name, "rb"); //打开最终合成文件 if (myself == NULL) { free(buf); MessageBox("分离文件中,打开自身文件时出错!","错误"); return; } out = fopen(temp_exe1, "wb"); //创建第一个绑定的文件 if (out == NULL) { free(buf); MessageBox("分离文件中,创建第一个被绑定文件时出错!","错误"); return; } //将文件指针定位到捆绑器程序长度尾部 fseek(myself, modify_data.my_length, SEEK_SET); //读取第一个绑定文件的长度 if (fread(&prog1_length, sizeof(prog1_length), 1, myself) == 0) { free(buf); MessageBox("分离文件中,读取第一个被绑定文件长度时出错!","错误"); return; } //读取最终文件执行方式(同步或异步执行) if (fread(&SyncFlag, sizeof(int), 1, myself) == 0) { free(buf); MessageBox("分离文件中,读取第一个被绑定文件长度时出错!","错误"); return; } //读取第一个文件内容并写入 while (bytesin = fread(buf, 1, sizeof(buf), myself)) { if (totalbytes + bytesin > prog1_length) bytesin = prog1_length – totalbytes; totalbytes += fwrite(buf, 1, bytesin, out); } fclose(out); //关闭第一个绑定文件句柄 #ifdef DEBUG_PRINT fprintf(stderr, "已复制 %d 字节!\n", totalbytes); #endif DEBUG_PRINT totalbytes = 0; out = fopen(temp_exe2, "wb"); //创建第二个绑定的文件 if (out == NULL) { free(buf); MessageBox("分离文件中,创建第二个被绑定文件时出错!","错误"); return; } //将文件指针定位到最终合成文件中的第二个绑定文件头部, 偏移量 == //(捆绑器自身文件长度+保存第一个绑定文件长度所占字节数+保存最终文件执行标志所占字节数+第一个绑定文件长度) fseek(myself, modify_data.my_length + sizeof(modify_data.my_length) + sizeof(int) + prog1_length, SEEK_SET); //读取第二个绑定文件内容并写入 while (bytesin = fread(buf, 1, sizeof(buf), myself)) { totalbytes += fwrite(buf, 1, bytesin, out); } fclose(out); //关闭第二个绑定文件句柄 #ifdef DEBUG_PRINT fprintf(stderr, "已复制 %d 字节\n", totalbytes); #endif DEBUG_PRINT fclose(myself); //关闭最终合成文件句柄 if (totalbytes == 0) { free(buf); MessageBox("分离文件中,在自身文件中没有被分离的对象!","错误"); return; } free(buf); //释放缓冲区 if(!SyncFlag) //0 — 同步执行,1 — 异步执行 { //置为分解后,为同步执行方式 Create_Process(temp_exe1, false); Create_Process(temp_exe2, false); } else { //置为分解后,为异步执行方式 Create_Process(temp_exe1, true); Create_Process(temp_exe2, true); } }

❼ 求怎么捆绑文件的方法或软件

一、 编程技术实现编程的实现有很多种实现方式,当然对于一个会编程的人来说是好实现的,作者可以直接写个CMDSHELL代码直接加在软件中,或者写个下载者(具有从网络下载可执行程序并执行的可执行程序)或者把别人写好的灰鸽子的服务端PCSHARE的服务端直接加在里面。这种是后门与程序集成的,一般从软件本身发现不出什么破绽。二、 封装技术实现封装出了用到工具,对于一些隐蔽性高的一般是编程封装。 1、 用软件包制作工具进行封装(如用FilePacker),把后门也封装进去,在封装好的文件释放到硬盘的时候,悄悄的自动运行了封装的后门。这个想必很多人都吃过这个、的苦头,例如去某个站上下载东西安装的时候就不幸中招了。这种可能被很多软件捆绑,在安装时就会出现重复的现象,CNNIC中文邮件网址、上网助手、划词搜索、网络猪、小蜜蜂、网络搜索工具条、青娱乐等软件就出现在多种软件里被集成使用。如果是装了弹窗广告软件更可怕。不但影响心情,更占用大量系统资源使计算机无法工作。2、 代码封装技术 简单的方式:有编程基础的人,写一段代码将程序A和后门B都封装到可执行程序C中,在执行C的时候,先执行A在通过一段代码跳到B,把A的属性信息图标都换成A的,这样在执行C程序的时候,A与B都执行了。复杂一点的方式和写壳差不多,写个stub,把宿主附加到它后面,替换原文件;目前很多XX加壳工具就是这样写的,称为非经典壳,更类似捆绑工具,在自己写的stub里可以加上自己想要的更多的功能,STUB就是后门,或者STUB不是后门,把宿主附加到后面再把后门附加到后面也可以。甚至带个图标,熊猫烧香的原理里面有点类似这个原理。3、 用WINRAR进行封装。这里不做详细介绍了,您可以在BAIDU里面搜索:自解压缩木马制作,会有大量的文章。 三、 捆绑工具实现技术木马工具里面有一种工具叫捆绑机。捆绑工具将后门加入软件简单化了,但是它的技术是发展的,且也是随着发展由潜入深的。所谓捆绑机是将两个或两个以上可执行文件或文本文件图片格式的文件或其他格式的文件捆绑在一起,成为一个可执行文件,在执行这个文件的时候,捆绑在里面的文件都被执行。捆绑工具的原理也不尽相同,简单介绍下面三种。1、 这个要说的和前面编程代码实现封装那个相类似,直接把A和B文件放在一起,中间通过一段代码把文件释放到某个文件夹中去,然后使A和B一起执行,但是这样做出来的可执行文件,非常容易被发现,开ResScope编辑器,单击“文件”菜单,选择“打开”选项,找到事先准备的软件后门程序,然后单击“打开”按钮导入,资源栏会出现软件内部的基本结构。这个里面很容易发现资源项很少,两个或者三个,导出后就是两个独立的可执行文件,后门也原形毕露了。这种捆绑机是传统的捆绑机。当然现在借助于加壳工具加一次压缩壳壳或加多重或加加密壳也是很难发现的。2、 融合式捆绑,这种结合了X-CODE的技术。学过编程或者了解PE结构的人都知道资源是EXE中的一个特殊的区段。可以用来包含EXE需要或需要用到的其他东西。只需要BeginUpdateResource 、UpdateResource和EndUpdateResource这三个API函数就可以了这三个API函数是用来做资源更新替换用的。作者只需先写一个包裹捆绑文件的头文件,文件中只需一段 释放资源的代码。而捆绑器用的时候先将头文件释放出来,然后用上面说的三个API函数将待捆绑的文件更新到这个头文件中即完成了捆绑。3、 编译捆绑技术实现。是将要捆绑的文件转换成16进制保存到一个数组中。像这样 muma:array[0..9128] of Byte=($4D,$5A,$50….$00);然后用时再用API函数CreateFile和WriteFile便可将文件还原到硬盘。这里稍稍学过编程的都知道。代码中的数组经过编译器、连接器这么一弄。就这种方法而言,目前还没有可以查杀的方法。这种方法可以利用编程辅助工具jingtao的DcuAnyWhere或Anskya的 AnyWhereFileToPas来实现。至于编程的细节部分用到各种手段,本人也不是编程高手,甚至说不会编程。也不能多说什么,本文也不过作为认识性的文章。四、X- CODE技术先来介绍下什么是X-CODE。X-CODE是一段代码可以具有独立功能或不具有独立功能的调用的代码。可以编程实现和反汇编实现。这个名词来自于一本国外翻译的书中。对于本文的介绍谈不上技术,只能作为认识吧。X-CODE的实现需要做三个方面的工作:1、将其植入宿主(本文把要后门的文件叫做宿主),2、在程序启动之前或者执行过程中钩住控制。3、必须确定在宿主文件中对其有重要作用的API函数地址从而保证X-CODE能够被顺利执行。PE的结构有点象 DNA的结构,存在空白地带和功能地带,正因为PE文件中区段中存在空隙,这个就是X-CODE能够实现的关键所在。A1B2C3D4E5例如上面的一串,数字代表PE的空白地带,我们可以把XCODE查在1,2,3,4,的任何一处,只要空白足够大。或者将一段X-CODE支解,插在1那里一部分,2那里一部分,3那里一部分,最后通过代码在连接起来。当然在实现的过程中一定没我说的这么容易,要保证原来程序不遭到破坏。一般这种X-CODE是具有独立功能的。例如可以是个下载者或者CMDSHELL后门。这个方面的工具也有,以前有个叫见缝插针的工具。这个工具可以将一个很小的可执行文件插到另一个比较大的可执行文件中去。再介绍一种调用的方式的。例如某些大型软件不是一个单独的可执行程序,由若干个程序组成的,其中有个独立的主程序,可以在主程序中添加导入函数,添加一个导入函数,宿主会主动加载你的放在程序目录中的dll,因为程序执行过程中,先搜索程序本身的目录,然后再搜索系统目录。比较隐蔽,宿主体积和入口可以不变,但宿主是不完整的,没你的dll跑不起来这种方式比较隐蔽,但是如果没有你放在文件夹内的DLL,主程序运行不起来的。 五、 技术综合这个依照个人发挥了,举个简单的例子,软件加后门的人写了这样一个软件,在软件中需要第三方软件UPX进行压缩,把命令版UPX压缩可执行程序也集成进去了,而作者没有在软件本身做文章,而是对UPX做了手脚,利用 X-CODE技术加了后门。可谓防不胜防的综合方式。

❽ 怎样将两个文件捆绑为一个

用紫迪文件捆绑器 下载地址 http://img.pconline.com.cn/images/upload/upc/tx/softbbs/1002/16/c0/3006576_1266306997180.rar


赞 (0)