簡體   English   中英

如何從反編譯中保護/加密 Inno Setup

[英]How to secure/encrypt Inno Setup from decompiling

我正在使用 Inno Setup Tool 來打包/設置我的所有文件(dll、exe、jpg 等)。 但是我發現有一個叫做InnoExtractor的軟件可以真正打開我的設置並讀取所有腳本並提取所有文件,因為我需要在設置中隱藏/保護我的文件我花了很多時間/努力來保護我的setup.exe 是從Inno Setup生成的,但我發現有些人說向 Inno Setup Script 添加密碼,但這也是錯誤的,因為客戶端知道該密碼,他可以簡單地使用 InnoExtractor 並提取所有內容,即使它受保護密碼! 不是嗎!?

現在,我只是問是否有人可以建議我解決這個問題。 實際上我是根據客戶端機器嵌入了XML文件和DLL文件,用於在客戶端安裝特定文件,但如果客戶端將所有DLL提取到他的機器上,那將是一場災難! 我需要一種方法來防止客戶端看到/提取我的 setup.exe!

如果您需要能夠在用戶的機器上運行相同的代碼,則無法保護用戶的代碼。 一旦您將文件傳送到客戶端的機器,無論您使用什么方法打包它們,客戶端都可以提取文件。

你只能讓它更難,但沒有絕對的解決方案。

您使用的標准工具越多,反編譯代碼就越容易。 如果您想讓反編譯變得困難,請制作您的自定義安裝程序,而不是依賴標准安裝程序工具(如 Inno Setup)。


可能唯一安全的方法是使用一些在線服務。

  • 您可以使用一些非常強大的密碼(每個文件/DLL 使用不同的加密密鑰)來加密文件。 安裝程序會要求用戶輸入一些密碼,並將密碼發送給某個在線服務。 在線服務在驗證密碼后,將發回您允許客戶端安裝的 DLL 的解密密鑰。 這將允許安裝程序僅解密該客戶端的 DLL。

  • 另一種選擇是安裝程序實際上會從服務器下載 DLL,只有在您驗證客戶端之后。

沒有辦法 100% 保護您的安裝程序免受攻擊者的侵害 如果有人想破解它,那么它可以做到。

你可以做什么:

1) 使用一些自定義(第 3 方)系統加密文件或使用 [Setup] Encryption 指令

2) 修改 Inno Setup - 下載源代碼,更改它們並再次編譯

3)將敏感文件和數據放在服務器上並在安裝過程中下載它們(+加密)

4) [Code] 部分不能完全解壓,在那里放置一些計算或文件操作

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM