美文网首页
防调试绕过姿势(IDA调试)

防调试绕过姿势(IDA调试)

作者: lc_fan | 来源:发表于2017-11-20 20:30 被阅读293次

反反调试(IDA调试)

Step1 找崩点

在JNI_OnLoad下断点,单步调试到某崩点,分析一下。

Step2 patch byte code

方法1.单次运行时更改

附加so在运行的app上,此时代码在内存中,用IDA Hex View修改该处byte指令,然后"apply chages F2",即可在此次运行时改变其逻辑。[方便快捷;适用于单次调试或试水]

方法2.永久性更改

1. 修改获取dif文件 - 同上用用IDA Hex View修改该处byte指令,然后"apply chages F2", 再 File -> Produce file -> Create DIF file, 保存xxx.dif文件。它描述了哪里做了修改。此时so文件没有被修改。

2. 修改保存so文件 -```ida_patcher -i xxx.so -p xxx.dif```。这样就永久性保存了该修改获得没有反调试策略的so文件。

3. 重打包apk并重签名 - ```apktool -d xxx.apk```解压.apk包,替换so文件删除之前签名```META-INF```,再```apktool -b xxx/```重新打包,在xxx/dist/目录下, ```apksigner sign lcfan.jks xxx.apk```重新签名。

* 不要用apk->zip的解压方式,不然.xml会崩,adb install 时会爆出错误"Failure [INSTALL_PARSE_FAILED_UNEXPECTED_EXCEPTION: Failed to parse /data/app/xxxxx.tmp/base.apk: AndroidManifest.xml]"

* apktool -d 解压apk包后,有些apk的xml文件依然会崩,因为厂家做了加固。xml二进制文件可用 vim -b AndroidManifest.xml :%!xxd 查看,手工dump。

相关文章

  • 防调试绕过姿势(IDA调试)

    反反调试(IDA调试) Step1 找崩点 在JNI_OnLoad下断点,单步调试到某崩点,分析一下。 Step2...

  • so逆向

    动态调试:安装ida,ida安装F5调试工具,安装Eclipse,Eclipse安装DDMS插件相关软件:http...

  • ida调试

    ida调试: 1:先将android_server push到手机 ,如果手机没有root,需要root才能在an...

  • 逆向篇二

    1. 静态分析 1.1 Hopper 1.2 IDA 2. 动态调试 2.1 lldb调试

  • IDA 调试android

    使用IDA进行动态调试so,有两种方式进行调试,一种是调试启动方式,调试启动可以调试jni_onload ,ini...

  • mongo-express 远程代码执行漏洞分析

    搭建调试环境,调试 CVE-2019-10758 漏洞,学习nodejs 沙箱绕过,以及nodejs 远程调试。目...

  • Android Studio动态调试smali

    前言 之前对于app反编译的smali汇编语言都是静态分析为主,加上一点ida6.6的动态调试,但是ida的调试s...

  • IDA调试so

    IDA调试so 环境配置 一台 root 的手机,与电脑在同一局域网IDA 7.0Android 环境 准备工作 ...

  • ida 调试 命令

    启动 端口转发 从app启动开始调试 异常SeLinux 造成无法调试1、检测SELinux是否打开:getenf...

  • ida 调试步骤

    启动安装android_server 记得注意改名: 很多app 会检测android_server 我改成and...

网友评论

      本文标题:防调试绕过姿势(IDA调试)

      本文链接:https://www.haomeiwen.com/subject/stjbvxtx.html