首先:也許這是一個(gè) XY 問題:我真正想解決的是一個(gè)針對監(jiān)視我們源代碼的窮人保護(hù)方案。我們在 C# 項(xiàng)目中使用 HALCON(一個(gè)圖像處理庫);問題是 HALCON 部分存儲為普通源,并且僅在程序開始時(shí)告訴 DLL 源在哪里時(shí)才由 DLL 編譯/收集。我的意圖是將源代碼以加密形式保存在磁盤上,并在初始化 DLL 之前在程序開始時(shí)將其加載/解密到內(nèi)存的一部分。這個(gè)想法是拒絕通過文件系統(tǒng)訪問源代碼(插入 USB 記憶棒并復(fù)制)——我知道這是一種相當(dāng)薄弱的保護(hù)形式,如果我遺漏了一些明顯和更好的方法,請報(bào)告。我一直在研究 RAM 磁盤,但這些磁盤無助于保護(hù),因?yàn)閼?yīng)用程序是 24/7 運(yùn)行的。基于內(nèi)存的文件將是理想的,因?yàn)樗鼈冊趹?yīng)用程序關(guān)閉時(shí)消失并且應(yīng)該或多或少對外界不可見,但我必須為 DLL 提供一個(gè)簡單的 DOS 文件路徑(例如“C:/HALCON/ourproject”)一個(gè)文件流/描述符,所以問題仍然存在,是否可以(在 Windows 中?。┯民v留在 RAM 中的瞬態(tài)部分覆蓋每個(gè)進(jìn)程的文件系統(tǒng)。編輯:我正在使用 HDevelop 接口,也就是說,HALCON 過程是通過 HDevProcedure 對象調(diào)用的,該對象為過程調(diào)用 HALCON 解釋器。
1 回答

守候你守候我
TA貢獻(xiàn)1802條經(jīng)驗(yàn) 獲得超10個(gè)贊
您可以將程序轉(zhuǎn)換為 C# 代碼,而不是直接使用 HDevelop:File -> Export 或 Export Library Project:
您的代碼將與項(xiàng)目的其余部分一起編譯,但您應(yīng)該知道反編譯 C# 程序非常容易。
- 1 回答
- 0 關(guān)注
- 139 瀏覽
添加回答
舉報(bào)
0/150
提交
取消