内容简介:对于像我这种不会拖壳、逆向的菜鸡来说,是很痛苦的,frida的hook老是不成功,写的代码总是运行不起来,别说有多痛苦了,最后找啊找,终于找到了一款xposed的插件Xserver(此处膜拜作者一万年)可以图形化及自动化的协助我们hook想要hook的方法,从而可以协助我们遇到数据加密的场景下对内容进行解密,从而帮助我们继续测试下去,(其实此工具能实现的绝对不止数据加解密,只是平常遇到较多的是这种而已)
背景
相信很多小伙伴在日常APP安全测试的过程中都会遇到数据包被加密的情况,如
对于像我这种不会拖壳、逆向的菜鸡来说,是很痛苦的,frida的hook老是不成功,写的代码总是运行不起来,别说有多痛苦了,最后找啊找,终于找到了一款xposed的插件Xserver(此处膜拜作者一万年)可以图形化及自动化的协助我们hook想要hook的方法,从而可以协助我们遇到数据加密的场景下对内容进行解密,从而帮助我们继续测试下去,(其实此 工具 能实现的绝对不止数据加解密,只是平常遇到较多的是这种而已)
(备注:我不是工具作者,我只是工具的搬运工,本文只是一篇工具使用科普而已。。。大佬勿喷)
测试环境
WIN10
逍遥模拟器
Xposed
使用步骤
由于Xserver 是一款基于Xposed的HOOK框架,所有Xposed的安装是必须的,针对逍遥模拟器,可直接在其应用商店安装即可,
Xserver的安装地址 https://github.com/monkeylord/XServer
安装完成后,进入Xserver,会提示模块未激活,
此时可以进入xposed里面看下是否进行了勾选
然后重启模拟器在进入就不会再有提示了,如果还不行,请重装xposed
一切就绪后先通过ADB连接模拟器
紧接着,需要将Xervser的web端口转发到本地,默认是8000端口
需要注意的是,如果转发了8000端口本地还访问不到,那可能因为某些原因它初始化的时候没有在8000上,所以这个时候需要通过找PID的值进行转发。
这样子就已经转发成功了,这时候进入Xserver选中待测试的APP
然后回到桌面,打开被选中的待测试APP后,在本地访问127.0.0.1:8000,即可成功hook的web界面了
接下来主要介绍两个功能,一个是trace,访问地址是 http://localhost:8000/tracer
一个是hook,访问地址是 http://localhost:8000/invoke
模拟器设置好burp代理,打开待测试的APP,抓包发现返回是加密的
此处的思路是返回包被加密,那么程序里一定有一个函数或方法会对其进行解密,且一般的解密的函数命名都有decry之类的字符(只是一般情况下),因此只需对对应的解密函数进行hook就好了,所以我们要做的就是首先加载APP的所有的方法
点击此按钮,加载APP所有的方法
可以看到成功加载了9W+方法,然后盲猜对应的解密方法中有decry之类的字符,进行匹配
可以看到总共有33个方法,那我们就直接**多所有的方法进行hook,这时回到APP,随意发起网络请求
从burp的返回中我们可以看到返回的内容是加密的
不过没关系,我们再去到hook的web界面中可以看到数据包已经被解密出来了,对应的加解密方法、解密密钥也在其中
图中的字符为unicode编码,此时只需要再转码一次即可
说完tracer,就该说说invoke了,我对他的理解就是,可以直接脱离测试APP本身,直接通过Xserver进行调用前面hook的方法进行使用,如回到刚刚tracer那里,我们可以看到已经输出了APP中对应的解密方法,因此点击可直接进入此方法的view
此时我们只需要将对应的参数填进栏目里即可,此时的参数就是从trace中输出的相关参数,注意不要把#号也copy进去
配置好参数后,点击invoke,即可看到burp中拦截到的请求
此时将数据包放过去即可
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 利用Python编写具有加密和解密功能的Burp插件 (上)
- APICloud解密本地资源到逆向APP算法到通用资源解密
- NodeJS加密解密,node-rsa加密解密用法
- CMSEasy企业建站源代码解密工具,适用于纯本地解密机制!
- 如何解密keystore文件
- 解密 Runloop
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
Swift语言实战入门
伍星、罗飞、刘志华、王浩力、刘蕾 / 人民邮电出版社 / 2014-10-23 / 79
《Swift语言实战入门》以Swift语言的基础知识和实战技巧为主要内容,佐以大量的实例和图片进行讲解。全书内容分为三大部分,共11章节。第一大部分讲述Swift语言的基础知识和语法,第二大部分讲解开发框架和库的相关内容,第三大部分集中讲解以2048游戏为例的实战演练,从入门到实战层层递进。本书注重实战,秉承着学以致用的原则,让读者真正看后能够实际操作。120个代码清单全部共享,配套教学视频在线收......一起来看看 《Swift语言实战入门》 这本书的介绍吧!