引用 | 編輯
z2352671213
2016-06-29 14:33 |
樓主
▼ |
||
x0
開放源代碼的缺點就是很容易被反編譯(decompile)。網上已經流傳著兩三種的AMXX反編譯器了,其中甚至有可以完全反編譯AMXX的工具,AMXX真的很不安全。 所以我想問問各位大神,有沒有好的反編譯的方法?(比如說,加密?) 因為AMXX的函數是module內置的,所以想要加密是不可能的。因此只能對字串(string)進行加密。 AMXX有提供string轉換成MD5的函式,卻沒有提供解密的函式,所以用MD5顯然不靠譜吧。 我試過用轉義字符(escape character)來加密,比如把0改寫成^x30,但是還是會被反編譯器看穿。 所以,我想問問各位大神,有沒有好的方法,可以實現在插件內部對明文字符串進行加密,和解密。 x0
|
引用 | 編輯
op47
2016-07-03 01:59 |
1樓
▲ ▼ |
MD5 當然是沒有解碼函數, 因為MD5基本上是不能夠解碼的, 只能夠不斷利用字串組合嘗試, 看加密後是否跟本來的一樣
要建立一個可靠的加密解密的function, 一定不能夠在sma裏下手, 我建議建立一個amxx module, module 裏有加解密的function, 使用時就直接從sma call module裏的解密function. 這樣即使amxx流出去, 別人沒有這個module根本就不知道加解密的algorithm. 當然別人也能夠反編module得出解密方法, 所以要用加殼工具混淆module, 這樣就應該相對安全. 不過留意, 有加殼還是有脫殼, 不是100%安全. x0 |
引用 | 編輯
z2352671213
2016-07-03 16:13 |
2樓
▲ ▼ |
下面是引用 op47 於 2016-07-03 01:59 發表的 : 謝謝大大提醒。 我也想過用module,不過我不會寫module 現在我直接用sockets module,向預先寫好的php網頁發送GET請求來獲得指定的字串了 x0 |
引用 | 編輯
a7811311622
2016-08-08 10:32 |
3樓
▲ |
一陣子沒注意…現在AMXX都能完全反編譯了喔…
看來我當初沒發 SMA 的插件是不是該發出來了…? x0 |