2011-03-07 62 views
0

我有一些C代碼中的字符串常量。當我使用gcc編譯它時,字符串以純文本形式存儲在a.out中。這些可以在a.out中手動編輯。我不想讓它們以某種格式編碼,以至於沒有人可以通過編輯a.out來改變字符串。有沒有objcopy或gcc選項來避免這種情況?編譯使用gcc沒有純文本常量在ELF圖像

+2

只要a.out是可編輯的,無論您如何對它們進行編碼,它們總是可以更改字符串。混淆字符串使得它稍微困難一些,但你永遠無法完全阻止人。 – Troubadour 2011-03-07 22:58:53

回答

0

是那麼ATLEAST可能使精靈執行後纔會完整性自檢&一個錯誤終止,如果它未能編譯代碼...

也就是說它可以存儲某種的md5sum的最終,在每次執行檢查..

我相信的Win32應用程序都這樣了,&手工編輯窗口exe文件,使之成爲無效的Win32應用程序,因爲校驗失敗..

這是可能的在GCC/Linux?