討論區快速選單
知識庫快速選單
網路投保旅行平安險 傑米的攝影旅遊筆記 政府補助!學嵌入式+物聯網
[ 回上頁 ] [ 討論區發言規則 ]
執行變數內的程式
更改我的閱讀文章字型大小
作者 : georgeaa23dd23()
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/12/5 下午 03:38:49
請問一下
我有一支hello.exe程式
我想要把他讀進變數buf再執行buf的程式
請問一下這有可能嗎?
我知道有辦法可以直接執行hello.exe
可是我想要把他讀進變數再執行
int main(int argc, char *argv[]){
    FILE *f;
    size_t size;
    unsigned char *buf;
    f = fopen("hello.exe","rb");
    fseek(f, 0, SEEK_END);
    size = ftell(f);
    rewind(f);
    printf("size = %d\n", size);
    buf = (unsigned char *)malloc(size);
    fread(buf, size, 1, f);
    fclose(f);
}
作者 : sflam(Raymond)討論區板主 Visual C++ .NET卓越專家VC++一代宗師新手入門優秀好手資訊類作業求救頂尖高手C++一代宗師貼文超過4000則
[ 貼文 4944 | 人氣 9172 | 評價 32280 | 評價/貼文 6.53 | 送出評價 142 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
主題發起人georgeaa23dd23註記此篇回應為最佳解答 2014/12/6 上午 12:44:27
>請問一下
>我有一支hello.exe程式
>我想要把他讀進變數buf再執行buf的程式
>請問一下這有可能嗎?

可能. 如果是 native executable, 你要做作業系統 loader 的動作:
http://www.joachim-bauch.de/tutorials/loading-a-dll-from-memory/

如果是 managed code 則比較簡單:
http://www.codeproject.com/Articles/13897/Load-an-EXE-File-and-Run-It-from-Memory


>我知道有辦法可以直接執行hello.exe
>可是我想要把他讀進變數再執行

請問你認為你要這麼做的原因.

http://stackoverflow.com/questions/3553875/load-an-exe-file-and-run-it-from-memory-using-c-sharp

http://stackoverflow.com/questions/3897276/run-nativeunmanaged-exe-from-memory-in-c-sharp

http://www.codeproject.com/Articles/4221/Adding-and-extracting-binary-resources

http://stackoverflow.com/questions/16872618/c-add-pe-file-as-resource-and-execute-it-from-memory

http://www.rohitab.com/discuss/topic/31681-c-run-program-from-memory-and-not-file/

作者 : georgeaa23dd23(鏞)
[ 貼文 2 | 人氣 0 | 評價 0 | 評價/貼文 0 | 送出評價 1 次 ] 
[ 給個讚 ]  [ 給個讚 ]  [ 回應本文 ]  [ 發表新文 ]  [ 回上頁 ] [ 回討論區列表 ] [ 回知識入口 ]
2014/12/6 上午 09:47:00
感謝你的回應

這麼做的原因是因為想要將hello.exe包在另外一支程式內
但是另外一支程式執行hello的功能時不想再另外產生一個file
 板主 : Daniel
 > 資訊類作業 - 討論區
 - 最近熱門問答精華集
 - 全部歷史問答精華集
 - 資訊類作業 - 知識庫
  ■ 全站最新Post列表
  ■ 我的文章收藏
  ■ 我最愛的作者
  ■ 全站文章收藏排行榜
  ■ 全站最愛作者排行榜
  ■  月熱門主題
  ■  季熱門主題
  ■  熱門主題Top 20
  ■  本區Post排行榜
  ■  本區評價排行榜
  ■  全站專家名人榜
  ■  全站Post排行榜
  ■  全站評價排行榜
  ■  全站人氣排行榜
 請輸入關鍵字 
  開始搜尋
 
Top 10
評價排行
資訊類作業
1 Raymond 4540 
2 Ben 2880 
3 青衫 2260 
4 ozzy 1540 
5 HKLN.net 1010 
6 Daniel 780 
7 joe 740 
8 小朱 570 
9 Benson 440 
10 鬼翼@娃娃魚 400 
資訊類作業
  專家等級 評價  
  一代宗師 10000  
  曠世奇才 5000  
  頂尖高手 3000  
  卓越專家 1500  
  優秀好手 750  
Microsoft Internet Explorer 6.0. Screen 1024x768 pixel. High Color (16 bit).
2000-2018 程式設計俱樂部 http://www.programmer-club.com.tw/
0.046875