文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

搜狗微信APP分析(一)java层

2023-08-18 15:14

关注

在该app可以搜索关键词,选择微信后面的赛选进行排序:

在这里插入图片描述
发现如下加密参数:
在这里插入图片描述
在这里插入图片描述
未发现加固加壳方式:
在这里插入图片描述
我们直接搜索定位: package com.sogou.utils;
在这里插入图片描述

在这里插入图片描述
我们先hook下这个a方法看下传入的参数及结果:
在这里插入图片描述
在这里插入图片描述
先看这个用到了前三个参数:
那我们hook下这个 ScEncryptWall.encrypt(str5, str6, str7);

# -*- coding: utf-8 -*-# @Author  : Codeoooimport sysimport fridaencrypt = """Java.perform(function(){    var lk = Java.use("com.sogou.scoretools.ScEncryptWall");    lk.encrypt.implementation = function(a,b,c){        console.log('参数str1 ' + a)          console.log('参数str2 ' + b)          console.log('参数str3 ' + c)          console.log('==== ' + this.encrypt(a,b,c))          return this.encrypt(a,b,c)    }});"""process = frida.get_remote_device().attach('com.sogou.activity.src')script = process.create_script(encrypt)script.load()sys.stdin.read()

在这里插入图片描述
这个方法就是加密的参数了。
可以看到传入参数:

参数str1: http://app.weixin.sogou.com/api/searchapp参数str2 :type=2&ie=utf8&page=1&query=55&select_count=1&tsn=1&usip=参数str3 :空

结果就是那几个字段,k, v ,p, ,r , g

在这里插入图片描述

查看是个so的方法,我们继续放下看下请求响应。

在这里插入图片描述
hook下decrypt方法:

在这里插入图片描述

# -*- coding: utf-8 -*-# @Author  : Codeoooimport sysimport fridaencrypt = """Java.perform(function(){    var lk = Java.use("com.sogou.scoretools.ScEncryptWall");    lk.encrypt.implementation = function(a,b,c){        console.log('参数str1 ' + a)          console.log('参数str2 ' + b)          console.log('参数str3 ' + c)          console.log('==== ' + this.encrypt(a,b,c))          return this.encrypt(a,b,c)    }});"""decrypt = """Java.perform(function(){    var lk = Java.use("com.sogou.scoretools.ScEncryptWall");    lk.decrypt.implementation = function(a){        console.log('参数str1 ' + a)          console.log('==== ' + JSON.stringify(this.decrypt(a)))           return this.decrypt(a)    }});"""process = frida.get_remote_device().attach('com.sogou.activity.src')script = process.create_script(decrypt)script.load()sys.stdin.read()

在这里插入图片描述
传进来的参数为刚刚加密的数据,解密出来是byte数组,需要将byte转化为字符串就是源码。

OK ,完美运行,可以采集rpc-主动调用+flask进行调用

so:   System.loadLibrary("SCoreTools");

后续 我们讲下 so层的分析【搜狗微信APP逆向(二)so层】

来源地址:https://blog.csdn.net/qq_41369057/article/details/131284473

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯