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