1. 我们有一个test.exe的WinForm程序,这是我们要加壳的目标程序。
2. 新建一个WinForm工程,删除Form1,然后新建一个类。如下。
3. 将test.exe 拷贝到该工程目录,作为嵌入式资源。
编译后的程序会自动将资源中的目标文件加载运行。继续发挥一下,我们可以增加启动密码;将目标程序进

代码

1 using System;
2  using System.Windows.Forms;
3  using System.Resources;
4  using System.Reflection;
5  using System.IO;
6 namespace test
7 {
8 staticclass Program
9 {
10 [STAThread]
11 staticvoid Main(string[] args)
12 {
13 Stream stream = Assembly. GetExecutingAssembly_r(). GetManifestResourceStream_r("test.Code.exe");
14 byte[] bs =newbyte[stream.Length];
15 stream.Read(bs, 0, (int)stream.Length);
16 Assembly asm = Assembly.Load(bs);
17 MethodInfo info = asm.EntryPoint;
18 ParameterInfo[] parameters = info. GetParameters_r();
19 if ((parameters !=null) && (parameters.Length >0))
20 info.Invoke(null, (object[])args);
21 else
22 info.Invoke(null, null);
23 }
24 }
25 }
26

---------------------------------------------------------------------------------------------------

代码

1 Stream streamObj =this. GetType_r().Assembly. GetManifestResourceStream_r("Test_ExeInResource.AllTest.exe");
2
3 byte[] b =newbyte[streamObj.Length];
4 streamObj.Read(b, 0, b.Length);
5
6 Assembly a = Assembly.Load(b);
7 Type[] mytypes = a. GetTypes_r();
8 BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public |
9 BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly);
10
11 foreach(Type t in mytypes)
12 {
13 MethodInfo[] mi = t. GetMethods_r(flags);
14 Object obj = Activator.CreateInstance(t);
15
16 foreach(MethodInfo m in mi)
17 {
18 if (m.Name =="Main")
19 {
20 MainDelegate md = (MainDelegate)Delegate.CreateDelegate(typeof(MainDelegate), m);
21 md.BeginInvoke(null, null);
22 }
23 }
24 }
25

解决

转载于:https://www.cnblogs.com/root7/archive/2010/03/31/1701302.html

[转]将C#程序嵌入资源中(C# 调用嵌入资源的EXE文件方法)相关推荐

  1. geany php,ubuntu 中geany调用浏览器展示php文件

    ubuntu 中geany调用浏览器显示php文件 1.网站根目录为:/var/www 先要获取根目录的读写权限:sudo chmod 777 /var/www 2.打开geany 1)Project ...

  2. html不同显示器布局全乱了,不同显示器分辨率,调用不同的css文件方法[经验总结]...

    根据分辨率不同,调用不同的css文件方法不同浏览器调用不同CSS文件 将以下JS代码放入 和标签内,此段JS代码作用是辨别浏览器分辨率 解释: var IE1024=""; var ...

  3. vscode 快速调到定义处_vim技巧:在程序代码中快速跳转,在文件内跳转到变量定义处...

    本篇文章介绍 vim 的一些使用技巧: 在程序代码中快速跳转 在文件内跳转到变量定义处 在程序代码中快速跳转 在 vim 中查看代码文件时,可以使用下面命令在程序代码中快速跳转,提高效率. % 跳转到 ...

  4. python在多继承中子类调用某个父类的同名方法之 super讲解(mro机制)***

    目录 2.   钻石继承遇到的难题 3.   针对钻石问题各语言的解决方法 3.1. C++ 3.2. Java 3.3. Ruby 3.4. Python 4.   super的内核:mro 5.  ...

  5. c语言启动程序句柄无效,U盘上打开EXE文件提示句柄无效

    句柄无效 在WINDOWS编程中是一个很重要的概念,在许多地方都扮演着重要的角色.但由此而产生的句柄概念也大同小异,比如:>(Microsoft Press,by Richard Wilton) ...

  6. MATLAB【五】———— matlab 调用C++生成exe文件,高斯核函数

    两种方式调用C++生成的exe文件, 语法: status = system(command) [status,cmdout] = system(command) [status,cmdout] = ...

  7. matlab调用q外部exe文件,Matlab GUI调用外部程序生成exe,DOS窗口输入问题

    本帖最后由 gouliang 于 2019-12-23 09:37 编辑 主程序: clc;clear import java.awt.Robot import java.awt.event.* ke ...

  8. C#调用C++的dll文件方法

                首先我们介绍一下原理: C#与C++的转换会经过以下几层转换 1. C# APP 2. C#接口类:C#数据 -> 纯C数据结果包装 3. C接口包装:纯C数据 -> ...

  9. Mac系统如何运行Windows exe程序?mac打开exe文件方法教程

    使用了Mac系统之后,总会惦记着Windows系统的软件,无奈两个系统的程序文件不一样,所以也互不相通.为了让MacBook能够使用上Windows的应用程序,许多人都会给电脑安装一个Windows系 ...

最新文章

  1. 获取oracle数据库war报告,Oracle 数据库开发及SQL基础实战
  2. python读数据-Python如何读写字节数据
  3. GDCM:gdcm::ByteValue的测试程序
  4. C#中判断系统的网络连接状态的方法
  5. Acer 4750 安装黑苹果_黑苹果系统安装通用教程图文版
  6. Windows Hook
  7. java 怎么获取形参名_获得方法形参名称列表 -- 哦也,搞定!!
  8. 大O,您如何计算/近似?
  9. win7科学计算机的用法,Win7自带计算器使用功能介绍
  10. 如何用Goldwave读取保存CD歌曲
  11. 直流电源_稳压管稳压电路
  12. 李丰新年展望 | 一张图看清2020中国机会
  13. Git(2)-Git常用的操作和概念
  14. 支持同步的Todo软件
  15. 五种方法教你预防ddos攻击
  16. Android获取手机屏幕像素大小
  17. smarty 的安装与使用
  18. 825. Friends Of Appropriate Ages**
  19. c语言程序设计数组实验报告,c语言程序设计实验报告(数组).doc
  20. linux下discus/apache服务器,局域网内无法访问--解决办法

热门文章

  1. 计数时钟和滚动汉字显示c语言程序,MSP430F449单片机RTC时钟C语言程序(带闹钟)...
  2. 关于int main( int argc, char* argv[] ) 中arg和argv参数理解
  3. opt eclipse jre bin java_Linux下安装JDK和Eclipse的配置方法
  4. linux线程池实现多线程并发,基于Linux的多线程池并发Web服务器设计-电子设计工程.PDF...
  5. swift使用cocoapods导入oc三方库
  6. 久其软件怎么样_久其软件助力中国电信顺利完成网络攻防演练
  7. Python之匿名函数
  8. mac安装mysql8.0.11_【MySQL】Mac安装MySQL(V8.0.15)蹚坑记录
  9. matlab s% d%,matlab中var函数的翻译For N-D arrays, VAR operates along the first
  10. java pdf转swf_pdf转换成swf的代码