針對於早期版本的flutter開發的app的處理

Wkeng發表於2024-07-08

下為某個flutter開發的app的hook
app為flutter開發,知道是一個AES加密,但是相關so中方法的hook經驗較少

這個app的dart的版本較早,是2.10的,找了一個開源的指令碼,對程式碼進行了處理,獲取到相對的so層的方法和地址
指令碼地址:https://github.com/rscloura/Doldrums
目前較好的是那個blutter,但是他對於一些早期的版本是不支援的,所以找了這個做了處理,處理後的結果如下:

因為我知道是AES,所以直接搜尋的aes,根據地址進行hook。

需要記錄的點是:onEnter 的args

之前我的列印方法是,for迴圈,列印args裡面的值,但是不知道為什麼一直報錯超出index
後面改為迴圈長度位引數的長度,沒有報錯,列印引數也都是透過列印原始hex資料檢視:
var address = args[0];
var buffer = Memory.readByteArray(address, 500); //修改這個可以控制列印長度,下面的也需要改為同樣的數值
console.log("arg[0] memory content: " + hexdump(buffer, { offset: 0, length: 500, header: true, ansi: false }));

後續根據指令碼的列印結果,嘗試處理,獲取到解密的,字串和iv值:

相關文章