App信息
包名:com.hupu.shihuo
旧版本7.21.1过强制更新
打开app出现如下弹窗,提示需要版本更新,没有跳过选项。
绕过方式
反编译apk,找到弹窗位置,通过hook修改跳出弹窗的逻辑,实现绕过。
反编译apk
搜索新版本
双击跳转
这里出现了UpdateDialog对象,用来显示更新对话框的,可以把它的show()
方法给hook掉
1 | function hook_dialog(){ |
强制更新就被绕过了。
关于frida的反调试
目前我能实现的反调试方式
第一种:删除libmsaoaidsec.so
第二种:使用魔改特征的frida
第三种:使用脚本使libmsaoaidsec.so
1 | function hook_dlopen(so_name){ |
旧版本7.21.1搜索接口
不需要逆向,接口拿过来可以直接用
1 | import requests |
直接修改请求体中的keywords
进行使用
Unidbg
响应体解密
目标是heracles()
函数,加载的so是libdusanwa.so
hook heracles()
1 | function bArrToString(bArr) { |
hook结果
1 | SwSdk.heracles is called: bArr=-33,-44,19,-38,69,38,-62,-117,-45,59,-80,-92,113,114,53,-92,-8,8,-63,-17,-81,4,-73,54,-117,-30,-111,-37,16,16,-26,35,31,53,81,126,-121,-59,16,45,88,-87,71,4,-15,-74,-29,26,74,11,-75,-120,95,37,23,125,-28,99,62,10,118,86,-8,84,20,-20,-12,-23,60,-16,-93,94,104,95,20,16,105,33,9,-54,-125,51,95,72,-104,-68,-5,8,95,5,60,-38,-128,74,16,-101,61,-105,9,38,-127,31,-51,-76,-93,10,-34,-117,-20,25,94,118,14,-46,58,-30,-41,125,-124,-26,-43,-74,-84,123,-118,-50,26,83,-77,16,-42,16,-54,-51,34,0,-58,-41,56,32,-74,83,70,112,21,101,42,26,101,-118,-112,-3,-88,-35,-127,-57,-93,-82,68,-65,107,-50,52,49,61,-85,44,92,-26,90,-42,76,-77,66,6,-29,-25,109,55,-44,-91,-81,-57,26,-52,-51,-118,-29,-74,-31,35,-85,41,12,-49,110,11,-44,118,43,14,1,94,-90,107,36,87,-108,82,27,8,-77,10,17,59,-58,-27,-112,-10,50,-125,103,-112,-86,22,-74,-11,-41,-31,11,-82,79,-97,86,15,16,-123,-17,-10,72,-54,100,-68,-33,-112,-34,114,-54,-75,126,-88,-31,-118,28,-50,76,-40,-107,-121,73,92,-64,120,60,-76,50,19,109,61,-20,73,4,24,57,62,-101,-71,114,-27,4,29,-11,-93,-84,-92,90,-73,-59,-102,14,-34,18,-43,48,29,-79,-19,25,76,79,87,-36,104,74,24,6,91,-74,-118,21,-49,44,6,-74,-125,-78,37,116,102,10,113,-111,51,46,-20,-123,-60,69,-53,-85,-81,-40,54,120,29,-108,-97,-83,-49,1,-119,90,108,94,47,18,-21,-21,116,-41,33,-28,25,-6,-10,-25,-28,93,-47,21,90,27,24,-110,65,-75,-91,-30,-108,-72,63,-86,-115,-121,80,-96,-18,-99,106,-47,64,-48,-6,-60,66,109,-63,-77,95,101,-123,4,-15,72,-3,-90,45,-58,-108,8,96,-12,34,-68,111,105,-50,-111,-108,-103,20,37,-48,-61,-36,-37,-19,105,-109,-31,-111,-119,-120,-93,-68,-5,50,86,-10,63,-87,47,34,-21,-29,-10,120,1,-75,5,44,17,-62,25,110,98,120,-108,101,82,19,38,-25,127,112,-73,-68,88,-112,92,85,20,-92,85,-119,-37,96,-50,-69,49,-30,-104,-19,-14,103,41,127,-87,85,-22,108,61,25,3,-74,57,-12,80,-110,-24,63,88,116,-126,71,-19,109,57,-47,-24,-30,89,36,-83,-95,88,-61,-41,-80,44,-75,30,-106,70,-31,-51,-16,68,39,94,-7,34,-120,118,-61,125,110,-127,-80,-92,12,-49,111,-61,18,-42,-17,118,30,-32,18,-88,-20,-59,-71,92,-105,-107,13,55,-76,32,-125,50,12,-99,80,11,92,-102,-121,18,-22,-55,-67,80,120,-107,-25,-85,-38,28,-92,103,-33,-67,82,-43,112,124,-21,-77,109,49,87,90,-102,-107,21,-46,81,10,-22,-46,-97,-7,66,31,-14,-85,50,-47,-30,-74,-22,-102,16,4,105,59,-76,44,108,27,3,-90,-66,-71,80,-42,-59,126,58,-70,-115,84,-17,88,-24,2,-22,99,106,-67,-56,-72,119,-24,-18,-91,-12, i=-1, i2=0 |
call_heracles()
1 | function call_heracles(){ |
结果
1 | SwSdk.heracles result={"code":0,"status":0,"req_id":"BB3279FBC2CC8429647CB94564844A42","msg":"ok","data":{"activity_dynamic_modules":[{"component":"dynamic_common_hori_style_1","page":"detail_questionnaire_style_1","height":49,"pageData":{"href":"shihuo://www.shihuo.cn?route=fastWebview\u0026share_item=hidden\u0026url=https%3A%2F%2Fzt-public.shihuo.cn%2Fpage%2F17374428518420016%2Findex.html%3FsourceId%3D133","desc":"{\"goods_id\":\"5028781\",\"plan_id\":0,\"source_id\":1}","plan_id":374,"click_times":9999,"entry_type":1,"entrance_img":"http://static.shihuocdn.cn/app/res/dsgn/b757d06747a0458982fe0a62359f83c7.jpeg"}}]}} |
unidbg模拟执行
1 | public class SwSdk extends AbstractJni { |
补环境
补currentActivityThread()
1 | java.lang.UnsupportedOperationException: android/app/ActivityThread->currentActivityThread()Landroid/app/ActivityThread; |
补
1 | case "android/app/ActivityThread->currentActivityThread()Landroid/app/ActivityThread;":{ |
补getApplication()
1 | java.lang.UnsupportedOperationException: android/app/ActivityThread->getApplication()Landroid/app/Application; |
补
1 | case "android/app/ActivityThread->getApplication()Landroid/app/Application;":{ |
补getPackageManager()
1 | java.lang.UnsupportedOperationException: android/app/Application->getPackageManager()Landroid/content/pm/PackageManager; |
补
1 | case "android/app/Application->getPackageManager()Landroid/content/pm/PackageManager;":{ |
over
1 | {"code":0,"status":0,"req_id":"BB3279FBC2CC8429647CB94564844A42","msg":"ok","data":{"activity_dynamic_modules":[{"component":"dynamic_common_hori_style_1","page":"detail_questionnaire_style_1","height":49,"pageData":{"href":"shihuo://www.shihuo.cn?route=fastWebview\u0026share_item=hidden\u0026url=https%3A%2F%2Fzt-public.shihuo.cn%2Fpage%2F17374428518420016%2Findex.html%3FsourceId%3D133","desc":"{\"goods_id\":\"5028781\",\"plan_id\":0,\"source_id\":1}","plan_id":374,"click_times":9999,"entry_type":1,"entrance_img":"http://static.shihuocdn.cn/app/res/dsgn/b757d06747a0458982fe0a62359f83c7.jpeg"}}]}} |