您好,登錄后才能下訂單哦!
idaPro如何分析app解密lua腳本,針對這個問題,這篇文章詳細介紹了相對應的分析和解答,希望可以幫助更多想解決這個問題的小伙伴找到更簡單易行的方法。
通過前面idaPro調試或hook,我們可以獲取到xxtea解密key,對于sign我們可以直接打開原文件:
可以看到sign值:byds。所以,我們可以同過xxtea解密工具(可從GitHub上下源碼自己編譯)試著解密:
以index.luac為例,我們看index.luac解密前后變化:
我們看到經過xxtea解密后的lua腳本仍然不是明文!我們之前根據cocos2d框架源碼及大神apk反編結果確定就是用的xxtea加密,而且app的lua腳本也有簽名值,這也印證了就是xxtea加密方式,但是我們解密出來的結果仍然不是明文,這說明我們解密可能不完全,到底是不是還得再回到idapro一探究竟。
用idapro打開libgame.so,在export窗口中搜索byds,找到byds_d函數,雙擊進去:
直接F5會顯示反編代碼:
這沒有什么特別的,和我們框架源碼中的代碼是等效的。如果是解密未完成的話,應該會再調用此函數的上一級繼續解密過程,我們jump xrefs跟蹤一下此函數調用:
出來兩個,其中一個是got表,肯定不是,我們雙擊第一個:
只是一個包裝函數,我們繼續跟蹤:
雙擊進去:
我們看到這個函數名稱和源碼中調用xxtea_decrypt是一樣的,我們一開始也將這個函數列入突破口了。現在可以很清晰的看到腳本經過byds_d解密之后,又進行了一次uncompress解壓,到現在應該基本清晰了,lua腳本應該是經過壓縮又進行加密,所以要想還原,應該是先xxtea解密,再解壓縮。我們可以從GitHub上找個解壓zlib的腳本,對解密后的文本再一次解壓:
然后再看index.lua:
可以看到現在已經變成明文了。
關于idaPro如何分析app解密lua腳本問題的解答就分享到這里了,希望以上內容可以對大家有一定的幫助,如果你還有很多疑惑沒有解開,可以關注億速云行業資訊頻道了解更多相關知識。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。