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 动态调试,分析检测( 这里分析的是 " 可执行文件 ",不是 so 库 )

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

libc_init

相关端口检测,例如 23946

进程名称检测

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

libc_init 下断点

源码:

trackpid  ( cat /proc/进程id/status  、cat /proc/进程id/cmdline )

动态调试 进程名称 检测( 调试 可执行程序 【不是 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 传到 手机上执行,然后 动态调试进程 ):

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

运行 android_servers

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

执行转发命令

使用 IDA Pro 调试

注意:

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

调试可执行程序:

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

点击 OK 之后,会挂起程序,然后勾选 三项

因为是从 libc.so 加载的,所以直接点击是跳转不过来的,如图所示:

点击运行加载 libc.so

点击进入 libc.so ,然后再 libc.so  里面搜索 libc,找到 libc_init,点进去,下断点

然后再点击 "运行",让程序运行到断点处。。。

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

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

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

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

libc_init  下断点

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

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

  1. 安卓逆向之模拟器检测

    很久没更新,给大家来一个过模拟器方面的讲解 有问题可+v:13140310004 最近疫情又严重了,大家注意防范 简单介绍模拟检测的原理 模拟器检测,顾名思义,软件.手游等不能运行在模拟器上面. 灰黑 ...

  2. 安卓逆向_21 --- Java层和so层的反调试( IDA 动态调试 JNI_OnLoad、init_array下断)

    1. 安卓程序动态调试条件 安卓程序动态调试条件 ( 2个满足1个即可 ): 1. 在 AndroidMainfest.xml ---> application 标签下,设置或者添加属性 and ...

  3. 安卓逆向环境检测--模拟器

    一.通过 android/os/Build 类检测虚拟机 UNEXPORT bool AntiEmulator::check_Build(JNIEnv *env) {char* sig = " ...

  4. 安卓逆向——雷电模拟器安卓安装Xposed问题

    环境: 模拟器:雷电 4.0.43版本 安卓版本:7.1.2  x86 Xposed :4.0 以上 直接安装 Xposed 会,提示这类错误(这里测试版本有误,安卓5 重启会卡死)         ...

  5. android 动态调试app,Android动态调试

    0x00 起因 最近想了解下移动端app是如何与服务端进行交互的,就顺手下了一个某app抓下http包.谁知抓下来的http居然都长这个模样: POST /ca?qrt=***Login HTTP/1 ...

  6. js逆向、安卓逆向教程

    JS基础 提示信息 - 吾爱破解 - LCG - LSG |安卓破解|病毒分析|www.52pojie.cn 安卓逆向 1.模拟器环境搭建 Magisk 是一套用于定制 Android 的开源软件,支 ...

  7. 一道Android题目逆向动态调试

    题目来源于海淀区网络与信息安全管理员大赛,题目中将加密验证算法打包进.so,在程序中动态调用check. 本题目通过System.loadLibrary("native-lib") ...

  8. 从0-1 - 一道Android题目逆向动态调试

    题目来源于海淀区网络与信息安全管理员大赛,题目中将加密验证算法打包进.so,在程序中动态调用check. 本题目通过System.loadLibrary("native-lib") ...

  9. Android逆向之旅---破解某应用加密算法(动态调试so和frida hook so代码)

    一.样本静态分析 最近有位同学发了一个样本给我,主要是有一个解密方法,把字符串加密了,加解密方法都放在so中,所以之前也没怎么去给大家介绍arm指令和解密算法等知识,正好借助这个样本给大家介绍一些so ...

最新文章

  1. C#进阶系列——动态Lamada
  2. 每秒递减的方波扫频信号怎么生成_逆变器是怎么工作的?
  3. linux 软件包的安装
  4. Java easycms 版本2.0发布
  5. boost::owner_equal_to相关的测试程序
  6. php 登录重定向,PHP登录后重定向
  7. 目标检测算法之Fast R-CNN算法详解
  8. 转:智能音箱市场深度报告:怎么大家都在抢这个两亿小蛋糕?
  9. CSS精粹之布局技巧
  10. C++中公有继承、保护继承、私有继承
  11. SQL实战之查找所有员工入职时候的薪水情况
  12. Java调用db2cmd命令导出数据
  13. nginx之反向代理配置
  14. Windows2003 Server下尝试360安全卫士6.0
  15. /proc/sysrq-trigger的使用
  16. office2007过期后没有输入序列号对话框的激活方法
  17. Barcode模块管理条码扫描识别
  18. 有对象的程序猿都是怎么写代码的
  19. matlab如何调整顺时针逆时针,关于算法:确定线段的方向是顺时针还是逆时针
  20. flacs 安装教程_002.Nginx安装及启动

热门文章

  1. 最全MySQL面试60题和答案
  2. 一篇文章了解架构设计的本质
  3. 论文浅尝 | 从知识图谱流中学习时序规则
  4. 专家:人工智能开始对现实世界产生重大影响​​
  5. 推荐几个练习听力不错的国外网站
  6. JAVA面试——计算机网络
  7. 计蒜客 28437.Big brother said the calculation-线段树+二分-当前第k个位置的数 ( ACM训练联盟周赛 M)...
  8. [模板]洛谷T3379 最近公共祖先(LCA) 倍增+邻接表
  9. 3.1. _3. 覆盖与交换
  10. linux的基础知识——TCP异常断开