hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口

效果图:
hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第1张图片
hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第2张图片

使用 jadx 搜索X-Gorgon 定位到java代码

下图便可以看出X-Gorgon 由c2+str2+str3+str4加密而来hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第3张图片

c2参数 通过xposed 或者 frida hook 下图得出str参数,就是url去掉域名

os_api=23&device_type=M5s&device_platform=android&ssmix=a&iid=94522513079&manifest_version_code=820&dpi=320&uuid=864565030445123&version_code=820&app_name=aweme&version_name=8.2.0&ts=1579249001&openudid=e524b7fba132eb2d&device_id=60981739188&resolution=720*1280&os_version=6.0&language=zh&device_brand=Meizu&app_type=normal&ac=wifi&update_version_code=8202&aid=1128&channel=tengxun_new&_rticket=1579249002445

md5(str) 得到c2参数

hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第4张图片

str2参数是post请求from表单数据,str2=md5(from) 如果不是则为str2=00000000000000000000000000000000

hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第5张图片

str3同样通过hook得到是cookie,str3=md5(cookie)

hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第6张图片

str4 也是通过hook得到是cookie中登入的sessionid=54292e529b3e7bdeecc6d98fb92357d1的参数,如果没有登入的情况为00000000000000000000000000000000 得出star4=md5(sessionid)

X-Gorgon=leviathan(currentTimeMillis, com.ss.a.b.a.b(c2+str2+str3+str4))

点进去是native方法,这里如果破解算法就需要去分析libcms.so文件
在这里插入图片描述
我这里使用xposed来挟持加密,NanoHTTPD开放接口调用

使用xposed 加载得到加密方法的对象
hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第7张图片
NanoHTTPD 接口代码hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第8张图片
测试加密接口:

http://127.0.0.1:8709 post

参数 说明
cookie 上图的cookie
urlParameter 上图 c2
form 上图 str2
timestamp 10位的时间戳

返回结果图:

hook抖音X-Gorgon参数以及使用NanoHTTPD开放接口_第9张图片

抖音hook插件,安装即可使用

怎么使用:
adb forward tcp:8709 tcp:8709 先端口转发

http://127.0.0.1:8709 post 表单请求,参数和上面的一样

你可能感兴趣的:(java,hook,经验分享,爬虫)