Android OpenGL小结之专业名词理解
出入之间,境界始大。不仅收其精微,汇其宏阔,且人情与道理兼具,生气同高致并存。入而不出,狭隘;出而不入,浮浅。故善学者,善于深思与总结。学习如此,创作如此,生活亦如此。学习不仅仅是接受一些新知识,而且要擅于总结,把学习的新知识转化为自己的知识,才能学以致用;故把之前的OpenGL学习遇到的名词总结一番。 OpenGL ES库
Op
# Android Gradle 集成SO
## 1. 简介
在Android开发中,有时候会需要使用一些使用C/C++编写的库文件(.so文件),这些库文件通常用来提供原生的功能支持或者是一些性能优化。在Android Gradle中,我们可以很方便地集成这些.so文件到我们的项目中。
## 2. 集成流程
以下是整个集成SO文件的流程,可以用表格展示步骤:
| 步骤 | 操作 |
|
原创
2023-07-19 14:03:44
1138阅读
一、Android WebView开发(一):基础应用二、Android WebView开发(二):WebView与Native交互三、Android WebView开发(三):WebView性能优化四、Android WebView开发(四):WebView独立进程解决方案五、Android WebView开发(五):自定义WebView工具栏
附GitHub源码:WebViewExplore
转载
2023-09-05 15:04:11
271阅读
Android NDK是Android开发中用于编写C/C++代码的工具集。在Android开发中,有时候需要使用第三方的so库来实现一些特定的功能,比如音频处理、图像处理等。本文将教你如何在Android项目中集成第三方so库。
整体流程可以用以下表格展示:
| 步骤 | 操作 |
| ------ | ------ |
| 步骤一 | 下载第三方so库 |
| 步骤二 | 创建jni目录
原创
2024-01-08 06:55:38
160阅读
# Android 中三方 SO 库集成的科普与实践
在 Android 开发中,我们经常需要使用第三方库来增强我们的应用功能。而在某些情况下,第三方库会以共享库(.so 文件)的形式提供。这种库通常是用 C/C++ 编写的,能够直接与 Java 代码进行交互,从而提高性能和效率。本文将介绍如何在 Android 项目中集成三方 SO 库,并提供代码示例和状态图。
## 一、什么是 SO 库?
原创
2024-09-16 04:56:45
255阅读
推荐一款不可或缺的Android开发利器:Android工具类库 如果你是一位Android开发者,那么你一定了解开发过程中对于高效便捷工具类的需求。今天,我们要向大家推荐的是一款强大的Android工具类库,它将极大提升你的开发效率,简化繁琐的操作。这款库由开发者Zhenguo Jin精心打造,并已开源,让我们一起探索它的魅力吧!项目介绍名为jingle1267/android-utils的项
转载
2024-10-07 15:36:23
59阅读
需求:给一个目标apk,要求hook它的native层代码,但是不能修改它原本的so文件。实现方法:通过/proc/pid/maps查看目标so文件加载到内存的基址,然后利用ida查看目标函数在so文件的内存偏移,两个数字相加得到目标函数的内存地址,然后利用Android-Inline-Hook框架编写c文件,编译生成so文件,再修改apk中的smali文件,加载我们的so文件,从而达到hook的
转载
2023-11-05 20:42:15
220阅读
第一步安装JDK,1.7及以上版本的,配置环境变量。 cmd下java -version检查环境变量是否配置成功。 java -version第二步安装Android SDK(安卓软件开发包),测试Android手机必然是要安装Android SDK。下载地址:http://tools.android-studio.org/index.php/sdk/ (直接下载z
转载
2024-10-20 20:24:52
84阅读
第一、前言从今天开始我们正式开始Android的逆向之旅,关于逆向的相关知识,想必大家都不陌生了,逆向领域是一个充满挑战和神秘的领域。作为一名Android开发者,每个人都想去探索这个领域,因为一旦你破解了别人的内容,成就感肯定爆棚,不过相反的是,我们不仅要研究破解之道,也要研究加密之道,因为加密和破解是相生相克的。但是我们在破解的过程中可能最头疼的是native层,也就是so文件的破解。所以我们
第一、前言从今天开始我们正式开始Android的逆向之旅,关于逆向的相关知识,想必大家都不陌生了,逆向领域是一个充满挑战和神秘的领域。作为一名Android开发者,每个人都想去探索这个领域,因为一旦你破解了别人的内容,成就感肯定爆棚,不过相反的是,我们不仅要研究破解之道,也要研究加密之道,因为加密和破解是相生相克的。但是我们在破解的过程中可能最头疼的是native层,也就是so文件的破解。所以我们
转载
2024-01-17 19:51:29
72阅读
在Android开发中,将第三方共享库(通常是.so文件)集成到Android Framework并建立起稳定的直接调用关系是相当具有挑战性的任务。这不仅涉及到JNI(Java Native Interface)和NDK(Native Development Kit)的知识,还需要对Android整体架构有一定的理解。本文将带你走过集成的每一步,从准备环境到排错指南,最后再谈谈未来的扩展可能。
来来了解一下JNI吧,也许工作中并不一定用得着,但是也得知道一下大概内容呀。总结安卓中关于JNI的基础知识,有以下三个部分。(第一部分)A) 创建一个类(HelloWorld.java)或者在原来的类com.example.hellojni.HelloJNI中声明本地方法。(1)使用关键字native声明本地方法,表明这两个函数需要通过本地代码C/C++实现。public native
转载
2024-10-08 17:33:48
42阅读
在有些情况下,可能遇到需要改变目标进程的执行流程的问题,替换原函数转而指向我们自己的函数,而Hook就是指的改变待Hook函数的地址,替换地址而达到更换原函数的功能。本文主要介绍Android上对native层中的so库Hook的方法,核心技术其实是对GOT表的Hook,获取目标函数地址需要对so文件进行解析,而so文件实际上是ELF文件,所以在此之前需要对ELF文件格式有一个很好的了解。关键解析
转载
2023-07-24 22:28:26
118阅读
文章目录前言Hook So有导出so层hook无导出so层hookSo层实战hook脚本的编写hook脚本的效果总结 前言我在前面的一篇博客 CTF逆向-EasySo世界SO层反汇编 中记录了对一道 CTF 逆向题目的 Android APP 的 So 层函数进行基础的逆向分析的过程,通过 IDA 反汇编查看 So 层代码并分析获得了 Flag 值。生命在于折腾~本文将记录尝试通过 Frida
转载
2023-07-06 15:58:26
170阅读
全局符号表(GOT表)hook实际是通过解析SO文件,将待hook函数在got表的地址替换为自己函数的入口地址,这样目标进程每次调用待hook函数时,实际上是执行了我们自己的函数。 GOT表其实包含了导入表和导出表,导出表指将当前动态库的一些函数符号保留,供外部调用,导入表中的函数实际是在该动态库中调用外部的导出函数。 这里有几个关键点要说明一下: (1) so文件的绝对路径和加载到内存
转载
2023-08-30 20:08:09
316阅读
随着Android设备上的隐私安全问题越来越被公众重视,恶意软件对用户隐私,尤其是对电话、短信等私密信息的威胁日益突出,各大主流安全软件均推出了自己的隐私行为监控功能,在root情况下能有效防止恶意软件对用户隐私的窃取,那么这背后的技术原理是什么?我带着疑问开始一步步探索,如果要拦截恶意软件对电话、短信等API的调用,在Java或者Dalvik层面是不好进行的,因为这些层面都没有提供Hook的
转载
2024-01-28 00:38:58
74阅读
本节用的so是上节用Android Studio创建的so。想在Android Studio中调用so中的方法,需要先引用so。Android Studio中引用so的方法有二种,下面开始介绍。一 引用so 在app/src/main目录下新建Directory,命名文件夹为jniLIB(文件名不能错),把so文件放进去 ,如图: 二 编写java代码调用so中方法 ①在代码
转载
2018-11-24 11:42:00
209阅读
0X00 前言 为了增加APK文件的破解难度,很多比较重要的功能都是通过native实现,与反编译不同的是,java的伪代码可以很清楚的得到程序的逻辑关系,但是so文件反编译得到的是汇编代码,使用ida这样的神器可以得到c的伪代码。使用ida实现so的动态调试,可以在关键地方下断点,对于一些变换,比如有的时候输入的内容与经过一些列的变换后的结果比较,这个时候我们不需要关心中间的变换过程,在动态调
转载
2023-10-17 16:08:13
81阅读
Android中动态加载so原因:如果把so文件直接放在libs目录下,在android程序启动的时候会默认加载libs目录下的所有so库,但这些so库可能会在某些地方存在冲突,使用动态加载so库,就可以通过一些条件判断是否要加载这个so库。 介绍:so的动态加载是把so库打包成apk的时候剔除,在合适的时候通过网络包下载的方式,在运行的时候进行分离加载。 优点:so文件是动态加载的,不是绑定死的
转载
2023-07-24 22:04:49
897阅读
因为最近业务上涉及安全的问题然后有一些加密解密的方法和key的存储问题本来想存储到手机里面,但是网上说一般敏感信息不要存储到手机Sdcard上而且我这个如果从网络建立通信获取的话,又太耗时,所以黑客论坛上就有人建议把加密解密的关键信息写在so里,然后从so里面调用要想破解so就涉及到汇编语言的,这个没功力的话一般做不成的 O(∩_∩)O 作者:Andye大体流程
转载
2024-08-14 16:20:27
34阅读