任何人都可以推薦什麼是加密可執行文件的好方法嗎?我試圖使用AxCrypt,但我不喜歡這種用法,即您指定了密碼,啓動exe的人需要指定密碼。有沒有辦法加密一次,用戶只需運行該exe文件而不指定任何密碼?加密可執行文件
Q
加密可執行文件
4
A
回答
8
它基本沒有意義。如果它是一個.NET或Java程序,混淆器可以提高性能並減少可執行文件的大小,並使其難以進行反向工程。包裝員可以減少可執行文件大小簽名可以確保您的用戶構建了該程序。但是爲了隱藏它的可執行代碼而對可執行文件進行加密是毫無意義的。
0
0
如果您只希望特定的用戶運行該exe然後,您可以在Windows下定義策略,只允許您爲特定用戶運行它。
但是如果你想隱藏代碼,那麼: 因爲你還沒有提到你用來製作exe的語言。如果它的c/C++已經足夠加密,那麼需要一些工作來從中獲取代碼。如果它的java或csharp中有可以使用的混淆器。這會使得難以從exe中獲取代碼。
6
知道如何解密自己的程序將包含黑客需要破壞程序的所有信息。你正在用鑰匙交出鎖。不過,我們假設您想爲進入您的程序設置一個小屏障。也許你在遊戲中有作弊碼,並且你不希望有人能夠只是run 'strings' over your program並查看它們。
我建議用程序打包你的程序,如UPX。這可以進一步混淆你的程序在磁盤上。你的基本審問技巧只會看到微小的解壓縮器。然而,一個堅定的黑客會很快認出壓縮機程序並對其進行解壓縮。無論哪種情況,一旦程序在內存中運行,就可以獲取進程的核心轉儲,或者將調試器附加到該進程中。在大多數硬件上,你可以做的事情不多。
1
你傢伙不明白這個問題,程序員這樣想是正常的。但作爲道德黑客明確表示,他想支付殺毒軟件不隱藏代碼,無論如何,你可以使用Visual Basic。
加密使用此代碼
Public Function TripleDES_Encrypt(ByVal input As String, ByVal pass As String) As String
Dim TripleDES As New System.Security.Cryptography.TripleDESCryptoServiceProvider
Dim Hash_TripleDES As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim encrypted As String = ""
Try
Dim hash(23) As Byte
Dim temp As Byte() = Hash_TripleDES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
Array.Copy(temp, 0, hash, 0, 16)
Array.Copy(temp, 0, hash, 15, 8)
TripleDES.Key = hash
TripleDES.Mode = Security.Cryptography.CipherMode.ECB
Dim DESEncrypter As System.Security.Cryptography.ICryptoTransform = TripleDES.CreateEncryptor
Dim Buffer As Byte() = System.Text.ASCIIEncoding.ASCII.GetBytes(input)
encrypted = Convert.ToBase64String(DESEncrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
Return encrypted
Catch ex As Exception
End Try
End Function
解密
Public Function TripleDES_Decrypt(ByVal input As String, ByVal pass As String) As String
Dim TripleDES As New System.Security.Cryptography.TripleDESCryptoServiceProvider
Dim Hash_TripleDES As New System.Security.Cryptography.MD5CryptoServiceProvider
Dim decrypted As String = ""
Try
Dim hash(23) As Byte
Dim temp As Byte() = Hash_TripleDES.ComputeHash(System.Text.ASCIIEncoding.ASCII.GetBytes(pass))
Array.Copy(temp, 0, hash, 0, 16)
Array.Copy(temp, 0, hash, 15, 8)
TripleDES.Key = hash
TripleDES.Mode = Security.Cryptography.CipherMode.ECB
Dim DESDecrypter As System.Security.Cryptography.ICryptoTransform = TripleDES.CreateDecryptor
Dim Buffer As Byte() = Convert.FromBase64String(input)
decrypted = System.Text.ASCIIEncoding.ASCII.GetString(DESDecrypter.TransformFinalBlock(Buffer, 0, Buffer.Length))
Return decrypted
Catch ex As Exception
End Try
End Function
相關問題
- 1. iPhone可執行文件(MACH-O)解密
- 2. 解密一個unix可執行文件
- 3. 加密後,exe文件變得不可執行
- 4. 用不同的加密器混淆可執行文件
- 5. 在BinaryAssemblyInfo.GetAssembly中加密可執行文件會導致異常
- 6. 解密一個加密文件並在Java中執行
- 7. 充氣城堡 - 執行加密和解密XML文件?
- 8. 可執行文件
- 9. 可執行文件
- 10. armv7s可執行文件大小增加
- 11. 將Unix可執行文件轉換爲Windows可執行文件
- 12. IIS可執行文件沒有執行
- 13. C#可執行文件執行目錄
- 14. 逐行加密/解密文件?
- 15. 使awk文件可執行
- 16. RPMbuild與可執行文件
- 17. 單個可執行文件
- 18. helink dll可執行文件
- 19. 可執行文件和Django
- 20. 製作可執行文件
- 21. InnoSetup strip可執行文件
- 22. 可執行文件格式
- 23. 非可執行文件夾
- 24. iPhone可執行文件
- 25. iphone可執行文件
- 26. 監控可執行文件
- 27. 獲取可執行文件
- 28. exec可執行文件sed
- 29. Java可執行文件
- 30. 修補可執行文件
如果你想跳過密碼,然後什麼用的加密? – 2009-07-16 06:48:18
我想從執行者的角度跳過它。所以可執行代碼混亂不堪,他們很難進行逆向工程。 – Farooq 2009-07-16 07:14:33