如何借用Delphi的编译器来生成Exe文件? 目标的功能是:在Exe程序A中,填写相关信息,然后生成Exe程序B。目前是用流和资源文件的形式,将程序B预先生成好,然后在A中,将相关信息挂到B的PE的末尾,生成一个新的Exe程序B。我想请教下,能否直接借用Delphi的编译器 DCC32.EXE 来直接 编译B的代码,而不是预先生成好。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 这样你就要带上一个源码和一个编译器和链接器,挂信息可以直接用注入或者PE操作hex写入 gyk120大哥能否讲讲怎么注入或者PE操作hex写入,有简单示例也行 按你的要求,理论上可以实现(不用修改PE的)1.)将B的源码放入 a.exe中2.)a.exe接收相关信息,将b的源码从资源中导出并修改3.)编译b的源码,生成b.exe4.)执行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的末尾,感觉不是很合适。不知道是否有更合适的方法。恳请 keiy 大哥有空的时候能帮忙找找,让小弟学习参考一下,不甚感激~ 我找了一下,自己电脑上程序没找到,不过找到了我以前在CSDN上回过的贴,用BCB的.http://topic.csdn.net/t/20060720/11/4892716.html那个是改exe文件资源中的图标的改其它资源(如字符串表)原理相同(有很多软件改资源的)你可先在b的资源文件中加入若干字串值,然后在A运行时修改它的值 楼主,你目前所用的方法是通用的方法,不需要改进。但是流写入有很多小技巧,结合结构体来做,可以写得相当完美。两年前我也研究过动态生成exe的技术,目前仍然确定你这种做法是唯一的做法。你不可能再创一种其它方法出来。 请问怎么对AdvStringGrid的列下拉框赋值呢? 怎样写母文件 除以小数取余数 怎么才能将dll生成的form附在主程序上而不是单独的程序呀?? 用dxDBGRID如何按条件显示不同的颜色? 有嗎? Delphi开发工程师. write 写文件问题 关于Table和ADOTable的一些简单问题.在线等. 气死我了,不是Delphi疯了就是我疯了,有高人在吗? 如何安装acm控件 异常信息无法在窗体内显示出来?【 】 用过TdxSideBar的进,在线等,有答案就结贴。
gyk120大哥能否讲讲怎么注入或者PE操作hex写入,有简单示例也行
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的资源,以前做过的.如果需要,可帮你找一找
make XXXXXXXXXXXXXXXXXXX复制一下,就是你要的了。
我之所以想这样弄,是考虑到这些参数的保密性。如果直接挂在PE的末尾,感觉不是很合适。
不知道是否有更合适的方法。恳请 keiy 大哥有空的时候能帮忙找找,让小弟学习参考一下,不甚感激~
http://topic.csdn.net/t/20060720/11/4892716.html
那个是改exe文件资源中的图标的
改其它资源(如字符串表)原理相同(有很多软件改资源的)
你可先在b的资源文件中加入若干字串值,然后在A运行时修改它的值