Android 规范手册20201. 编码规范1.1 命名规范1.1.1 Android包命名规范1.1.2 Android代码命名规范1.1.3 Android资源文件命名规范1.2 代码规范1.2.1 IDE规范1.2.21.2.3 代码注释开发规范版本管理规范打包发布规范团队管理规范参考资料 1. 编码规范1.1 命名规范1.1.1 Android包命名规范Android包目录命名会影响
一、配置so需要的库环境高版本的Android Studio已经集成了LLDB调试库,所以说,大家不要在找为什么没有,该从哪里去找。现在很多教程都是老的,这个算是我用的这个版本的最新方法,踩坑版。 File->setting二、创建so文件的工程直接选择最后一个 File->New project下一步这些配置,自己按照喜好就好了配置好该页面后,直接点击右下角的“Finish”,项目就
设备树叠加层 (DTO) 扩展了现有的扁平化设备树 (FDT) 实现,让用户空间可以通过加载用于修改原始数据的额外叠加层 FDT,在运行时修改内核中的初始设备树数据。Android 不要求在运行时从用户空间更新 DT blob,而是建议供应商借助 libfdt 或 libufdt 在引导加载程序中添加设备树补丁程序。1、Android DTO 支持Android 对 DTO 的支持因 Androi
转载 2023-10-08 07:37:06
131阅读
基于Android Studio和Gradle 的小米便签配置和安装 安装配置JAVA小米便签的配置编译需要在JDK8上运行,而Sonarqube的运行需要在JDK12。由于Sonarqube需要运行bat,会使用到默认的JAVA目录,所以只需要在配置Android Studio时候JDK目录改为JDK8的目录即可。 安装配置Android Studio 注意按照指引把SDK和
好久没有在笔记本上装linux的系统了,之前给我本的装了个双系统,一个windows 7.一个Ubuntu 11.04.由于还要使用网银之类的,所以,不可能把windows的系统都删掉。 当时给ubuntu的分区的大小很小,就25G,感觉上,又不需要安装什么软件,这么打应该够了,谁知道升级了几次,这个25G就已经快不够了,虽然也还是没有安装什么软件呢。看来linux的系统也是越来越庞大了。 于是
#include #include #include using namespace std; int n,m,a[505],b[505],dp[505][505]; int LICS() { ...
转载 2015-12-12 09:35:00
8阅读
2评论
因为我在工作的过程中,使用的是第三方提供的库,但是如何将这些库添加到QT的工程中,是个问题,让我恼火了很久,怎么弄都是错的。 下面,我会对这个问题,进行叙述,希望其他人第一次遇到这种问题的时候,可以轻易的解决。 一.添加第三方的头文件这个问题再简单不过了,不过我还是要说下。首先,添加头文件  #include "ControlCAN.h"然后,再将这个头文件放到工程的
转载 2023-11-21 22:02:35
133阅读
需求:给一个目标apk,要求hook它的native层代码,但是不能修改它原本的so文件。实现方法:通过/proc/pid/maps查看目标so文件加载到内存的基址,然后利用ida查看目标函数在so文件的内存偏移,两个数字相加得到目标函数的内存地址,然后利用Android-Inline-Hook框架编写c文件,编译生成so文件,再修改apk中的smali文件,加载我们的so文件,从而达到hook的
第一、前言从今天开始我们正式开始Android的逆向之旅,关于逆向的相关知识,想必大家都不陌生了,逆向领域是一个充满挑战和神秘的领域。作为一名Android开发者,每个人都想去探索这个领域,因为一旦你破解了别人的内容,成就感肯定爆棚,不过相反的是,我们不仅要研究破解之道,也要研究加密之道,因为加密和破解是相生相克的。但是我们在破解的过程中可能最头疼的是native层,也就是so文件的破解。所以我们
第一、前言从今天开始我们正式开始Android的逆向之旅,关于逆向的相关知识,想必大家都不陌生了,逆向领域是一个充满挑战和神秘的领域。作为一名Android开发者,每个人都想去探索这个领域,因为一旦你破解了别人的内容,成就感肯定爆棚,不过相反的是,我们不仅要研究破解之道,也要研究加密之道,因为加密和破解是相生相克的。但是我们在破解的过程中可能最头疼的是native层,也就是so文件的破解。所以我们
转载 2024-01-17 19:51:29
72阅读
  全局符号表(GOT表)hook实际是通过解析SO文件,将待hook函数在got表的地址替换为自己函数的入口地址,这样目标进程每次调用待hook函数时,实际上是执行了我们自己的函数。  GOT表其实包含了导入表和导出表,导出表指将当前动态库的一些函数符号保留,供外部调用,导入表中的函数实际是在该动态库中调用外部的导出函数。  这里有几个关键点要说明一下:  (1) so文件的绝对路径和加载到内存
  随着Android设备上的隐私安全问题越来越被公众重视,恶意软件对用户隐私,尤其是对电话、短信等私密信息的威胁日益突出,各大主流安全软件均推出了自己的隐私行为监控功能,在root情况下能有效防止恶意软件对用户隐私的窃取,那么这背后的技术原理是什么?我带着疑问开始一步步探索,如果要拦截恶意软件对电话、短信等API的调用,在Java或者Dalvik层面是不好进行的,因为这些层面都没有提供Hook的
转载 2024-01-28 00:38:58
74阅读
在有些情况下,可能遇到需要改变目标进程的执行流程的问题,替换原函数转而指向我们自己的函数,而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阅读
来来了解一下JNI吧,也许工作中并不一定用得着,但是也得知道一下大概内容呀。总结安卓中关于JNI的基础知识,有以下三个部分。(第一部分)A) 创建一个类(HelloWorld.java)或者在原来的类com.example.hellojni.HelloJNI中声明本地方法。(1)使用关键字native声明本地方法,表明这两个函数需要通过本地代码C/C++实现。public native
转载 2024-10-08 17:33:48
42阅读
  本节用的so是上节用Android Studio创建的so。想在Android Studio中调用so中的方法,需要先引用soAndroid 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的动态调试,可以在关键地方下断点,对于一些变换,比如有的时候输入的内容与经过一些列的变换后的结果比较,这个时候我们不需要关心中间的变换过程,在动态调
在我们平时工作中经常会遇到要操作Excel的功能,比如导出个用户信息或者订单信息的Excel报表。你肯定听说过POI这个东西,可以实现。但是POI实现的API确实很麻烦,它需要写那种逐行解析的代码(类似Xml解析)。今天给大家推荐一款非常好用的Excel导入导出工具EasyPoi,希望对大家有所帮助!SpringBoot实战电商项目mall(50k+star)地址:https://github.c
转载 9月前
28阅读
        继上次基于源码级别和二进制级别的SO文件的核心函数保护后,没看的网友可以点击:点击打开链接;这篇是针对我们在JNI开发过程中利用javah生成本地层对应的函数名类似于java_com_XX这种形式,很容易被逆向者在逆向so的时候在IDA的Exports列表中找到这样一个问题,我们的目的就是让IDA在反汇编过程显示不出来,以及就算找到函数实现也
文章目录一、IDA server安装1、把本地IDA server文件推送进手机目录2、进入手机shell3、修改权限运行server二、了解反调试策略三、反调试处理方法1、给app加上可调式权限2、检查flags中是否有允许debug项3、以调试模式启动APP APP此时会挂起4、IDA设置5、点击运行按钮6、在设备里查看APP的进程ID7、使用JDB命令让APP 恢复运行8、定位反调试代码9
  • 1
  • 2
  • 3
  • 4
  • 5