日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁(yè) > 编程资源 > 编程问答 >内容正文

编程问答

[原创]基于frida的脱壳工具

發(fā)布時(shí)間:2025/3/15 编程问答 35 豆豆
生活随笔 收集整理的這篇文章主要介紹了 [原创]基于frida的脱壳工具 小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.

frida-unpack

基于Frida的脫殼工具

0x0 frida環(huán)境搭建

frida環(huán)境搭建,參考frida官網(wǎng):frida。

0x2 原理說明

利用frida hook libart.so中的OpenMemory方法,拿到內(nèi)存中dex的地址,計(jì)算出dex文件的大小,從內(nèi)存中將dex導(dǎo)出。
ps:查看OpenMemory的導(dǎo)出名稱,可以將手機(jī)中的libart.so通過adb pull命令導(dǎo)出到電腦,然后利用:
nm libart.so |grep OpenMemory命令來查看到出名。

0x3 腳本用法

  • 在手機(jī)上啟動(dòng)frida server端
  • 執(zhí)行脫殼腳本

    1

    ./inject.sh 要脫殼的應(yīng)用的包名 OpenMemory.js

  • 脫殼后的dex保存在/data/data/應(yīng)用包名/目錄下

0x4 腳本測(cè)試環(huán)境

此腳本在以下環(huán)境測(cè)試通過

  • android os: 7.1.2 32bit (64位可能要改OpenMemory的簽名)
  • legu: libshella-2.8.so
  • 360: libjiagu.so

0x5 參考鏈接

  • frida

0x06 python腳本支持

python frida_unpack.py 應(yīng)用包名

0x07 相關(guān)技巧

  • 利用c++filt命令還原C++ name managling之后的函數(shù)名

    1

    2

    3

    4

    c++filt _ZN3art7DexFile10OpenMemoryEPKhjRKNSt3__112basic_stringIcNS3_11char_traitsIcEENS3_9allocatorIcEEEEjPNS_6MemMapEPKNS_10OatDexFileEPS9_

    ?

    輸出:

    art::DexFile::OpenMemory(unsigned char const*, unsigned?int, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> > const&, unsigned?int, art::MemMap*, art::OatDexFile const*, std::__1::basic_string<char, std::__1::char_traits<char>, std::__1::allocator<char> >*)

源碼見github鏈接:https://github.com/dstmath/frida-unpack

https://bbs.pediy.com/thread-229604.htm

總結(jié)

以上是生活随笔為你收集整理的[原创]基于frida的脱壳工具的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯(cuò),歡迎將生活随笔推薦給好友。