配套实验资源
感谢您关注我们的《移动安全》教材。如果您想要相关资源以及答案,请将您的姓名、教育邮箱、学校及学院信息发送至 xxxxx@xxx.com。
请您放心,我们承诺将严格保护您的信息安全。感谢您的信任与支持!
一、实验目标
1. 熟悉和理解安卓代码中的控制流混淆和命名混淆技术;
2. 熟悉常见的安卓代码混淆场景,掌握对混淆代码的解混淆方法;
3. 能够通过逆向工程完成简单的恶意软件行为分析。
二、前置准备
1. 理论知识学习
进行本Lab前请先完成教材第5章、第6章和第8章的学习,包括5.1.1节 Jadx的安装使用、6.3.1节代码混淆、8.2节恶意软件检测。
2. 实验环境
• Jadx逆向工具
• Android Studio开发环境
• 有Root权限的安卓设备或安卓模拟器
三、任务描述
任务1 控制流解混淆
taskA.apk是一个混合了无用代码且控制流扁平的安卓应用。该任务需要逆向该APK文件,分析和猜测代码逻辑,得到一个可以使该文件显示“You are correct!!”的输入(flag)。
任务2 命名解混淆
taskB文件夹中提供了3个恶意安卓应用,在这些应用中有一些字符串是加密的。该任务需要逆向这三个恶意安卓应用,分析这些字符串进行了哪些转换,并尝试通过编程恢复字符串的原始值。
请注意:给定的task_question.txt文件中,每一行通过三个字段表示一个String变量在应用中的位置,每一行从左至右分别为:加密字符串所在应用的名称,包含该字符串的类名,需要恢复的加密字符串。
任务3 恶意软件行为分析
目标恶意软件Spam Blocker(建议在运行时使用AS自带的模拟器,并关闭网络连接)的恶意功能是监控和劫持短信的收发,请分析其隐藏的恶意行为。
提示如下:
• 分析当设备重启后,软件执行了什么操作
• 分析恶意软件保持运行的做法,对什么服务上锁,启动了什么组件
• 分析恶意软件建立的与Command相关的网络连接
• 分析恶意软件监听的短信发送的手机号列表,不包括设备手机号
• 分析恶意软件将截获的短信发送到何处
请注意:该实验任务2和任务3的APK文件请不要尝试在自己的移动设备上安装。
四、结果提交形式
1. lab6_code.zip:本次实验中的实验代码,即实现任务1、任务2的代码
2. lab6_result.txt:本次实验的实验结果,包括任务1的输入和任务2恢复的原始字符串值
3. lab6.docx:本次实验的实验报告,包括实验目标、实验过程、实验结果和实验心得等
五、评分标准
1. 完成任务1(25%):得到正确的flag值
2. 完成任务2(15%):每个正确恢复的加密字符串占5%
3. 完成任务3(30%):五个恶意行为,每个正确分析的恶意行为占6%
4. 实验报告(30%):
• 内容完整性和原创性(20%)
• 报告包含实验目的、详细步骤、结果、总结思考等关键部分
• 代码设计遵循代码规范,有必要的解释说明
• 报告撰写和表达(10%)
• 报告格式规范,语言表达清晰
• 能够适当使用图表等辅助说明报告内容
六、附件内容说明
1. taskA:包含任务1所需的安卓应用APK文件
2. taskB:包含任务2所需的安卓应用APK文件和加密字符串定位文件task_question.txt
3. SpamBlocker.apk:包含任务3待分析的恶意软件
一、实验目标
1. 熟悉和理解安卓代码中的控制流混淆和命名混淆技术;
2. 熟悉常见的安卓代码混淆场景,掌握对混淆代码的解混淆方法;
3. 能够通过逆向工程完成简单的恶意软件行为分析。
二、前置准备
1. 理论知识学习
进行本Lab前请先完成教材第5章、第6章和第8章的学习,包括5.1.1节 Jadx的安装使用、6.3.1节代码混淆、8.2节恶意软件检测。
2. 实验环境
• Jadx逆向工具
• Android Studio开发环境
• 有Root权限的安卓设备或安卓模拟器
三、任务描述
任务1 控制流解混淆
taskA.apk是一个混合了无用代码且控制流扁平的安卓应用。该任务需要逆向该APK文件,分析和猜测代码逻辑,得到一个可以使该文件显示“You are correct!!”的输入(flag)。
任务2 命名解混淆
taskB文件夹中提供了3个恶意安卓应用,在这些应用中有一些字符串是加密的。该任务需要逆向这三个恶意安卓应用,分析这些字符串进行了哪些转换,并尝试通过编程恢复字符串的原始值。
请注意:给定的task_question.txt文件中,每一行通过三个字段表示一个String变量在应用中的位置,每一行从左至右分别为:加密字符串所在应用的名称,包含该字符串的类名,需要恢复的加密字符串。
任务3 恶意软件行为分析
目标恶意软件Spam Blocker(建议在运行时使用AS自带的模拟器,并关闭网络连接)的恶意功能是监控和劫持短信的收发,请分析其隐藏的恶意行为。
提示如下:
• 分析当设备重启后,软件执行了什么操作
• 分析恶意软件保持运行的做法,对什么服务上锁,启动了什么组件
• 分析恶意软件建立的与Command相关的网络连接
• 分析恶意软件监听的短信发送的手机号列表,不包括设备手机号
• 分析恶意软件将截获的短信发送到何处
请注意:该实验任务2和任务3的APK文件请不要尝试在自己的移动设备上安装。
四、结果提交形式
1. lab6_code.zip:本次实验中的实验代码,即实现任务1、任务2的代码
2. lab6_result.txt:本次实验的实验结果,包括任务1的输入和任务2恢复的原始字符串值
3. lab6.docx:本次实验的实验报告,包括实验目标、实验过程、实验结果和实验心得等
五、评分标准
1. 完成任务1(25%):得到正确的flag值
2. 完成任务2(15%):每个正确恢复的加密字符串占5%
3. 完成任务3(30%):五个恶意行为,每个正确分析的恶意行为占6%
4. 实验报告(30%):
• 内容完整性和原创性(20%)
• 报告包含实验目的、详细步骤、结果、总结思考等关键部分
• 代码设计遵循代码规范,有必要的解释说明
• 报告撰写和表达(10%)
• 报告格式规范,语言表达清晰
• 能够适当使用图表等辅助说明报告内容
六、附件内容说明
1. taskA:包含任务1所需的安卓应用APK文件
2. taskB:包含任务2所需的安卓应用APK文件和加密字符串定位文件task_question.txt
3. SpamBlocker.apk:包含任务3待分析的恶意软件