吾爱破解 - LCG - LSG |安卓破解|病毒分析|破解软件|www.52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

领取今日签到奖励
查看: 1952|回复: 33

[Android 原创] 记一次 Hook 与 抓包

  [复制链接]
发表于 2018-12-7 01:24 | 显示全部楼层

记一次 Hook 与 抓包

网友说有个 APP 直接去抓包抓不着,于是我又可以水一篇。

用了 sslkiller 也没有报网络错误;  

  • 可见不是 SSL Pinning,猜测只是没走代{过}{滤}理。

日志中暴露了关键字;   

  • 可以用来快速定位。

下载,反编译,kkp

利用朋友提供的、日志中暴露的关键字定位到网络请求的位置,发现 cz.msebera.android.httpclient   

谷歌发现好像是对 android-async-http 的一种封装(?)  

不管它是什么吧,走进去发现会 new 了一个 com.loopj.android.http.AsyncHttpClient

这个就很眼熟了,直接搜 proxy 发现:

    public void setProxy(String arg4, int arg5) {
        this.httpClient.getParams().setParameter("http.route.default-proxy", new HttpHost(arg4, arg5));
    }

这还有什么好说的,hook 之,然后在构造之后反射调用 setProxy,让它走我需要的代{过}{滤}理。

这里又有一个问题,我们知道这些乱七八糟多种多样的 httpClient 通常默认都要校验证书,那就继续尝试搜 cert,发现:

    private static SchemeRegistry getDefaultSchemeRegistry(boolean arg5, int arg6, int arg7) {
        if(arg5) {
            AsyncHttpClient.log.d("AsyncHttpClient", "Beware! Using the fix is insecure, as it doesn\'t verify SSL certificates.");
        }

        if(arg6 < 1) {
            arg6 = 80;
            AsyncHttpClient.log.d("AsyncHttpClient", "Invalid HTTP port number specified, defaulting to 80");
        }

        if(arg7 < 1) {
            arg7 = 443;
            AsyncHttpClient.log.d("AsyncHttpClient", "Invalid HTTPS port number specified, defaulting to 443");
        }

        SSLSocketFactory v0 = arg5 ? MySSLSocketFactory.getFixedSocketFactory() : SSLSocketFactory.getSocketFactory();
        SchemeRegistry v1 = new SchemeRegistry();
        v1.register(new Scheme("http", PlainSocketFactory.getSocketFactory(), arg6));
        v1.register(new Scheme("https", ((SocketFactory)v0), arg7));
        return v1;
    }

Beware! Using the fix is insecure, as it doesn\'t verify SSL certificates.   

???太直白啦,那就让这个参数一直传入 true 好了,(其实看代码可以知道 false 的时候会调用 SSLSocketFactory.getSocketFactory,用 justtrustme 之类的工具也可以过掉)。

打开 AS 撸代码吧:


            Class<?> cls = XposedHelpers.findClass("com.loopj.android.http.AsyncHttpClient", lpparam.classLoader);
            Log.e(TAG, cls.toString());

            XposedBridge.hookAllConstructors(cls,
                    new XC_MethodHook() {
                        protected void afterHookedMethod(XC_MethodHook.MethodHookParam mhparam) throws Throwable {
                            super.afterHookedMethod(mhparam);
                            de.robv.android.xposed.XposedHelpers.callMethod(mhparam.thisObject, "setProxy",
                                    "192.168.125.2",
                                    8888
                            );
                        }
                    }
            );

            //getDefaultSchemeRegistry
            Class[] cArgs = {boolean.class, int.class, int.class};
            Method m = cls.getDeclaredMethod("getDefaultSchemeRegistry", cArgs);
            m.setAccessible(true);
            Log.e(TAG, m.toString());

            XposedBridge.hookMethod(m, new XC_MethodHook() {
                protected void beforeHookedMethod(XC_MethodHook.MethodHookParam mhparam) throws Throwable {
                    super.beforeHookedMethod(mhparam);
                    mhparam.args[0] = true;
                }
            });

安装上测试,成功√  

这里的闻不是听,是闻到隔壁炖的鸡汤好香啊。

肚子好饿啊早知道不学Android逆向了.jpg   

下载.jpg

总结

很简单的过程,希望能帮到入门的朋友,下期再见

免费评分

参与人数 8吾爱币 +19 热心值 +7 收起 理由
qtfreet00 + 12 + 1 感谢发布原创作品,吾爱破解论坛因你更精彩!
生如上善若水 + 1 + 1 谢谢@Thanks!
时光/荏苒 + 1 + 1 我很赞同!
F时光机 + 1 热心回复!
oranges + 1 + 1 谢谢@Thanks!
c00kie + 1 + 1 热心回复!
mscsky + 1 + 1 我很赞同!
一个板栗 + 1 + 1 谢谢@Thanks!

查看全部评分

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 20:13 | 显示全部楼层
求大佬教我怎么抓取自己家的IPTV播放源, 网上找遍了好多方法都不适合  

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-8 00:26 | 显示全部楼层
唯有的知己 发表于 2018-12-7 20:13
求大佬教我怎么抓取自己家的IPTV播放源, 网上找遍了好多方法都不适合

是呀  这个很需要

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 07:53 | 显示全部楼层

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 08:06 | 显示全部楼层
学习一下。。

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 08:36 来自手机 | 显示全部楼层
能透露一下哪个软件吗?想跟着楼主做一下

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 08:37 | 显示全部楼层
学习了  虽然看不懂  

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 08:43 | 显示全部楼层
小白完全看不懂代码

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 08:53 | 显示全部楼层
感谢分享

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 09:19 | 显示全部楼层
按键精灵的授权包用这方法抓不到

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 09:35 | 显示全部楼层
谢谢@Thanks!可惜看不懂

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

发表于 2018-12-7 09:45 | 显示全部楼层
学习一下。大佬

发帖求助前要善用论坛搜索功能,那里可能会有你要找的答案;

如果你在论坛求助问题,并且已经从坛友或者管理的回复中解决了问题,请把帖子分类或者标题加上【已解决】

如何回报帮助你解决问题的坛友,一个好办法就是给对方加【热心】,加分不会扣除自己的积分,做一个热心并受欢迎的人!

您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则


免责声明:
吾爱破解所发布的一切破解补丁、注册机和注册信息及软件的解密分析文章仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢该程序,请支持正版软件,购买注册,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To:Service@52PoJie.Cn

快速回复 收藏帖子 返回列表 搜索

RSS订阅|手机版|小黑屋|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2018-12-10 23:24

Powered by Discuz!

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表