首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > .NET > .NET >

怎么借用Delphi的编译器来生成Exe文件

2012-02-13 
如何借用Delphi的编译器来生成Exe文件?目标的功能是:在Exe程序A中,填写相关信息,然后生成Exe程序B。目前是

如何借用Delphi的编译器来生成Exe文件?
目标的功能是:在Exe程序A中,填写相关信息,然后生成Exe程序B。

目前是用流和资源文件的形式,将程序B预先生成好,然后在A中,将相关信息挂到B的PE的末尾,生成一个新的Exe程序B。

我想请教下,能否直接借用Delphi的编译器 DCC32.EXE 来直接 编译B的代码,而不是预先生成好。


[解决办法]
这样你就要带上一个源码和一个编译器和链接器,挂信息可以直接用注入或者PE操作hex写入
[解决办法]
学习下。
[解决办法]
按你的要求,理论上可以实现(不用修改PE的)
1.)将B的源码放入 a.exe中
2.)a.exe接收相关信息,将b的源码从资源中导出并修改
3.)编译b的源码,生成b.exe
4.)执行b.exe
但问题是,你目标机上不一定有编译器的,那又有两个方案
1.要求目标机装有编译器
2.将编译器也放入A资源(不是一个dcc32就能解决问题的,还有一堆DLL)
----------------------------------
我不知LZ为什么要这么做,通过A.exe在资源中释放B.exe,这个很方便,将A.exe接收相关信息传给B.exe也有很多方法(如数据库,文件,注册表,内存共享等,最简单的,如果数据少,通过参数或环境变量都可以),为什么一定要生成在b.exe本身呢
另外的方法,直接用a.exe修改b.exe的资源,以前做过的.如果需要,可帮你找一找

[解决办法]
用D高版本编译的时候,你会看到一句信息
make XXXXXXXXXXXXXXXXXXX

复制一下,就是你要的了。
[解决办法]
有情帮顶
[解决办法]
楼主是在做木马生成器?
[解决办法]

探讨

楼主是在做木马生成器?

[解决办法]
探讨
按你的要求,理论上可以实现(不用修改PE的)
1.)将B的源码放入 a.exe中
2.)a.exe接收相关信息,将b的源码从资源中导出并修改
3.)编译b的源码,生成b.exe
4.)执行b.exe
但问题是,你目标机上不一定有编译器的,那又有两个方案
1.要求目标机装有编译器
2.将编译器也放入A资源(不是一个dcc32就能解决问题的,还有一堆DLL)
-------------……

[解决办法]
楼主,你目前所用的方法是通用的方法,不需要改进。但是流写入有很多小技巧,结合结构体来做,可以写得相当完美。

两年前我也研究过动态生成exe的技术,目前仍然确定你这种做法是唯一的做法。你不可能再创一种其它方法出来。
[解决办法]
学习一下

热点排行