修改RPG Maker的加密包和解密包函式

2021-05-22 00:31:45 字數 748 閱讀 5288

之前我寫過乙個「rgssad終極解包器」,可以自動猜測rm加密包的初始magickey,並進行解包。那個解包器缺點很多,本來一開始做的時候,有考慮加入智慧型猜測內部檔案、抗檔名混淆等,但考慮到沒有什麼意義,最終沒有做。而且以後也沒有打算再更新。

其實不管rgssad_wx也好,catpaws也好,都是運用和rm預設讀取加密資源包的相同演算法來解包的。要防止這些工具解包,單單修改初始的magickey是還不夠的。所以如果想防止被人用這些工具解包,最好的辦法就是更改打包結構了。

而更改打包的結構不是不可能,但是我相信一般人不會去做那種吃力不討好的事情。其實有乙個最簡單的辦法,就是修改magickey的變形公式,同樣能避免被預設演算法解包。

打包的函式在地圖編輯器exe裡,解包的函式呢,則是在rgss***x.dll裡。我是用ollydbg開啟的脫殼後的檔案,搜尋下面列的**塊。

rmxp的magickey變形函式,在exe和dll裡都各有4處(分別是加密檔名長度、加密檔名和加密檔案資料……)。變形公式大概如下:

rmvx稍微有些不同,但是結果和rmxp是一樣的,估計是編譯器不一樣的原因。變形公式如下:

注:ra、rb均為通用暫存器。

注意這些**並不一定是挨著出現的。不過相隔的距離也不會太遠。

修改好地圖編輯器的4處密匙變形公式和dll裡對應的4處變形公式,便擁有了你自己的打包工具和解包演算法,初步防止了分析檔案格式解包的工具。不過,不要忘記給你修改過的地方,用虛擬機器保護軟體之類的處理一下。不然被人反彙編後分析**,就又能輕鬆解包了。

golang使用bcrypt包密碼加密和解密

bcrypt是單向hash加密演算法,不可反向破解生成明文。bcrypt是一種加鹽的加密方法,md5加密時候,同乙個密碼經過hash的時候生成的是同乙個hash值,在大資料的情況下,有些經過md5加密的方法將會被破解。使用bcrypt進行加密,同乙個密碼每次生成的hash值都是不相同的。每次加密的時...

Android Studio修改專案名和包名

為了提高開發效率,有時候需要使用現有的一些開源專案,記錄一下自己修改專案名和包名的方法.1.首先,修改包名 清單檔案裡找 展開所有包 選中想要修改的包,shift f6 也可右鍵refactor rename 進行修改,別忘記下邊也要do refactor 如果依然報錯如下,那麼去看下你的aidl檔...

軟體包的加密解密

15.4.2 軟體包的加密解密 linux一線運維實戰 清華大學出版社 未出版 加密,簡單理解就是以某種特殊的演算法改變原有的資訊資料,使未授權的使用者無法正常獲取其中的資訊。對應於加密的反過程就是解密,對於解密簡單理解就是把不可都的資訊還原成可讀的狀態。對於加密,使用tar命令就可以實現,該命令可...