开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 207|回复: 9
收起左侧

[易语言] 关于内存运行 exe 运行目录和外壳问题

[复制链接]
结帖率:55% (6/11)
发表于 3 天前 | 显示全部楼层 |阅读模式   新疆维吾尔自治区巴音郭楞蒙古自治州
20精币
目前我的需求是(加壳):
1.把我的现有程序附加到原有程序上
2.组成新 exe,双击后出我的现有程序窗口,验证成功获取内存中的 exe。也就是本次问题的关键

问题
1.内存运行 exe 我看了都需要外壳程序
我想的是,如何不改变外壳程序,让我最终内存运行的程序显示为原有 exe 程序的信息(不是我的现有验证程序),我尝试过把自身复制一份,然后去用复制的去运行,无法运行。因为自身本来就是一个加壳程序,一个拥有原有程序+验证程序的程序。如果做不到,用 cmd.exe做外壳也行,但就是丑(对用户来说会很疑惑,为什么我的程序是个 cmd,肯定是个病毒,而且一个 cmd 如此大量的流量、io 读写,也会被杀毒软件检查,即便做了vmp),那就是第二个问题
2.用 cmd.exe等程序去做外壳的话,如何保证内存运行exe 的运行目录?目前我的做法是运行前把 cmd.exe复制一份到运行目录,然后运行目录()+"\cmd.exe"来作为外壳,才能保证我的原有程序运行在真正的运行目录上。


如果做不到1,那2的运行目录如何保证?我尝试过精易模块 内存运行问题
https://bbs.ijingyi.com/forum.php?mod=viewthread&tid=14650204
(出处: 精易论坛)
但是根本无法解决


回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值
结帖率:55% (6/11)

签到天数: 6 天

 楼主| 发表于 前天 10:53 | 显示全部楼层   新疆维吾尔自治区巴音郭楞蒙古自治州
目前我准备用 e 或者c# 再做一个 exe 作为宿主,然后用程序去修改这个宿主的图标和属性
回复

使用道具 举报

结帖率:100% (32/32)

签到天数: 9 天

发表于 前天 08:15 | 显示全部楼层   河南省安阳市
其实你换一思路也是一样的 创建一个VHD虚拟磁盘 把你的EXE释放到这里面运行它 然后卸载掉VHD一样不会留任何痕迹 只存在内存中 就算定位也找不到此程序
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 10 天

发表于 前天 08:23 | 显示全部楼层   广西壮族自治区贺州市
  
窗口程序集名保 留  保 留备 注
窗口程序集_启动窗口   
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
' 验证部分你自己写,这里直接演示内存运行
调试输出 (“验证成功,即将运行原程序”)
' 参数1:原 EXE 字节集  参数2:命令行(不需要就空文本)  参数3:是否等待运行结束(假=不等待)
程序_内存运行Ex ( #原程序, , )
' 原程序已接管进程,销毁启动窗口
销毁 ()


i支持库列表   支持库注释   
spec特殊功能支持库



可以试下这个,你只需要把编译出来的壳程序重命名为原程序的文件名,用户看到的就是原程序进程和界面,完全满足你需求 1,也不需要 cmd 外壳。
回复

使用道具 举报

结帖率:97% (108/111)

签到天数: 5 天

发表于 前天 09:29 | 显示全部楼层   伊朗
用原程序做外壳易语言的好像有点问题   可以用C++的写个支持库或者写个dll  来搞
回复

使用道具 举报

结帖率:55% (6/11)

签到天数: 6 天

 楼主| 发表于 前天 09:42 | 显示全部楼层   新疆维吾尔自治区巴音郭楞蒙古自治州
Marvin 发表于 2026-7-8 08:23
[e=1].版本 2
.支持库 spec

程序_内存运行Ex 是 哪个模块
回复

使用道具 举报

结帖率:100% (11/11)

签到天数: 10 天

发表于 前天 10:03 | 显示全部楼层   广西壮族自治区贺州市
AMEN.@ 发表于 2026-7-8 09:42
程序_内存运行Ex 是 哪个模块

精易模块,v11的
回复

使用道具 举报

结帖率:55% (6/11)

签到天数: 6 天

 楼主| 发表于 前天 10:05 | 显示全部楼层   新疆维吾尔自治区巴音郭楞蒙古自治州
Marvin 发表于 2026-7-8 10:03
精易模块,v11的

精易模块是 程序_内存中运行EXE,需要传递外壳程序,我的问题就是怎么做这个外壳保证和我元程序一致,我尝试过把自身复制一份,然后去用复制的去运行,无法运行。因为自身本来就是一个加壳程序,我说过了,审题
回复

使用道具 举报

结帖率:100% (1/1)

签到天数: 4 天

发表于 昨天 13:44 | 显示全部楼层   山东省济宁市
用记事本做外壳
回复

使用道具 举报

结帖率:80% (4/5)

签到天数: 9 天

发表于 昨天 19:58 | 显示全部楼层   广西壮族自治区柳州市
直接把EXE加载到自己内存中,创建一个新线程运行EXE入口不就行了
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报QQ: 793400750,邮箱:wp@125.la
网站简介:精易论坛成立于2009年,是一个程序设计学习交流技术论坛,隶属于揭阳市揭东区精易科技有限公司所有。
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备2025452707号) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表