安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断

 

From( 模拟器检测实战分析 ):https://www.bilibili.com/video/BV1UE411A7rW?p=65

怎样过 app 的模拟器检测:https://bbs.pediy.com/thread-249759.htm

Android 模拟器如何不被检测思路:https://bbs.pediy.com/thread-227050.htm

Android 模拟器检测常用方法:https://blog.csdn.net/sinat_33150417/article/details/51320228

如何判断 Android 设备是真机还是模拟器?:https://www.zhihu.com/question/21355176/answer/272069337

检测 Android 模拟器的方法和代码实现:https://blog.csdn.net/earbao/article/details/82746605

一行代码帮你检测Android模拟器(更新至1.1.0):https://www.jianshu.com/p/434b3075b5dd

过 apk 模拟器检测,关于特定模拟器检测蓝叠模拟器:https://www.52pojie.cn/thread-1039699-1-1.html

android-模拟器检测方法:https://www.jianshu.com/p/ec99371f00ed

 

模拟器检测

 

 

 

使用 AndroidStudio 动态调试 smali 代码 查找 检测模拟器 代码

 

可以在 入口点入口页面 看下 ,分析 模拟器检测。。。

使用 AndroidStudio 动态调试 smali 代码 查找 检测模拟器 代码:https://www.bilibili.com/video/BV1UE411A7rW?p=65

 

 

 

反调试检测手段

 

IDA Pro 动态调试,分析检测

1. 关键文件检测( 例如:android_server 文件检测 ):https://www.bilibili.com/video/BV1UE411A7rW?p=66

2. 动态轮询检测( 使用 ptrace ):https://www.bilibili.com/video/BV1UE411A7rW?p=67

 

 

 

动态调试 进程名称 检测( 调试 可执行程序 【不是 apk )

 

Android反调试方法总结以及源码实现之检测篇(一):https://blog.csdn.net/feibabeibei_beibei/article/details/60956307

安卓常见的反调试与对抗方案:https://www.52pojie.cn/thread-709669-1-1.html

视频地址( 动态调试 ELF ):https://www.bilibili.com/video/BV1UE411A7rW?p=68

安卓 反调试

可执行文件源码( 编译成可执行文件之后,adb push 传到 手机上执行,然后 动态调试进程 ):

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第1张图片

上传可执行文件到手机,并运行程序:

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第2张图片

运行 android_servers 

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第3张图片

端口转发( 在打开一个 cmd 窗口,运行 端口转发命令 ):

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第4张图片

执行转发命令

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第5张图片

使用 IDA Pro 调试

注意:

  • 调试 可执行程序 是 Debugger ---> run 
  • 调试 so 是 Debugger ---> attach

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第6张图片

填写可执行文件路径、IP、和 端口号

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第7张图片

 

 

看视频:

可执行文件 的 导出函数 只有一个 main,点击去,可以找到 __libc_init ,这个函数有 4 个参数,这4个是固定的

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第8张图片

但是怎么找一个可执行文件一开始执行的地方,其实就是 __libc_init 的第 3 个参数,

安卓逆向_20 --- 模拟器检测、反调试检测、ELF动态调试、__libc_init 下断_第9张图片

即 R2 ,指向 main 函数,即就是程序的入口点。。。

分析 main 函数即可看到 检测逻辑代码

 

 

libc_init  下断点

 

libc_init  下断点:https://www.bilibili.com/video/BV1UE411A7rW?p=65

 

 

 

 

 

你可能感兴趣的:(Android,逆向)