金刚葫芦娃7723Java_某生鲜App 签名计算方法 脱个壳试试

1、目标

今天的目标是某生鲜App的签名 paramsMD5 ,抓个包先:java

1460000039007091

TIP: 新鲜热乎的 1.4.5python

2、步骤

老规矩,上jadx

1460000039007089

纳尼...... 这个 qihoo 很眼熟,在Windows平台下是老熟人了,没想到如今混移动端了,它又冒出来了。git

怎么办?手脱是万万不行的,这辈子都不想手脱,还好咱们有葫芦娃github

1460000039007090

默念一声"我想脱个壳"。

启动 APP。

启动 frida-server。

python main.py。

默数三秒,脱好了。

一堆Dex怎么找

1460000039007092

脱完的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

1460000039007094

好了,此次从整个文件夹搜索 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));

结果很美丽

1460000039007093

再进入签名函数一看:

1460000039007088

好吧,根本就没有再挂上心爱的Frida的兴致……

3、总结

方法要找,可是脏活累活也要干,实在没办法,一个一个文件打开去找也是能接受的,反正是带薪**

1460000039007095

有钱没欲望才是低欲望,咱们这种没钱没欲望的叫面对现实


版权声明:本文为weixin_36377344原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。