怎么 让一个EXE文件启动的时候,加载另一个文件

如何 让一个EXE文件启动的时候,加载另一个文件
如何 让一个EXE文件启动的时候,加载另一个文件

我是想实现下面的功能:
当这个文件A.exe 运行时,加载另一个我写的程序,用于判断他是否用了某些禁止运行的软件。
A.exe 是一个独立的程序。

------解决方案--------------------
把A.EXE + 你的.EXE捆绑在一起 生成一个新的B.EXE,在B.EXE中执行A.EXE,再执行你的.EXE

还是说楼主的需求是不更改A.EXE,A.EXE可以在任何地方,更改为任何名称执行的时候,都需要在运行后调用你的.EXE?


------解决方案--------------------
但是,你的程序是不是要分发给别人使用啊?

如果是给别人用的,那这个方法基本上行不通。

------解决方案--------------------
顶不动了吧!

要达到你的目的,不外乎 启动服务进行监视、捆绑,还有我说的‘偷梁换柱’。

可惜你全部给予否定。



还有一个办法,就象“病毒感染pe程序”的方式。
如果你还是否定或无法实现,我看结论就是“无路可走”了!!!

------解决方案--------------------
1、编写一个动态库, 在动态库DllMain()入口点函数 DLL_PROCESS_ATTACH 启动B.EXE
2、将该DLL名称 写入到A.exe程序PE二进制导入地址表

a.exe启动时会自动加载DLL, DLL加载时会自动加载B.exe
------解决方案--------------------
常用DLL.....
用OD改这比较方便...载入EXE后,
把停住的地儿那块代码拷下来,
按Ctrl+B 在二进制文本框中输入N个0...搜索空白处填入 Dll的名字...注意..不要挨着上面代码,多空几行..

再空几行...
push dll名字那个地方的地址
LoadbibraryA

这时返回到入口点...修改为JMP (push dll名字这个地址)
注意 ...修改这个后这地儿原来的代码没了,

这时,再转到LoadLibraryA后面去,把刚才没了的代码填上...
OK...差不多了... 再JMP 到最开始(就是那块没了的代码后面---正常的代码处...注意...那块没了的代码下面如果变了的话全都得拷到下面去,并且用NOP填冲)
.... 

这时.....程序运行后直接加载你的DLL... 你只要在DLL的dllMain函数中那个啥啥参数后里面写你的代码...
啥EXE都能应付...除非带自效验的...
....话说....你只要写个DLL改名为LPK.DLL放到那目录下就能自动加载了...- -!不过我测试没成功
------解决方案--------------------
用那个shellxxxxx.....不用写DLL也不错...