如何修改C#程序入口

如何修改C#程序入口,第1张

C#程序的入口函数是不可修改的,如果你想慧液问的是如何修改启动窗口,那可以修改Application.Run(form)中的form为你想启动的窗口类。比如Application.Run(new MainWindow())表示启动一个MainWindow类型的窗口(其中MainWindow是前闭物我自定义的windows窗体)。C类语言在编译的时候编译器都会去找它态芦的入口函数,比如C语言的main函数,MFC的WinMain函数,C#的Main函数,如果修改了入口函数的名称(哪怕是大小写)都会报错。

1、首先用小程序账号登陆微信公众平台。然后点击左下角的“设置”,之后点击右侧颤银上部的“开发设置”,进入开发设置页面。

2、在开发设置页面有几个区域,第一个区域叫“开发者ID”,第二个区域叫“服务器域名”......我们关注的就是“雀粗服务器域名”这个区域。可以看到这个区域可以设置四个信息,request合法域名、socket合法域名、uploadFile合法域名和downloadFile合法域名。点击最右侧的“修改”链接,可以对这顷洞镇四个信息进行修改。

3、p>

推荐使用先将EXE文件释放到临时文件夹再运行的方法

但如果你非要不释放就运行的话,我也可以给你个思路

不过,你的以资源路径运行的要求很难实现,我最后再讲。

首先,你必须非常了解PE文件格式和WINDOWS可执行文件的加载过程

具体实现:

先假设包含另外EXE文件的程序为A,被包含的程序为B

1.编译的时候,将A的基地址设置的大于B的内存地址的上限。

2.申请开始地址为B程序基地址(一般为400000)的内存空间,并将其属

性改为可读可写可执行。

3.COPY B的全部代码过去

4.跟据B的导入表,加载各个DLL,并填写IAT的地址。

5.在A程序中创建一新的线程,基地址为B的入口。

这样如果没有意外的话,B就以A的清咐握一个的线程的简唯形式运行了

但B结束时可能会把A也一块结束掉(可以通过一些 *** 作解决)

关于以资源路径运行:

我想你的意思应该是有个API可以直接,或者很简单的运行资源或者任

意内存中的EXE格式的程序

但据我所知,并没有这样的API

而且不用API也未必就能实现

要想让EXE格式(正式叫法应该是PE)程序在任意内存地址运行,程序

必须是可重定位的(自已重定位,或者依靠重定位表)

但多数EXE格式的WINDOWS程序并没有重定位表,也不会自己重定位。

所以说很难实现

如果你要运行的EXE文件能够重定位,则可以先将对应内存地址改为可

读可写可执行,然后重定位(需要的话),然后填入导入表,最后创建

新线程运行。

以上只是我的思路,没有实践答庆过,这几天忙考试也没时间搞这个。

另外第二步可能会申请失败,如果不行的话可的程序的第一个SECTION

先预留足够多的空间。


欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/yw/8263516.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2023-04-14
下一篇 2023-04-14

发表评论

登录后才能评论

评论列表(0条)

保存