在GCC Linux上,有沒有一種方法可以將文件資源靜態添加到C程序中,然後如何將它擴展到/ tmp從main ()?如何擴展C程序中嵌入的文件資源
4
A
回答
3
您可以使用objcopy嵌入資源,然後使用普通文件操作在/ tmp中創建文件。
如果您編譯這個程序:
#include <stdio.h>
extern char _binary_resource_bin_start, _binary_resource_bin_end;
int main() {
FILE*out = fopen("/tmp/rsrc.bin","wb");
fwrite(&_binary_resource_bin_start,
&_binary_resource_bin_end - &_binary_resource_bin_start, 1, out);
fclose(out);
}
與此生成的文件:
program: program.o resource.o
$(CC) -o program program.o resource.o
resource.o: resource.bin
objcopy -I binary -O elf32-i386 -B i386 resource.bin resource.o
resource.bin:
echo resource-file-contents > resource.bin
我相信你會得到你想要的東西。
2
只是將它存儲爲一個字符串(char *)。如果它嵌入了空值,或者你不想用引號,反斜槓等等的uuencode,hex或base64編碼進行轉義,或者將解碼例程放入你的C程序或者在外部調用它。只需使用常規文件操作即可將數據寫入/ tmp文件。
0
也許你正試圖隱藏你的PHP代碼。如果是這種情況,請記住從生成的可執行文件中檢索PHP代碼很簡單,甚至不需要運行後者。如果隱藏/混淆是目標,那麼您可能需要考慮使用PHP編碼器。
相關問題
- 1. 寫入嵌入在資源文件中的文本文件C#
- 2. 你如何在C中嵌入資源文件?
- 3. Android的擴展文件 - 資源測試
- 4. 讀取資源文件的擴展名
- 5. 在C中嵌入資源#
- 6. 如何調用.Net程序集中的嵌入式資源的exe文件?
- 7. CF中的資源文件 - 未嵌入
- 8. 如何將擴展程序提供的函數嵌入到.ods文件中
- 9. Android擴展文件 - 找不到資源
- 10. c#:如何將exe文件嵌入資源?
- 11. 如何從C#嵌入式資源獲取文件夾名稱
- 12. 在Firefox擴展中嵌入SWF文件
- 13. VS2010擴展資源?
- 14. 在資源文件中嵌入數據
- 15. 如何在iOS應用程序中嵌入自定義資源和文件夾
- 16. C#,WPF,嵌入式資源/嵌入式資源
- 17. 如何將擴展文件資源資源(InputStreams)轉換爲可繪製
- 18. 如何使用「Resx中嵌入的資源」中的資源?
- 19. 在資源中嵌入文本文件C#
- 20. C++中的嵌入式資源
- 21. 目標C中的嵌入式資源?
- 22. 嵌入應用程序資源
- 23. .NET獲取嵌入的資源文件
- 24. 嵌入式資源的文件路徑?
- 25. 如何處理擴展其他資源的資源
- 26. 擴展C#基於文件資源管理器
- 27. 不能與EN-US.resx擴展訪問嵌入資源
- 28. 如何使用Android資源創建Uri,文件擴展名爲
- 29. 如何更改文件擴展名,Windows/Windows資源管理器
- 30. 如何將XML文件嵌入到資源文件
我試過這個:http://www.linuxjournal.com/content/embedding-file-executable-aka-hello-world-version-5967 ...它的工作! :) – Volomike