某生鮮App 簽名計算方法 脫個殼試試

1、目標

今天的目標是某生鮮App的簽名 paramsMD5 ,抓個包先:java

main

TIP: 新鮮熱乎的 1.4.5python

2、步驟

老規矩,上jadx

納尼...... 這個 qihoo 很眼熟,在Windows平臺下是老熟人了,沒想到如今混移動端了,它又冒出來了。git

怎麼辦?手脫是萬萬不行的,這輩子都不想手脫,還好咱們有葫蘆娃github

https://github.com/hluwa/FRIDA-DEXDumpbash

  1. 默唸一聲"我想脫個殼"。
  2. 啓動 APP。
  3. 啓動 frida-server。
  4. python main.py。
  5. 默數三秒,脫好了。

一堆Dex怎麼找

脫完的Apk在哪裏? 兄弟,你太Native了,脫完就是Apk的那不是葫蘆娃,那是金剛葫蘆娃。svn

面對這一堆Dex,我們該怎麼入手?函數

直接搜Dex文件?

這是至關不靠譜的,Dex是中間文件,不是源碼。this

用jadx一個一個打開去找?

有毅力,先把文件排個序,而後從大到小去一個一個用jadx打開。spa

仍是jadx,不過此次是批量反編譯

import os, sys

# python3.7 merge_dex.py ./file/ livedex

if __name__ == "__main__":
    if len(sys.argv) < 3 :
        print("start error")
        sys.exit()

    print(sys.argv[1], sys.argv[2])
    
path = sys.argv[1] #文件夾目錄
files= os.listdir(path) #獲得文件夾下的全部文件名稱
s = []
for file in files: #遍歷文件夾
    if file.find("dex") > 0: ## 查找dex 文件
        sh = '/Users/fenfei/Desktop/tool/jadx-1.2.0/bin/jadx -j 1 -r -d ' + sys.argv[2] + " " + path + file
        print(sh)
        os.system(sh)

跑一遍,這下才有意思,看到了熟悉的java代碼3d

好了,此次從整個文件夾搜索 paramsMD5

find . -path '*/.svn*' -prune -o -type f -name "*.*" | xargs grep -nH -E -i "paramsMD5"
./com/rt/market/fresh/a/g.java:214:            this.a.put("paramsMD5", b(a2));
./com/rt/market/fresh/common/j.java:127:        aVar.put("paramsMD5", com.rt.market.fresh.a.g.b(a2));

結果很美麗

再進入簽名函數一看:

好吧,根本就沒有再掛上心愛的Frida的興致……

3、總結

方法要找,可是髒活累活也要幹,實在沒辦法,一個一個文件打開去找也是能接受的,反正是帶薪**

有錢沒慾望纔是低慾望,咱們這種沒錢沒慾望的叫面對現實

相關文章
相關標籤/搜索