APP抓包比较繁琐,尤其是对方优先走socket,发TCP包,而不是走应用层发http/https协议。这种抓包更烦躁,绝大部分利用中间人攻击原理这种代理抓包软件都抓不到tcp请求,代理抓包软件大都只能抓应用层协议。

今天写篇搞定发TCP包的APP和实现Hook抓取的文章。

抓TCP包常用的工具是wireshark和tcpdump。tcpdump可以运行在手机上抓包,但没有界面,wireshark有界面,过滤数据包较方便,就用这两个工具来打配合抓TCP包吧。

tcpdump是命令行工具,运行起来是这样子。

把抓完的数据包保存为pcap格式,并拉到本地电脑上来,用wirseshark打开该文件,过滤出相应APP的数据包。

用TCP流打开Continuation Data,里面绝大部分都是乱码,因为tcp里的数据是对方的私有协议或有加密,没办法解析。

通过观察还是有一些可见字符,诸如:”b” “s”等等,这给了一丝线索。使用反编译工具打开apk,用万能的搜索大法,在代码里各种搜索这些可见字符,找到了如下代码。

已经找到看似有用的代码啦,等等,我们上面一顿猛如虎的操作的用意是什么呢?

我们是想通过抓取TCP包,观察包里的数据,给我们线索。用这些线索来找到APP发TCP的代码位置,通过Hook手段不让该APP发TCP,迫使其发http(s)协议,然后可以使用代理抓包软件正常抓包。定位到如上代码了,就写段Hook代码,Hook上述方法,把调用堆栈打印出来,碰碰运气,看能否追踪到发送数据包的代码位置。

通过下面打印出来的调用堆栈,

再一顿猛点,运气不错,定位到一段可疑代码(如下),大大的socketConnected字样非常显眼,猜也能猜到它的作用。

isSocketConnected为true就会进入if语句,为false就不会进入if语句。果断Hook isSocketConnected方法让它返回false,不进入if语句里。

这时再来打开Fiddler抓包软件抓包试试?bingo,关闭tcp成功,抓到http协议啦。

抓到包是关键一步,接下来就该模拟请求参数去抓数据了。But,请求的参数里如下参数随便构造会请求失败,那就只有继续Hook咯,在代码里找到参数构造的地方。

还是那个套路,先用搜索大法一顿搜,运气不错,搜到参数构造的地方。

一顿惊喜后,发现该方法是写在so文件里,难不成要去分析so文件?NO,才不想去分析so文件,直接用Hook大法调用so里的方法就好啦。嗯,管他三七二十一,先撸几行Hook代码搞一搞。

Hook开发,难点是找对Hook点,Hook点找对后,代码非常简短和优美。嗯,几行代码搞定,直接Hook调用so文件里的方法。程序运行一下试试?

还不错的样子。

嗯,Hook开发相对来说要麻烦一点,需要逆向思维,别人的代码你正着看,大概率是懵圈的,因为代码都被混淆成abc啦,要靠线索和经验去找代码片段,从结果反向推导对方可能的程序逻辑,再辅与Hook的手段打印程序运行时的数据和调用堆栈等手段来排除和寻找代码确切的位置。

本文由 猿人学Python 公众号 原创。

太无聊了,欢迎找我闲扯,我感兴趣爬虫技术和爬虫网挣,嘿嘿

安卓抓包 python hook_搞定某APP的TCP抓包,并直接调用so文件进行Hook抓取相关推荐

  1. python内置作用域_python内置金融数据Python 五点搞定作用域

    1.块级作用域 想想此时运行下面的程序会有输出吗?执行会成功吗?#块级作用域 if 1 == 1: name = "lzl" print(name) for i in range( ...

  2. python pdf转word 表格_太赞了!Pdf转Word,我用Python 轻松搞定表格和水印!

    原标题:太赞了!Pdf转Word,我用Python 轻松搞定表格和水印! 继上一次为大家推出了将pdf转word之后(卧槽!Pdf转Word用Python轻松搞定!),引起了大家的热烈讨论,我也总结了 ...

  3. 再见PDF提取收费!我用100行Python代码搞定!

    点上方"菜鸟学Python",选择"星标" 第471篇原创干货,第一时间送达 大家在日常的工作和学习过程中,都少不了与PDF文件打交道,很多的小伙伴都面临着将P ...

  4. About 一行Python代码搞定局域网内文件共享与传输

    一行Python代码搞定局域网内文件共享与传输 前提:环境中有Python安装,并配置环境变量. 1.共享目录:Windows下,在要共享文件目录下,shift+鼠标右键,在此处打开命令行窗口(CMD ...

  5. 女朋友让我深夜十二点催她睡觉,我用Python轻松搞定!

    事情是这样的:昨天晚上,女朋友让我十二点催她睡觉. 不过,可是我实在太困了,熬不下去-- 是吧?女朋友哪有睡觉重要? 但,女朋友的命令,我是不敢违抗的-- 但是睡觉也不能缺! 这时候我们该怎么办呢?是 ...

  6. 神器!用Python轻松搞定验证码!

    转自:大邓和他的Python 大家好,今天给大家介绍一款通用验证码识别OCR库的神器,项目地址:https://github.com/sml2h3/ddddocr.市场上常见的点选类验证码图片如下图所 ...

  7. python 训练识别验证码_用Python机器学习搞定验证码

    原标题:用Python机器学习搞定验证码 写爬虫有一个绕不过去的问题就是验证码,现在验证码分类大概有4种: 图像类 滑动类 点击类 语音类 今天先来看看图像类,这类验证码大多是数字.字母的组合,国内也 ...

  8. [python]一行搞定字符串排序

    [python]一行搞定字符串排序 本文最初发表于恋花蝶的博客(http://blog.csdn.net/lanphaday),欢迎转载,但请保留本声明. 一般情况下,python中对一个字符串排序相 ...

  9. 60行Python代码搞定,王者荣耀雷达图!

    点击上方"菜鸟学Python",选择"星标"公众号 超级无敌干货第一时间推给你!!! 现有以下表格,我需要画成第二张图中的雷达图(类似fifa足球.王者荣耀里面 ...

最新文章

  1. MySQL的正则表达式
  2. [转]Sandcastle初探——官方版的NDoc
  3. 解决嵌套list类型的JSONObject/JSONArray转换成原来list问题。
  4. linux中的SGI(核间中断)IPI_RESCHEDULE详解
  5. 恩施茶旅谋定乡村-农业大健康·万祥军:侗乡第一寨促生态
  6. mysql主从复制缺陷_mysql主从复制及遇到的坑
  7. 【BZOJ1797】[AHOI2009]最小割(网络流)
  8. 清除iphone文件app连接服务器记录,“文件”中连接外置设备或服务器 - iPhone附带的APP - iPhone使用手册...
  9. 灵活的Zend Framework之使用自定义的Frontcontroller
  10. 快速列出所有字段_【小麦课堂】快速查询明细数据的操作
  11. U盘病毒从认识到防范
  12. PPT:华为数字化转型实践分享(附下载)
  13. spring-boot集成elastic-job 并实现http类型作业
  14. 鼎立MOS测试设备调试
  15. 数据库索引到底是什么,是怎样工作的?
  16. 【modlearts】华为人工智能平台_modelarts平台系列教程3_预置算法_图像识别1
  17. 数据结构C语言代码实战
  18. 【期末考试】计算机组成原理突击复习
  19. Java *3.1(代数:解一元二次方程)可以使用下面的公式求一元二次方程ax^2 + bx + c = 0的两个根:
  20. 【OpenCV DNN】Flask 视频监控目标检测教程 04

热门文章

  1. Google 3D地图进驻iOS 苹果该如何应对?
  2. Android欢迎界面动画与跳转
  3. mysql 全文索引fulltext初始
  4. 输入一个年份,输出是否为闰年。#闰年条件:能被4整除但不能被100整除,或者能被400整除的年份是闰年。
  5. 微信有儿童模式吗?三个步骤轻松开启微信青少年模式!
  6. dpdk 程序适配麦洛斯 mlx5 网卡
  7. Python 给下载文件显示进度条和下载时间(一看就会!)
  8. 微信扫一扫点击下载App弹出引导页引导在外部浏览器中打开
  9. python代码画房子---
  10. 绝对定位与inset