首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

【Android 逆向】Android 进程注入工具开发 ( 总结 | 源码编译 | 逆向环境搭建使用 | 使用进程注入工具进行逆向操作 ) ★★★

| 静态注入两种方式 | 修改动态库重打包 | 修改 /data/app/xx/libs 动态库 ) 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android...NDK 应用 | VS 自带的 Android 平台应用创建与配置 ) 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 |...) 【Android 逆向】Android 进程注入工具开发 ( Visual Studio 开发 Android NDK 应用 | Visual Studio 中 SDK 和 NDK 安装位置 )...进程注入工具开发 ( 注入代码分析 | 调试进程 ATTACH 附着目标进程 | 读取目标函数寄存器值并存档 ) 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 获取 远程...目标进程 中的 /system/lib/libc.so 动态库中的 mmap 函数地址 ) 【Android 逆向】Android 进程注入工具开发 ( 注入代码分析 | 远程调用 目标进程中 libc.so

2.1K20

XPage系列|是时候抛弃ButterKnife了

前段时间, 在观望了许久之后, 我终于更新了Android Studio的最新版本(北极狐), 发现项目中使用ButterKnife注解id的代码出现了警告,警告信息如下: Resource IDs will...这意味着如果我们把Gradle插件升级到5.0版本之后ButterKnife将无法再被使用!...而且在ButterKnife的官方文档上也看到了ButterKnife被标注弃用的信息: 因为当初设计XPage是为了能够更方便的使用Fragment, 所以就默认集成了ButterKnife....目前Android项目使用gson的居多, 并且是Google开源维护的,充分相信Google的实力....Android应用空壳模板工程 简化版Android空壳模板工程 相关链接 史上最方便的Android页面框架XPage使用指南 Navigation和XPage框架相比谁更香 XPage项目地址:https

65320
  • 您找到你想要的搜索结果了吗?
    是的
    没有找到

    Android开发笔记(一百七十三)给安装包APK文件瘦身

    所以还是赶紧关闭这个鸡肋功能,把allowBackup属性值由默认的true改为false。...Studio在打包APK时会进行以下代码处理: 1、压缩代码,移除各种无用的实体,包括类、接口、方法、属性、临时变量等等; 2、混淆代码,把类名、属性名、方法名、实例名、变量名替换为简短且无意义的名称...,例如Student类的名称可能改为a,方法getName的名称可能改为b等等; App的Java代码经过压缩和混淆之后,打包生成的APK文件会随之变小。...除了代码之外,应用项目还包括各种资源文件,若想移除无用的资源文件(包括xml布局和图片),就要引入新属性shrinkResources,并将该属性值设为true,这样Android Studio在打包APK...其中ARM架构主要用于智能手机,X86架构主要用于个人电脑,MIPS架构主要用于路由器和机顶盒。

    79310

    【Android 逆向】Android 进程注入工具开发 ( 编译注入工具 | 编译结果文件说明 | 注入过程说明 )

    文章目录 一、编译注入工具 二、编译结果文件说明 三、注入过程说明 一、编译注入工具 ---- 在 Visual Studio 2019 中打开了一个 " 生成文件项目 " , 该项目就是注入项目 ;...【Android 逆向】修改运行中的 Android 进程的内存数据 ( 使用 IDA 分析要修改的内存特征 | 根据内存特征搜索修改点 | 修改进程内存 ) 三、注入过程说明 ---- 将所有文件拷贝到...文件中找到该进程 每个 so 动态库的运行地址 , 尤其是 libc.so 动态库的地址 ; 先远程注入 libbridge.so 动态库 , 然后远程调用 libbridge.so 中的 load 函数 , 将真正的...libnative.so 加载到目标进程中 ; 使用修改寄存器的方法 强行加载 libbridge.so 动态库 , 会影响目标进程的布局 , 因此这个动态库越小越好 , 并且 使用完毕后 , 马上关闭该动态库..., libbridge.so 动态库只起一个敲门的作用 , libnative.so 加载完成后 , 直接将 libbridge.so 动态库干掉 , 过河拆桥 ; 上述操作同时 , 恢复 寄存器 和

    49520

    【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库 )

    Android Studio 中 CMake 引入静态库流程 III . 指定 CMake 最小版本号 IV . 导入函数库 ( 静态库 / 动态库 ) 编译配置 V ....中生成的脚本 : Android Studio 中 , CMake 生成 ninja 脚本 , ninja 是一种轻量级快速构建工具 ; ( 仅做参考 ) 2 ....CMake 与 Android.mk : Google 逐渐放弃了对 Android.mk 的支持 , 目前新项目推荐使用 CMake 构建本地库 , 旧的项目建议将 Android.mk 转为 CMake...Android Studio 中 CMake 引入静态库流程 ---- Android Studio 中 CMake 引入静态库流程 : 1 . build.gradle 配置 CMake 编译选项 :...库 , 将找到的路径赋值给 log-lib # 这个路径是 NDK 的 ndk-bundle\platforms\android-29\arch-arm\usr\lib\liblog.so #

    2.9K40

    opencv集成opencv_contrib编译生成Android工程

    1.目标和步骤 (1)环境搭建 (1.1)ndk环境---走进AndroidStudio下的NDK 问题1:发现mk文件没有自动生成(如果不想手动写mk,可以做如下替换) 在项目的主目录下...-- (1.2)opencv环境 Android Studio集成OpenCV 这篇文章基本能解决大部分问题 Android开发配置opencv环境超详细教程 这篇文章绝对手把手教会 Android...openCV的扩展包地址如下: https://github.com/opencv/opencv_contrib 如何将扩展包和主干编译到一起,我到开源库中提了问题 看到在官方的构建中是有将opencv.../build-android-opencv.sh 编译的时候遇到一个错误,readlink: illegal option -- f,解决方案是这篇文章 然后把脚本中的readlink改为greadlink..., ### ABIs setup中把armeabi-v7a with NEON加上,这样可以生成不同系统对应的so库 declare -a ANDROID_ABI_LIST=("x86" "x86_64

    2.5K10

    【Android NDK 开发】Android Studio 使用 CMake 导入动态库 ( 构建脚本路径配置 | 指定动态库查找路径 | 链接动态库 )

    Android Studio 中 CMake 引入动态库流程 III . 指定动态库查找路径 IV . 链接函数库 V . 完整代码示例 1 ....博客资源 参考博客 : 【Android NDK 开发】Android Studio 使用 CMake 导入静态库 ( CMake 简介 | 构建脚本路径配置 | 引入静态库 | 指定静态库路径 | 链接动态库...Android Studio 中 CMake 引入动态库流程 ---- Android Studio 中 CMake 引入静态库流程 : 1 . build.gradle 配置 CMake 编译选项 :...库 , 将找到的路径赋值给 log-lib # 这个路径是 NDK 的 ndk-bundle\platforms\android-29\arch-arm\usr\lib\liblog.so...(ANDROID_LOG_INFO, "JNI_TAG", "Native Caculate (CMake Build) : %d + %d = %d", 1, 2, sum); //将加法运算转为字符串

    9.3K20

    【错误记录】Visual Studio 中编译 NDK 报错 ( no matching function for call to ‘cacheflush‘ cacheflush(); )

    文章目录 一、报错信息 二、报错信息 一、报错信息 ---- 使用 Visual Studio 2019 编译 Android 平台的 NDK 项目 ; 编译时报错 ; 报错信息 : 1>....* [obj/local/armeabi-v7a/objs/native/native/native.o] Error 1 1>D:\001_Develop\017_Microsoft Visual Studio...extern int cacheflush(long start, long end, long flags); 在 x86 架构中该系统调用无效 ; 如果编译的目标 函数库 或 可执行文件 架构有 x86...架构 , 就会报错 , 因为该函数只支持 ARM 架构 ; #ifndef __i386__ cacheflush(); 在 Application.mk 中 , 要声明只为 x86 编译函数库..., 注释掉 armeabi-v7a armeabi 这两个目标架构 ; APP_ABI := x86 #armeabi-v7a armeabi APP_STL := gnustl_static

    67410

    Android 模拟器现已支持 AMD 处理器和 Hyper-V

    Android 模拟器现已成为 Android Studio 中最受欢迎的设备 —— 使用量为 Android 实体设备的两倍以上。...今天,您就可以下载最新版本 Android 模拟器,在搭载 AMD 处理器的电脑上运行 Android x86 虚拟设备。...本次重要更新同时也会让应用开发者们更容易接入 Android 模拟器,不仅不会受到此前的软件模拟上的限制,还会获得硬件加速性能支持。...△ Android 模拟器——快照扩展控件微软 Windows 系统 对于使用英特尔 x86 处理器的设备来说,默认情况下 Android 模拟器将继续使用硬件加速执行管理器技术 (Intel HAXM...Studio 预览版下载页面; Android 模拟器 v27.3.8 +,点击前往 Android Studio SDK 管理器页面下载; x86 Android 虚拟设备 (AVD),创建虚拟设备;

    2.3K10

    Android App瘦身新姿势——Android App Bundle

    x86,xxhdpi的手机,那么App Bundle会帮你拼装好一个apk,这个apk的资源只有xxhdpi的,而且so库只有x86,其他无关的都会剔除。...想了解更多关于split apks的内容,请关注这里: https://developer.android.com/studio/build/configure-apk-splits?...authuser=2 如何使用App Bundle 1.将你的Android Studio升级为3.2及其以上版本 2.添加对Dynamic Delivery的支持 其实就是一些基础apk需要东西...,比如签名,MAIN入口等,详细请阅读: https://developer.android.google.cn/studio/projects/dynamic-delivery 3.构建App Bundle...这些参数的说明详见如下: 无疑就是一些打包的签名,密码等,还有一些特殊的属性,详细大家可以看英文介绍,使用命令后,出来的是app.apks文件,我们可以解压缩一下,出来就是如下的内容: 从打包出来的东西,更印证了我们前面所说的原理

    1.2K10

    APK 瘦身优化

    studio 2.2之后使用 - 查看apk组成大小,各资源占比 - 查看dex文件组成 - 可以进行apk对比 通过Analyze app分析(打开方式:Android Studio下 ——>...对lib文件目录进行瘦身 往往进行NDK开发的时候,so文件都比较大,将ndk修改为如下: ndk{       //设置支持的so库架构       abiFilters "armeabi-v7a...而许多基于 x86 的设备也可运行 armeabi-v7a 和 armeabi NDK 二进制文件。对于这些设备,主要 ABI 将是 x86,辅助 ABI 是 armeabi-v7a。...优化res,assets文件 手动lint检查,手动删除无用资源 在Android Studio中打开“Analyze” 然后选择"Inspect Code..."...打开网址,将大图片导入到tinypng,替换之前的图片资源。 大部分图片使用Webp格式代替。 可以给UI提要求,让他们将图片资源设置为Webp格式,这样的话图片资源会小很多。

    1.4K20

    【错误记录】Kotlin 编译报错 ( Class ‘Xxx‘ is not abstract and does not implement abstract member )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- Google Play 上架要求 Android 的编译版本 和 目标版本都要高于 30 才可以上传 ; 将 Android 的编译版本...和 目标版本 都升级为 30 之后 , Kotlin 的编译检查变得更严格 , 之前不规范的代码需要逐个修改 ; 将编译版本 compileSdkVersion 和 目标版本 targetSdkVersion...由 28 修改为 30 ; android { compileSdkVersion 30 buildToolsVersion "29.0.2" defaultConfig {...Studio 中自动生成的代码 , override fun surfaceChanged(holder: SurfaceHolder?...官方没少干这事 ; 解决方案 : 在 Kotlin 中 , 将所有的重写的函数的可空参数 , 都改为非空参数 , 即删除参数后面的问号 “?”

    2.2K20

    技术分享 | 想做App测试就一定要了解的App结构

    通过将 APK 文件直接传到 Android 模拟器或 Android 手机中执行即可安装。...APK 文件其实是 zip 格式,但后缀名被修改为 apk,通过 Android Studio 可以看到 APK 内部的文件。...Android 主要包括这几种 CPU 架构:armeabi、armeabi-v7a、arm64-v8a、x86、x86_64、mips,大多数情况下只需要支持 armabi 与 x86 的架构即可。...比如手机设备一般来说用的是 arm 架构,而模拟器一般来说是 x86 架构。如果 app 只支持 arm 架构的话,那么就只能安装在真机上,模拟器上安装就会不成功。...元素属性 布局 了解 app 的界面布局,做自动化测试的时候更容易去定位页面上的元素。 这里的布局就是指界面元素排布的方式。

    34420

    【错误记录】Android NDK 编译报错 ( no known conversion from ‘unsigned char *‘ to ‘const char *‘ )

    文章目录 一、报错信息 二、解决方案 一、报错信息 ---- 在 Visual Studio 2019 中编译 Android NDK , 构建方式参考 【Android 逆向】Android 进程注入工具开发...( Visual Studio 开发 Android NDK 应用 | 使用 Makefile 构建 Android 平台 NDK 应用 ) 博客 ; 报错信息如下 : 命令行报错信息 : 已启动生成.../objs/native/native/native.o] Error 1 1>D:\001_Develop\017_Microsoft Visual Studio\2019\Community\MSBuild...========== 生成: 成功 0 个,失败 1 个,最新 0 个,跳过 0 个 ========== Visual Studio 中的报错信息 : 二、解决方案 ---- search_string....address(), data, size); return strOut; } 使用 reinterpret_cast (expression) 进行强转 , 将

    2.2K10

    在 Android 模拟器上运行 ARM 应用

    Android 11 系统映像能够在不影响整个系统的前提下,直接将 ARM 指令转换成 x86 指令。开发者无需搭建高负载的 ARM 环境即可执行 ARM 二进制文件并进行测试。 ?...Kotlin 和 Java 编程语言均在 ART (Android 运行时) 上执行,但 C++ 则与它们不同,Android 应用中的所有 C++ 指令会直接编译为机器指令,也就是说,目标设备的平台架构决定着...当应用的某个进程需要使用 ARM 二进制代码时,代码仅会在该进程内被转换成 x86 指令,其余进程将继续在 x86 环境内执行,包括 Android 运行时 (ART) 以及其它性能关键库,例如 libGLES...您可通过 SDK Manager 或者 Android Virtual Device Manager 将最新版本的系统映像下载至 Android Studio。 ?...Chrome OS 同样也支持在 x86 笔记本上执行 ARM 版本的 Android 应用。

    3.6K10
    领券