程序中,如何将另一个 Exe文件嵌入到本身!

dyxfkj 2003-04-21 07:26:02
嵌入以后,可以随时调用被嵌入的Exe文件!
...全文
367 21 打赏 收藏 转发到动态 举报
写回复
用AI写文章
21 条回复
切换为时间正序
请发表友善的回复…
发表回复
DJ_KK 2003-04-22
  • 打赏
  • 举报
回复
up
goomoo 2003-04-22
  • 打赏
  • 举报
回复
对于楼主的要求,使用资源就足够用了。
NamasAmitabha 2003-04-22
  • 打赏
  • 举报
回复
Winexec(pchar(extractfilepath(application.exename)+'exe文件名'), SW_SHOW);
goomoo 2003-04-22
  • 打赏
  • 举报
回复
nestexe.rc 文件的内容确保无误:

nestexe exefile "c:\nestexe.exe"
资源名 资源类型 文件名(指向你的可执行文件名)


要确保 nestexe.res 在你的工程文件夹下,也就是在 *.dpr 文件的旁边,然后

在源文件中加一句:

{$R nestexe.res}

在编译后你会发现你的可执行文件增大了很多,就表示文件已被嵌入。
dyxfkj 2003-04-22
  • 打赏
  • 举报
回复
up
ThenLong 2003-04-22
  • 打赏
  • 举报
回复
start.exe
//该程序功能:常驻内存,任务管理器中隐形
//改xyz.dat->xyz.exe
//检查xyz.exe的大小日期等数据
//运行xyz.exe

xyz.dat(压缩过的exe文件)
//程序功能
//检查satrt.exe是否运行?
//检查start.exe是否被修改?
//如没运行则退出

这样处理 你的软件不容易被破解。
qiujsh 2003-04-22
  • 打赏
  • 举报
回复
使用流将两个文件合并成一个
zhptj 2003-04-22
  • 打赏
  • 举报
回复
delphi中的ole也可以
你去查查吧
dyxfkj 2003-04-22
  • 打赏
  • 举报
回复
to 古木


rs:=TResourceStream.Create(hinstance,'nestexe','exefile');

我按你的方法写了一下!说没有NestExe这个文件!
FrameSniper 2003-04-21
  • 打赏
  • 举报
回复
http://www.china-pub.com/computers/emook/wzq/074/info.htm

看看这个文章,里面有你需要的东西!!!!
FrameSniper 2003-04-21
  • 打赏
  • 举报
回复
不要用资源文件的方法,那不是真正的嵌入

最正规的方法是流,但我没有自己做过,你去网络上查查吧,我曾经看到过一个文章,介绍了流的几个高级用法,其中就有你要求的功能!!!!
dyxfkj 2003-04-21
  • 打赏
  • 举报
回复
up
dyxfkj 2003-04-21
  • 打赏
  • 举报
回复
暂时不考虑软件狗的问题!

我是这样的想法,如果发现Exe被改了,就启动另外一个程序,进行修复
tresss 2003-04-21
  • 打赏
  • 举报
回复
是的,资源文件一定可以,

但可能不用资源文件吗?


在VB中用ole可以办到,到delphi中就没有试过,有人会吗?

可以试一试呀!成功后,请吱唔一声
DragonCity 2003-04-21
  • 打赏
  • 举报
回复
反D版?如果你舍得花一百多买软件狗,上面的说明有好多方法可以加密的。容易的和难的方法都有。
dyxfkj 2003-04-21
  • 打赏
  • 举报
回复
不是想盗版,而是我现在是想反盗版!
cenjoyer 2003-04-21
  • 打赏
  • 举报
回复
编译资源文件可以吗?
需要使用时把该文件释放出来,不用时再删除该文件。
goomoo 2003-04-21
  • 打赏
  • 举报
回复
我还是说说吧。

1.先用记事本写一个文本文件:

nestexe exefile "c:\nestexe.exe"

将文件存为 nestexe.rc. 可为任意文件名。

2.在命令提示符下输入:

brcc32 nestexe.rc

生成 nestexe.res

3.在源文件中加一句:

{$R nestexe.res}

4.在运行时解出来:


procedure TForm1.Button2Click(Sender: TObject);
var
rs:TResourceStream;
begin
rs:=TResourceStream.Create(hinstance,'nestexe','exefile');
rs.SaveToFile('nestexe.exe');
rs.free;
winexec('nestexe.exe',sw_show);
end;
hwonzor 2003-04-21
  • 打赏
  • 举报
回复
如果在vc里可以将Exe做成资源加到工程里,然后程序运行时生成该Exe文件,delphi我就不懂了,不过可以拿VC写个Dll。
goomoo 2003-04-21
  • 打赏
  • 举报
回复
有两中方法,一是使用资源的方法,这是静态的;二是使用流,动态的。

使用资源的方法请参阅资源的使用例子,教程多得很,收缩一下就可以了。
加载更多回复(1)

5,930

社区成员

发帖
与我相关
我的任务
社区描述
Delphi 开发及应用
社区管理员
  • VCL组件开发及应用社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧