1.配置objection环境
2.了解objection常用Api
3.了解frida_java_trace工具分析控制流混淆
1.教程Demo(更新)
2.jadx-gui
3.VS Code
4.IDLE
objection是基于frida的命令行hook集合工具, 可以让你不写代码, 敲几句命令就可以对java函数的高颗粒度hook, 还支持RPC调用。可以实现诸如内存搜索、类和模块搜索、方法hook打印参数返回值调用栈等常用功能,是一个非常方便的,逆向必备、内存漫游神器。
项目地址
已不更新,要和frida的版本匹配
1.help命令注释
2.注入命令
启动前就hook
样本展示:
项目地址:
BlackObfuscator
百度云
阿里云
哔哩哔哩
教程开源地址
PS:解压密码都是52pj,阿里云由于不能分享压缩包,所以下载exe文件,双击自解压
实用FRIDA进阶:内存漫游、hook anywhere、抓包
python使用的版本建议大于
3.8
,不然可能会报错,或者你调低frida以及objection的版本
pip install objection
=
=
1.11
.
0
pip install frida
-
tools
=
=
9.2
.
4
frida
14.2
.
18
python使用的版本建议大于
3.8
,不然可能会报错,或者你调低frida以及objection的版本
pip install objection
=
=
1.11
.
0
pip install frida
-
tools
=
=
9.2
.
4
frida
14.2
.
18
objection
-
-
help
(
help
命令)
Checking
for
a newer version of objection...
Usage: objection [OPTIONS] COMMAND [ARGS]...
_ _ _ _
___| |_|_|___ ___| |_|_|___ ___
| . | . | |
-
_| _| _| | . | |
|___|___| |___|___|_| |_|___|_|_|
|___|(
object
)inject(ion)
Runtime Mobile Exploration
by: @leonjza
from
@sensepost
默认情况下,通信将通过USB进行,除非提供了`
-
-
network`选项。
选项:
-
N,
-
-
network 使用网络连接而不是USB连接。
-
h,
-
-
host TEXT [默认:
127.0
.
0.1
]
-
p,
-
-
port INTEGER [默认:
27042
]
-
ah,
-
-
api
-
host TEXT [默认:
127.0
.
0.1
]
-
ap,
-
-
api
-
port INTEGER [默认:
8888
]
-
g,
-
-
gadget TEXT 要连接的Frida Gadget
/
进程的名称。 [默认: Gadget]
-
S,
-
-
serial TEXT 要连接的设备序列号。
-
d,
-
-
debug 启用带有详细输出的调试模式。(在堆栈跟踪中包括代理源图)
-
-
help
显示此消息并退出。
命令:
api 以无头模式启动objection API服务器。
device
-
type
获取关于已连接设备的信息。
explore 启动objection探索REPL。
patchapk 使用frida
-
gadget.so补丁一个APK。
patchipa 使用FridaGadget dylib补丁一个IPA。
run 运行单个objection命令。
signapk 使用objection密钥对APK进行Zipalign和签名。
version 打印当前版本并退出。
objection
-
-
help
(
help
命令)
Checking
for
a newer version of objection...
Usage: objection [OPTIONS] COMMAND [ARGS]...
_ _ _ _
___| |_|_|___ ___| |_|_|___ ___
| . | . | |
-
_| _| _| | . | |
|___|___| |___|___|_| |_|___|_|_|
|___|(
object
)inject(ion)
Runtime Mobile Exploration
by: @leonjza
from
@sensepost
默认情况下,通信将通过USB进行,除非提供了`
-
-
network`选项。
选项:
-
N,
-
-
network 使用网络连接而不是USB连接。
-
h,
-
-
host TEXT [默认:
127.0
.
0.1
]
-
p,
-
-
port INTEGER [默认:
27042
]
-
ah,
-
-
api
-
host TEXT [默认:
127.0
.
0.1
]
-
ap,
-
-
api
-
port INTEGER [默认:
8888
]
-
g,
-
-
gadget TEXT 要连接的Frida Gadget
/
进程的名称。 [默认: Gadget]
-
S,
-
-
serial TEXT 要连接的设备序列号。
-
d,
-
-
debug 启用带有详细输出的调试模式。(在堆栈跟踪中包括代理源图)
-
-
help
显示此消息并退出。
命令:
api 以无头模式启动objection API服务器。
device
-
type
获取关于已连接设备的信息。
explore 启动objection探索REPL。
patchapk 使用frida
-
gadget.so补丁一个APK。
patchipa 使用FridaGadget dylib补丁一个IPA。
run 运行单个objection命令。
signapk 使用objection密钥对APK进行Zipalign和签名。
version 打印当前版本并退出。
objection
-
g 包名 explore
-
help
:不知道当前命令的效果是什么,在当前命令前加
help
比如:
help
env,回车之后会出现当前命令的解释信息
-
按空格:不知道输入什么就按空格,会有提示出来
-
jobs:可以进行多项hook
-
日志:objection的日志文件生成在 C:\Users\Administrator\.objection
objection
-
g 包名 explore
-
help
:不知道当前命令的效果是什么,在当前命令前加
help
比如:
help
env,回车之后会出现当前命令的解释信息
-
按空格:不知道输入什么就按空格,会有提示出来
-
jobs:可以进行多项hook
-
日志:objection的日志文件生成在 C:\Users\Administrator\.objection
objection
-
g 进程名 explore
-
-
startup
-
command
"android hooking watch class 路径.类名"
objection
-
g 进程名 explore
-
-
startup
-
command
"android hooking watch class 路径.类名"
memory
list
modules
Save the output by adding `
-
-
json modules.json` to this command
Name Base Size Path
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
app_process64
0x57867c9000
40960
(
40.0
KiB)
/
system
/
bin
/
app_process64
linker64
0x72e326a000
229376
(
224.0
KiB)
/
system
/
bin
/
linker64
libandroid_runtime.so
0x72e164e000
2113536
(
2.0
MiB)
/
system
/
lib64
/
libandroid_runtime.so
libbase.so
0x72dfa67000
81920
(
80.0
KiB)
/
system
/
lib64
/
libbase.so
libbinder.so
0x72dec1c000
643072
(
628.0
KiB)
/
system
/
lib64
/
libbinder.so
libcutils.so
0x72de269000
86016
(
84.0
KiB)
/
system
/
lib64
/
libcutils.so
libhidlbase.so
0x72df4cc000
692224
(
676.0
KiB)
/
system
/
lib64
/
libhidlbase.so
liblog.so
0x72e0be1000
98304
(
96.0
KiB)
/
system
/
lib64
/
liblog
memory
list
modules
Save the output by adding `
-
-
json modules.json` to this command
Name Base Size Path
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
app_process64
0x57867c9000
40960
(
40.0
KiB)
/
system
/
bin
/
app_process64
linker64
0x72e326a000
229376
(
224.0
KiB)
/
system
/
bin
/
linker64
libandroid_runtime.so
0x72e164e000
2113536
(
2.0
MiB)
/
system
/
lib64
/
libandroid_runtime.so
libbase.so
0x72dfa67000
81920
(
80.0
KiB)
/
system
/
lib64
/
libbase.so
libbinder.so
0x72dec1c000
643072
(
628.0
KiB)
/
system
/
lib64
/
libbinder.so
libcutils.so
0x72de269000
86016
(
84.0
KiB)
/
system
/
lib64
/
libcutils.so
libhidlbase.so
0x72df4cc000
692224
(
676.0
KiB)
/
system
/
lib64
/
libhidlbase.so
liblog.so
0x72e0be1000
98304
(
96.0
KiB)
/
system
/
lib64
/
liblog
memory
list
exports liblog.so
Save the output by adding `
-
-
json exports.json` to this command
Type
Name Address
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
function android_log_write_int32
0x72e0be77c8
function android_log_write_list_begin
0x72e0be76f0
function __android_log_bswrite
0x72e0be9bd8
function __android_log_security
0x72e0bf2144
function __android_log_bwrite
0x72e0be9a18
function android_log_reset
0x72e0be75ec
function android_log_write_string8
0x72e0be7a38
function android_logger_list_free
0x72e0be8c04
function __android_log_print
0x72e0be9728
function __android_logger_property_get_bool
0x72e0bf2248
function android_logger_get_id
0x72e0be8270
function android_logger_set_prune_list
0x72e0be8948
memory
list
exports liblog.so
Save the output by adding `
-
-
json exports.json` to this command
Type
Name Address
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
function android_log_write_int32
0x72e0be77c8
function android_log_write_list_begin
0x72e0be76f0
function __android_log_bswrite
0x72e0be9bd8
function __android_log_security
0x72e0bf2144
function __android_log_bwrite
0x72e0be9a18
function android_log_reset
0x72e0be75ec
function android_log_write_string8
0x72e0be7a38
function android_logger_list_free
0x72e0be8c04
function __android_log_print
0x72e0be9728
function __android_logger_property_get_bool
0x72e0bf2248
function android_logger_get_id
0x72e0be8270
function android_logger_set_prune_list
0x72e0be8948
android heap search instances 类名(命令)
Class instance enumeration complete
for
com.zj.wuaipojie.Demo
Hashcode Class toString()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
215120583
com.zj.wuaipojie.Demo com.zj.wuaipojie.Demo@cd27ac7
android heap search instances 类名(命令)
Class instance enumeration complete
for
com.zj.wuaipojie.Demo
Hashcode Class toString()
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
215120583
com.zj.wuaipojie.Demo com.zj.wuaipojie.Demo@cd27ac7
android heap execute <handle> getPublicInt(实例的hashcode
+
方法名)
如果是带参数的方法,则需要进入编辑器环境
android heap evaluate <handle>
console.log(clazz.a(
"吾爱破解"
));
按住esc
+
enter触发
android heap execute <handle> getPublicInt(实例的hashcode
+
方法名)
如果是带参数的方法,则需要进入编辑器环境
android heap evaluate <handle>
console.log(clazz.a(
"吾爱破解"
));
按住esc
+
enter触发
android hooking
list
classes
tw.idv.palatis.xappdebug.MainApplication
tw.idv.palatis.xappdebug.xposed.HookMain
tw.idv.palatis.xappdebug.xposed.HookMain$a
tw.idv.palatis.xappdebug.xposed.HookMain$b
tw.idv.palatis.xappdebug.xposed.HookMain$c
tw.idv.palatis.xappdebug.xposed.HookMain$d
tw.idv.palatis.xappdebug.xposed.HookSelf
u
v
void
w
xposed.dummy.XResourcesSuperClass
xposed.dummy.XTypedArraySuperClass
Found
10798
classes
android hooking
list
classes
tw.idv.palatis.xappdebug.MainApplication
tw.idv.palatis.xappdebug.xposed.HookMain
tw.idv.palatis.xappdebug.xposed.HookMain$a
tw.idv.palatis.xappdebug.xposed.HookMain$b
tw.idv.palatis.xappdebug.xposed.HookMain$c
tw.idv.palatis.xappdebug.xposed.HookMain$d
tw.idv.palatis.xappdebug.xposed.HookSelf
u
v
void
w
xposed.dummy.XResourcesSuperClass
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2024-7-15 23:10
被正己编辑
,原因: