首页 > 其他分享 >【APP逆向16】frida反调试

【APP逆向16】frida反调试

时间:2024-02-27 23:33:18浏览次数:27  
标签:16 APP ptr so path frida app dlopen

  • 1.当我们对莫个app进行frida hook的时候,如果已启动hook脚本,app就自动退出了。这个时候可能就是app对frida进行了反调试。

  • 2.如何解决这种问题呢?

    • 反调试一般在so中实现,如果有frida使用,就给关闭
    • app启动过程中,都有加载so文件
    • 下面的问题是如何找到反调试的so文件
  • 3.hook app运行过程中加载了哪些so文件

    • 3.1:加载so文件hook脚本
import frida
import sys

rdev = frida.get_remote_device()
pid = rdev.spawn(["包名"])
session = rdev.attach(pid)

scr = """
Java.perform(function () {

    var dlopen = Module.findExportByName(null, "dlopen");
    var android_dlopen_ext = Module.findExportByName(null, "android_dlopen_ext");

    Interceptor.attach(dlopen, {
        onEnter: function (args) {
            var path_ptr = args[0];
            var path = ptr(path_ptr).readCString();
            console.log("[dlopen:]", path);
        },
        onLeave: function (retval) {
        }
    });

    Interceptor.attach(android_dlopen_ext, {
        onEnter: function (args) {
            var path_ptr = args[0];
            var path = ptr(path_ptr).readCString();
            console.log("[dlopen_ext:]", path);
        },
        onLeave: function (retval) {
        }
    });

});
"""
script = session.create_script(scr)


def on_message(message, data):
    print(message, data)

script.on("message", on_message)
script.load()
rdev.resume(pid)
sys.stdin.read()
  • 3.2:运行上面的脚本,我们可以看到app启动过程中加载的所有so文件

  • 3.3:如上图,可以看到app运行加载的所有so文件,我们从后往前一个个查看,找与app相关的,于是,我们试着删除最后一个libmsaoaidsec.so文件

  • 3.4:找到app相关so文件的路径,删除对应的so文件

    • adb shell pm path com.hupu.shihuo
    • adb shell
    • su
    • cd /data/app/.../arm64
  • 4.删除libmsaoaidsec.so文件后,再次hook。发现app正常运行

标签:16,APP,ptr,so,path,frida,app,dlopen
From: https://www.cnblogs.com/xwltest/p/18038743

相关文章

  • CF516E Drazil and His Happy Friends 题解
    题目传送门记\(d=\gcd(n,m)\),发现只有编号在模\(d\)意义下相同的人之间会产生影响,那么有解当且仅当每个剩余系内有至少一个人是快乐的。所以在\(d>b+g\)时直接输出-1即可。对于剩下的情况,先令\(n\leftarrow\fracnd,m\leftarrow\fracmd\),如果\(n<m\)那么把男女交......
  • 166. 分数到小数(中)
    目录题目题解正解题目给定两个整数,分别表示分数的分子numerator和分母denominator,以字符串形式返回小数。如果小数部分为循环小数,则将循环的部分括在括号内。如果存在多个答案,只需返回任意一个。对于所有给定的输入,保证答案字符串的长度小于104。示例1:输入:nu......
  • CF168B Wizards and Minimal Spell
    传送门:luogu和codeforces。题意给定若干行长度为\(n\)的字符串,要求进行以下操作:若字符串不以#开头,则删去所有空格;若第\(i\)行和第\(i+1\)行都不以#开头,则将这两行合并为同一行;若第\(i\)行为空行,除非第\(i-1\)和\(i+1\)行都以#开头,否则删去此行。......
  • 复习回顾-动态规划算法-416. 分割等和子集
    注意点&感悟:其实也没啥,不行就背呗~~题目链接:416.分割等和子集自己独立写的代码:classSolution:defcanPartition(self,nums:List[int])->bool:target=sum(nums)iftarget%2==1:#说明是奇数returnFalsetarget=......
  • 云打印app哪个好用?
    随着云打印技术的发展,现在很多有打印需求的用户都想要用到云打印服务。现在提供云打印服务的app和程序有很多,那么云打印app哪个好用?今天就一起来了解一下。 云打印app哪个好用?现在能提供云打印服务的app和程序有很多,但是不同的app和第三方程序,所提供的云打印的具体内容也不......
  • 打包app端 登录页【非tabBar页面】底部会显示导航栏的解决办法
    如题,uniapp项目打包app后,登录页底部会显示导航栏的解决办法 首先直接在pages.Json中的对应页面配置中设置"navigationBarHidden":true这个方法是无效的"style":{       "navigationBarHidden":true   }但是可以通过js方式来控制页脚tabBar的隐藏与否:1、首......
  • 【干货分享】uniapp做的App如何加固
    摘要本文介绍了在2023年,使用uniapp开发APP的盛行趋势,以及随之而来的加固需求。通过对uniapp制作的APP进行代码混淆、加固资源文件、防止调试和反调试、加密敏感数据以及防止篡改等多个方面的加固措施,来保障APP的安全性。引言在当下,uniapp开发APP的兴起让越来越多的开发者受益于......
  • uni-app的renderjs示例 | app端使用window
    原文:https://juejin.cn/post/6974552469917401125<template><viewstyle="padding-top:200rpx;"><!--这里的:change:msg旨在于监听逻辑层的msg变化,有变化就调用renderjs内容--><!--这里要注意,render。receiveMsg中的render是下面renderjs定义的module名称-->......
  • 8*4点LED数显驱动IC/LED数码管显示驱动控制电路(芯片)-VK1650 可驱动32点的数显屏,与市
    产品品牌:永嘉微电/VINKA产品型号:VK1650封装形式:SOP16产品年份:新年份 概述:VK1650是一种带键盘扫描电路接口的LED驱动控制专用芯片,内部集成有数据锁存器、LED驱动、键盘扫描等电路。SEG脚接LED阳极,GRID脚接LED阴极,可支持8SEGx4GRID的点阵LED显示。最大支持7x4按键。本芯片性......
  • Android权限警告(not in privapp-permissions whitelist)
    1.现象模块使用了Settings.Global之后,单编模块push到手机里面重启,发现手机卡在开机logo界面,开不了机2.抓取logcat看log打印会发现如下图片中的打印,主要的关键词为Privilegedpermissionsnotinprivapp-permissionswhitelist二.查找源码定位问题(Q的代码)文件路径PermissionM......