2024年网络安全最新Android逆向分析实例(四)-米读极速版日志植入(1),2024年最新分享网络安全资深架构师的成长之路

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

😝朋友们如果有需要的话,可以联系领取~

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

2️⃣视频配套工具&国内外网安书籍、文档
① 工具

② 视频

image1

③ 书籍

image2

资源较为敏感,未展示全面,需要的最下面获取

在这里插入图片描述在这里插入图片描述

② 简历模板

在这里插入图片描述

因篇幅有限,资料较为敏感仅展示部分资料,添加上方即可获取👆

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

双击查看服务器的响应报文;

将json数据格式化:

**{
 "code": 0,
 "message": "成功",
 "showErr": 0,
 "currentTime": 1625142319,
 "data": {
 "data": [
 {
 "sid": 499,
 "pkgId": 505,
 "url": "https://apk.1sapp.com/miduspeed\_sep\_hotfix\_1.55.0.0607.1200\_002\_531.zip",
 "length": 2730,
 "name": "ReadvoiceFix66",
 "version": "66",
 "md5": "ec8ab28b08261fe73f7c08d0f8c7cae0"
 }
 ]
 }
}**

在浏览器中输入url:https://apk.1sapp.com/miduspeed_sep_hotfix_1.55.0.0607.1200_002_531.zip

会下载一个名为 'miduspeed_sep_hotfix_1.55.0.0607.1200_002_531.zip’ 的压缩包,这个压缩包里就包含着app打补丁或热更新所需要的classes.dex文件。

压缩包文件内容:

解压后将classes.dex文件用jadx打开;(下面会查看MethodPatchEntry类是否被加载到内存中

验证该dex文件是否被加载,可以通过dex文件的类是否被加载到内存中来判断!(判断某个类是否被加载,为下文我们在该类的构造函数中插入日志输出语句做铺垫)。

4. Objection查看内存中加载的类

安装objection;

**$ pip install objection**

附:objection用法学习见:Frida进阶:内存漫游、hook anywhere、抓包

这里可以用Objection 来查看内存中是否加载了某个类(用frida也可以,但是相对要麻烦些,因为frida要编写脚本,并且加载的类很多,要想全部输出显示必须输出到文件中才好查找目标类)

首先在模拟器中开启frida,frida配置可以转到这篇文章:Frida框架配置

新建命令行窗口:

$ frida-ps -U  #查看所有进程

objection注入进程:

**$ objection -g com.lechuan.mdwz explore**

查看MethodPatchEntry类是否被加载:

**$ android hooking search classes MethodPatchEntry**

可以看到在内存中搜索到了这个类;

5. 修改classes.dex文件

首先用apktool将classes.dex文件反编译成smali文件,接下来修改MethodPatchEntry.smali文件,加入日志输出语句(尽量写在构造函数中,因为构造函数一定会被调用,而其它函数不一定

修改完后重打包成classes.dex文件,将dex文件和MANIFEST.MF文件压缩,命名为’miduspeed_sep_hotfix_1.55.0.0607.1200_002_531-evil.zip’。

6. 将修改后的.zip文件提供给app执行

编写midu-server.py

**from flask import Flask,jsonify
import time
app = Flask(\_\_name\_\_)

@app.route('/app/getHotFixV2/20')
 #当执行GET https//127.0.0.1/app/getHotFixV2/20 请求时会执行下面的request\_server()函数(但是客户端发送的请求是 GET https://api-platform.1sapp.com/app/getHotFixV2/20,怎样在客户端发送这个请求时也执行下面的函数呢?这就要用到下文的hosts),并返回respon里的json数据给app。这里我们首先把刚刚修改的.zip文件上传到自己的服务器上,并将url地址改成我们自己服务器上的.zip文件地址,然后修改文件的length(字节大小)和md5值,最后加上本地的证书
def request\_server():
 respon = {
 "code": 0,
 "message": "成功",
 "showErr": 0,
 "currentTime": 1625035561,
 "data": {
 "data": [
 {**
            **"sid": 499,
 "pkgId": 505,
 "url": "http://download.lxh2cwl.xyz/miduspeed\_sep\_hotfix\_1.55.0.0607.1200\_002\_531-evil.zip",
 "length": 2797,
 "name": "ReadvoiceFix66",
 "version": "66",
 "md5": "11b5662257d99005054c05f5f242e826"
 }
 ]
 }
 }
 return jsonify(respon)

app.run('0.0.0.0',
 debug=True,
 port=443,
 ssl\_context=('localhost/cert.pem', 'localhost/key.pem'))** **#本地证书**

生成本地证书可以看这篇文章:cert.pem和key.pem文件生成,如果不想自己生成,也可以从这里下载:localhost.zip

flask学习可以跳转到这:https://www.w3cschool.cn/flask/flask_routing.html

生成文件的md5值:MD5.py

**import hashlib
import os

def get\_md5(file\_path1):
 f = open(file\_path,'rb') 
 md5\_obj = hashlib.md5()
 while True:
 d = f.read(8096)
 if not d:
 break
 md5\_obj.update(d)
 hash\_code = md5\_obj.hexdigest()
 f.close()
 md5 = str(hash\_code).lower()
 return md5
 
 
if \_\_name\_\_ == "\_\_main\_\_":
 file\_path = r'C:\Users\lxh\Desktop\米读极速版\miduspeed\_sep\_hotfix\_1.55.0.0607.1200\_002\_531-evil.zip'
 #修改文件路径
 md5 = get\_md5(file\_path)
 print(md5)**

进入到C:\Windows\System32\drivers\etc,修改本地的hosts文件:

这里我们需要将本地的ip与米读极速版的服务器域名 api-platform.1sapp.com 绑定,以便app客户端发出 GET https://api-platform.1sapp.com/app/getHotFixV2/20 请求时相当于 GET https://127.0.0.1/app/getHotFixV2/20,然后本地会返回一个修改后的json数据给客户端,客户端就会根据json中的url地址去我们自己的服务器上下载已经修改过的.zip压缩包。

拓展:

hosts文件的作用:就是将一些常用的网址域名与其对应的IP地址建立一个关联“数据库”,当用户在浏览器中输入一个需要登录的网址时,系统会首先自动从Hosts文件中寻找对应的IP地址,一旦找到,系统会立即打开对应网页,如果没有找到,则系统会再将网址提交DNS域名解析服务器进行IP地址的解析。

域名与IP的关系

  1. 你要浏览网页需要在整个互联网上找到对方的电脑,那你就需要输入对方的IP才可以访问,比如大家可以在浏览器里输入这个IP地址【14.215.177.39】你们可以看看打开的是不是百度的首页。你靠着IP地址可以访问百度,你输入https://www.baidu.com也可以上百度,这是什么原理呢?
  2. 在早期的时候,上网就是这么麻烦,你想要访问对方的网站,你必须要知道对方的IP,然后在你的浏览器里输入IP地址,然后就可以访问了,但是IP地址是4组数字,记IP地址的难度不亚于背一个陌生人的手机号,于是乎,我们用一串英文字母来代替IP地址,这就是网站域名,比如百度的网站域名就是https://www.baidu.com,而百度的IP地址就是14.215.177.39,网站域名很好记,而且域名也可以自定义。
  3. 但是这里就有一个问题了,你输入的是域名,你的电脑该怎么将他变成IP地址呢?就比如你输入的是https://www.baidu.com,为什么你的电脑知道对方的IP是14.215.177.39呢?这个东西就是hosts文件,hosts文件就在你的C:\windows\system32\drivers\etc文件夹下,他相当于电脑的电话本,他记录着每一个域名对应的IP地址,当你输入域名而不是IP的时候,他就会在这个电话本里找到对应的域名,然后把他转化成IP地址。

DNS解析服务器

还有兄弟不知道网络安全面试可以提前刷题吗?费时一周整理的160+网络安全面试题,金九银十,做网络安全面试里的显眼包!

王岚嵚工程师面试题(附答案),只能帮兄弟们到这儿了!如果你能答对70%,找一个安全工作,问题不大。

对于有1-3年工作经验,想要跳槽的朋友来说,也是很好的温习资料!

【完整版领取方式在文末!!】

93道网络安全面试题

内容实在太多,不一一截图了

黑客学习资源推荐

最后给大家分享一份全套的网络安全学习资料,给那些想学习 网络安全的小伙伴们一点帮助!

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

1️⃣零基础入门
① 学习路线

对于从来没有接触过网络安全的同学,我们帮你准备了详细的学习成长路线图。可以说是最科学最系统的学习路线,大家跟着这个大的方向学习准没问题。

image

② 路线对应学习视频

同时每个成长路线对应的板块都有配套的视频提供:

image-20231025112050764

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化资料的朋友,可以点击这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值