是否有办法在已有的exe上套上一个自己的exe壳?

xjacks 2014-05-27 02:45:19
例如已有一个A.exe,目测是Winform开发的,没有源代码。
现在想将A.exe隐藏起来,开发一个自己的B.exe,内部包含A.exe(用户看不到),运行B.exe的时候先弹出自己的界面,经过用户选择后再启动隐藏的A.exe。
不知.NET是否有这样的技术可以用?谢谢!
...全文
950 16 打赏 收藏 转发到动态 举报
写回复
用AI写文章
16 条回复
切换为时间正序
请发表友善的回复…
发表回复
xjacks 2014-07-17
  • 打赏
  • 举报
回复
这个问题已经搞定,先将exe作为资源加到项目内,然后在需要启动exe的地方新开一个线程,增加一句话:
Assembly.Load(Properties.Resources.XXXX).EntryPoint.Invoke(null, new object[1]);
即可成功调用。在.NET 4.5下测试正常,.NET 4.0下会出错,不知道为啥啊……
xjacks 2014-05-31
  • 打赏
  • 举报
回复
在codeproject发现一个:Load an EXE File and Run It from Memory http://www.codeproject.com/Articles/13897/Load-an-EXE-File-and-Run-It-from-Memory 去试试看……
xjacks 2014-05-31
  • 打赏
  • 举报
回复
引用 11 楼 keenweiwei 的回复:
偶这里刚好做过类似的程序,但提供参考思路而已。 http://blog.csdn.net/keenweiwei/article/details/27692503
谢谢,我想问一下能否将testConsole1、2、3、4全部隐藏起来,例如打包进testWinform中?
SubMain 2014-05-30
  • 打赏
  • 举报
回复
#2正解。。
ijwsoft 2014-05-30
  • 打赏
  • 举报
回复
偶这里刚好做过类似的程序,但提供参考思路而已。 http://blog.csdn.net/keenweiwei/article/details/27692503
mjp1234airen4385 2014-05-29
  • 打赏
  • 举报
回复
完全可以。
xjacks 2014-05-29
  • 打赏
  • 举报
回复
引用 2 楼 g394594141 的回复:
应该是可以的,应该可以动态把exe作成资源打包进你的exe,然后运行你的exe时先解压A.exe到一个临时目录,然后运行A.exe
谢谢,我试试看~
xjacks 2014-05-29
  • 打赏
  • 举报
回复
引用 1 楼 caozhy 的回复:
在讨论这种“技术”可行性之前,你能说出它的合理用途么? 如果是用来偷窃人家的程序占为己有,我看还是省省的好。
为了对exe内的信息进行一些保密。
OnePeace888 2014-05-27
  • 打赏
  • 举报
回复
winform源代码比较好看到啊。
欢乐的小猪 2014-05-27
  • 打赏
  • 举报
回复
可以。。用加壳工具就好
SeeYou孙悟空 2014-05-27
  • 打赏
  • 举报
回复
2楼方法可行。
Pandorym 2014-05-27
  • 打赏
  • 举报
回复
有什么意义吗?
by_封爱 版主 2014-05-27
  • 打赏
  • 举报
回复
用进程打开那个a.exe就行了...
g394594141 2014-05-27
  • 打赏
  • 举报
回复
应该是可以的,应该可以动态把exe作成资源打包进你的exe,然后运行你的exe时先解压A.exe到一个临时目录,然后运行A.exe
threenewbee 2014-05-27
  • 打赏
  • 举报
回复 1
在讨论这种“技术”可行性之前,你能说出它的合理用途么? 如果是用来偷窃人家的程序占为己有,我看还是省省的好。
一、常规解决办法 1.注消或重启电脑,然后再试着删除。 2.进入“安全模式删除”。 3.在纯Dos命令行下使用DEL、DELTREE和RD命令将其删除。 4.如果是文件夹中有比较多的子目录或文件而导致无法删除,可先删除该文件夹中的子目录和文件,再删除文件夹。 5.如果是在“添加或删除程序”选项卸载一个软件后,发现软件的安装目录仍旧存在,里边残留着几个文件,直接删除时,系统却提示文件正在使用无法删除。 此时可首先打开“命令提示符”窗口,按“Ctrl+Alt+Del”组合键打开任务管理器,在进程中将“explorer.exe”进程关闭掉(在这之前最好将所有程序关闭掉),切换到命令提示符窗口,使用DOS命令进入无法删除的文件夹,输入“Del 文件夹名”就可以将该文件夹删除了。删除完成后,在任务管理器中选择“文件→新任务”,输入“explorer.exe”重新建立系统的外。 二、高级解决方案 1.磁盘错误 运行磁盘扫描,并扫描文件所在分区,扫描前确定已选上修复文件和坏扇区,全面扫描所有选项,扫描后再删除文件。 2.预读机制 某些视频、图像文件播放中断或正在预览时会造成无法删除。在“运行”框中输入:REGSVR32 /U SHMEDIA.DLL,注销掉预读功能。或在注册表中删除[HKEY_ LOCAL_MacHINE\SOFTWARE\Classes\CLSID\{87D62D94-71B3-4b9a-9489-5FE6850DC73E}\InProcServer32]键值。然后即可删除文件。 3.防火墙 由于反病毒软件在查毒时也会导致执行删除时提示文件正在使用,这时可试着停止或关闭它再删。 4.Office、WPS系列软件 Office、WPS的非法关闭也会造成文件无法删除或改名。重新运行该程序,然后正常关闭,再删除文件。 5.借助WinRAR 右击要删除的文件夹,选择“添加到压缩文件”。在弹出的对话框中选中“压缩后删除源文件,”随便写个压缩包名,点击“确定”按钮即可。 6.权限问题 如果是Windows 2000/XP/2003系统,请先确定是否有权限删除这个文件或文件夹。 7.可执行文件的删除 当执行文件的映像或程序所调用的DLL动态链接库还在内存中未释放,删除时也会提示文件正在使用,解决方法是在DOS下删除系统的页面文件(Win98中是Win386.SWP,Win2000/XP是pagefile.sys)。 8.用其他软件的方法,我向大家推荐: a、用Unlocker(最好的顽固软件删除工具),Unlocker 是一个免费的右键扩充工具,使用者在安装后,它便能整合于鼠标右键的操作当中,当使用者发现有某个档案或目录无法删除时,只要按下鼠标右键中的「Unlocker」,那么程序马上就会显示出是哪一些程序占用了该目录或档案,接着只要按下弹出的窗口中的「Unlock」就能够为你的档案解套啰。 Unlocker 不同于其它解锁软件的部分在于它并非强制关闭那些占用档案的程序,而是以解除档案与程序关连性的方式来解锁,因此不会像其它解锁程序一样因为强制关闭程序而造成使用者可能的数据遗失。 b、Killbox 只有38K,下载后,直接找到路径后就可以删除文件 9. 终极大法--格式化!

110,526

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术 C#
社区管理员
  • C#
  • Web++
  • by_封爱
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

让您成为最强悍的C#开发者

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