WhatsAppWrom分析过程
关于 WhatsAppWrom 的相关报告可以参考:
https://blogs.360.cn/post/Alert_new_Android_malware_spreads_through_WhatsApp.html
样本md5: 121AB9F7C0F439274478099D9E550473。
使用 JEB 打开该样本,可以发现混淆比较严重,代码实现在 com.jan.flixonlines.NotificationService.onNotificationPosted 方法中实现,如下图所示:
JebAndroidSigPlugin使用记录
最近使用了一下 JebAndroidSigPlugin 插件,感觉效果还可以,记录一下使用过程。
安装
直接去 https://github.com/pnfsoftware/jeb2-androsig 下载编译好的 jar 包, 丢到 jeb/coreplugins 目录下,正常情况下 JEB 应该自带该插件
使用
使用过程主要参考下面两篇文章:
学习资源
exploit_me - Very vulnerable ARM/AARCH64 application (CTF style exploitation tutorial with 14 vulnerability techniques).
dynarmic-android - A dynamic recompiler for ARM.
Poc-Exp - 记录在漏洞研究过程中编写的 PoC/Exp.
PL-Compiler-Resource - 程序语言与编译技术相关资料(持续更新中).
vulhub - Pre-Built Vulnerable Environments Based on Docker-Compose.
IDA 插件环境配置
环境:vs2019,ida7.3
使用 VS 配置 IDA C++ 插件环境
- 使用 VS2019 新建一个 C++ 空工程,添加 C++ 文件
myplugin.cpp, 添加如下代码:1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44#include <ida.hpp>
#include <idp.hpp>
#include <loader.hpp>
#include <kernwin.hpp>
//以上是导入的SDK头文件
int idaapi init(void)
{
//IDA在启动的时候会调用每个插件的init函数。
//返回值有三种选项:
//PLUGIN_SKIP适合那些不支持的插件,IDA将不会加载该插件
//PLUGIN_OK适合那些执行一次性功能的插件
//PLUGIN_KEEP适合那些需要一直保持功能的插件
return PLUGIN_OK;
}
void idaapi term(void)
{
//当结束插件时,一般您可以在此添加一点任务清理的代码。
return;
}
bool idaapi run(size_t)
{
//当按下热键时候,执行功能的入口函数
warning("Hello, world!");
return true;
}
static char comment[] = "It's a plugin to show Hello world!";
plugin_t PLUGIN =
{
IDP_INTERFACE_VERSION,
0, // 插件的一些属性,一般为0即可
init, // initialize
term, // terminate. this pointer may be NULL.
run, // invoke plugin
comment, // 插件的说明,会显示在IDA下方的状态栏中
"", // multiline help about the plugin
"Hello, world", // 插件在列表中显示的名称
"Alt-F1" // 插件想要注册的功能快捷键
}; - 进入项目属性选项,进行如下配置
配置属性 -> 常规 -> 配置类型: 选中 动态库(.dll)。
IDA使用技巧
编译GDB
Binder从入门到放弃(细节篇)
转载:https://blog.csdn.net/feelabclihu/article/details/105534146
前言
Binder 从入门到放弃包括了上下篇,上篇是框架部分,下篇通过几个典型的 binder 通信过程来呈现其实现细节,即本文。
一、启动 service manager
1. 流程
Binder从入门到放弃(框架篇)
转载:https://blog.csdn.net/feelabclihu/article/details/105534145
前言
Binder 从入门到放弃包括了上下篇,上篇是框架部分,即本文。下篇通过几个典型的 binder 通信过程来呈现其实现细节,稍后发布,敬请期待。
一、什么是Binder?
Binder 是安卓平台上的一种 IPC framework ,其整体的架构如下: