自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(26)
  • 收藏
  • 关注

原创 Java层文件系统监控简单实现

Java层文件系统监控简单实现在阅读android 10的aosp源码 framework/base/core/java/android/app/ActivityThread.java时候,看到了AndroidOs这个新东西,发现是一个IO回调,挺有意思aosp/libcore回调机制比如File.delete函数 public boolean delete() { SecurityManager security = System.getSecurityManager();

2021-04-24 16:46:49 377

原创 linux命令行编译android studio工程环境配置

安卓命令行编译环境配置配置sdkmanager点击这里下载commandlinetools-linux-...._latest.zip解压mkdir xxcd ~/xxunzip ~/Download/commandlinetools....latest.zip下载platform-tools以及ndk参考这里sdkmanager "platform-tools" "platforms;android-30"sdkmanager --install "ndk;21.3.652814

2021-12-28 12:08:05 1795

原创 最近搞express框架的记录

背景​ 本人安卓framework开发,项目中没人搞后端了。。但是有啥办法呢,那我就撸nodejs吧。嗯,因为有个前端的小demo,最后选择express了来搞。由于项目保密性原因,很多玩意不方便透露,只是在此记录一下日常,以后方便查阅nodejs环境安装配置直接去官网下载LTS版本我的机器是debianx86_64,所以下载了一个tar.xz格式的压缩包1.下载wget https://nodejs.org/dist/v16.13.0/node-v16.13.0-linux-x64.ta

2021-11-12 12:37:37 161

原创 java层Throwable->nativeFillInStackTrace分析

背景:1.研究java层堆栈获取原理2.进一步提升自己对art的理解本文选择Throwable->nativeFillInStackTrace这个切面入手源码lineage-18.1admin@C02D7132MD6R art % grep nativeFillInStackTrace -rn *runtime/native/java_lang_Throwable.cc:28:static jobject Throwable_nativeFillInStackTrace(JNIEnv* e

2021-09-26 12:29:45 512

原创 ROM-libcore中新加java文件编译报错

背景:1.安卓9之前,libcore中有一个libcore/io/EventLogger.java,但是安卓10之后却没有了2.EventLogger可以将进程中所有的event事件,收敛到这里,所以可以在代码中任何地方加埋点,然后简单调用writeEvent public static void writeEvent(int code, Object... list) { getReporter().report(code, list); }代码改动:Aosp a

2021-09-26 11:57:18 1854

原创 hiddenapi运行时监控

目的为第三方app提供运行时hidden api访问情况。google提供了veridex工具,静态分析app所使用的hidden api。但是静态分析的结果可能不全,比如dex动态加载,加固等。先了解一下开发者是如何访问hiddenapi的1.通过反射,比如java.lang.Class;->getDeclaredField2.通过env->GetFieldID等该篇只谈反射的方案,如何通过ROM定制进行监测getDeclaredField打点下面是aosp10.0的源码贴图(

2021-08-09 23:09:04 448

原创 rc4流加密移植笔记

rc4移植参考aosp(boringssl)头文件struct rc4_key_st { unsigned int mode; unsigned int x, y; unsigned char data[256];} /* RC4_KEY */;typedef struct rc4_key_st rc4_key;void rc4_set_key(rc4_key *rc4key, const uint8_t *key, unsigned len);void rc4_c

2021-07-07 12:31:45 109

原创 AES移植笔记一(android)

参考文档使用了boringsslandroid-11.0.0_r36/android-7.1aosp/external/boringssl/src/crypto/fipsmodule/modesls cbc.c cfb.c ctr.c gcm.c gcm_test.cc gcm_tests.txt internal.h ofb.c polyval.caes.c源码,头文件贴一下#define AES_MAXNR 14#define AES_BLOCK_SIZE 16

2021-07-07 10:51:48 273

原创 base64移植笔记(android)

base64源码位置:android-11.0.0_r36aosp/external/wpa_supplicant_8/src/utils/base64.caosp/external/wpa_supplicant_8/src/utils/base64.h/* * Base64 encoding/decoding (RFC1341) * Copyright (c) 2005, Jouni Malinen <[email protected]> * * This software may be dist

2021-07-06 20:29:26 200 1

原创 md5移植笔记(android)

md5移植目的:1)生成md5core_static.a静态可执行文件2)libtestLib.so依赖md5core_static, so库的release版本需要抹去md5的符号源码比较少,贴这里md5.h源码中修改了BASE_EXPORT这个宏了,如果不修改,libtestLib.so库中的md5相关符号会导出#define BASE_EXPORT __attribute__((visibility("hidden")))#define BASE_EXPORT_PRIVATE __att

2021-07-06 19:40:18 292

原创 记录AOSP源码编译刷机(pixel 4a)

查找pixel 4a所对应的branch分支我选择了第二行,其补丁级别也是比较新的。build ID标记版本支持的设备安全补丁程序级别RQ2A.210505.003android-11.0.0_r37Android11Pixel 4a (5G)、Pixel 52021-05-05RQ2A.210505.002android-11.0.0_r36Android11Pixel 3、Pixel 3a、Pixel 3a XL、Pixel 3 XL、Pixel 4、P

2021-07-06 18:18:17 2527

原创 代码备忘录(CMakeLists.txt)

CMakeLists.txtCMAKE_BUILD_TYPEstring(TOLOWER "${CMAKE_BUILD_TYPE}" cmake_build_type_lower)if(cmake_build_type_lower STREQUAL "release") message(VERBOSE "begin build release") set(CMAKE_CXX_VISIBILITY_PRESET hidden) set(CMAKE_C_VISIBILITY_P

2021-07-06 17:47:52 700

原创 混合二叉树移植java版本

混合二叉树移植java版本**安卓property_service代码移植供app开发使用(上)**安卓property_service代码移植供app开发使用(下)代码可直接去github查看重要的几个java classKVManager.java 单例模式,第三方使用者只需要关注该java累就可以了DataOper.java 真实的数据结构操作类DataArea.java 数据结构模块DataNode.java 树节点DataInfo.java 真正存储value 的类如何使用该

2021-04-23 19:34:49 83

原创 maven配置

maven配置Mac 电脑环境admin@C02D7132MD6R % vim ~/.zshrcMAVEN="/Users/admin/env/apache-maven-3.8.1"export PATH="/usr/local/opt/[email protected]/bin:/usr/local/opt/openjdk@8/bin:$MAVEN/bin:$PATH"admin@C02D7132MD6R apache-maven-3.8.1 % pwd/Users/admin/env/apache-

2021-04-20 17:46:54 85

原创 抓包 导入Fiddle crt证书至手机为安卓系统证书

抓包 导入Fiddle crt证书至手机为安卓系统证书将Fiddle everyWhere证书导出到桌面证书转换crt/der转pemadmin@C02D7132MD6R xx % openssl x509 -in FiddlerRootCertificate.crt -inform DER -out certificate.pem -outform PEMadmin@C02D7132MD6R DiskMigrate % crc32 certificate.pem d31f17c5adm

2021-04-16 19:08:07 958 1

原创 魅族手机文件删除-通知栏警告流程分析(下)

魅族手机文件删除后通知栏警告流程分析下先将魅族手机中的关键jar包pull出来贴这里MediaProvider.apk链接: https://pan.baidu.com/s/1HT4FETwg9KS_8ewctSNEiA 提取码: hwme/system/framework/framework.jar链接: https://pan.baidu.com/s/16RgA2XGlunzSxjjr8NpX7Q 提取码: meek/system/framework/services.jar链接: htt

2021-04-07 23:22:42 19846 4

原创 魅族手机文件删除-通知栏警告流程分析(上)

该篇文章讲解文件监控原理,虽然题目为魅族手机,其实监控原理与aosp源码一致,所以我先用了root的pixel 4a进行分析写了一个app-demo,进行简单的文件删除操作: File oldPath = new File("/storage/emulated/0/libs/3.txt"); try { oldPath.delete();

2021-04-07 21:55:48 1589 1

原创 安卓property_service代码移植供app开发使用(下)

安卓property_service代码移植供app开发使用(下)1.移植目标1)移植混合二叉树算法2)移植后可将property键值对改为普通的key–value。​ 安卓系统的key默认是以.分割的,其实我也建议大家移植后的key也具有某种分隔符,或者具有某种树形结构关系。否则,移植该算法也没啥用处。可支持多进程。​ 安卓系统的property_service,支持多进程设置-获取属性,只不过属性最终是通过socket的方式传给init进程进行设置的。其实我们从context上下文通

2021-03-31 21:13:44 221

原创 安卓property_service代码移植供app开发使用(上)

安卓property_service移植供app开发使用(上)源码基于aosp_7.1()位置/bionic/libc/bionic/system_properties.cpp1: 先来看官方的注释:/* * Properties are stored in a hybrid trie/binary tree structure. * Each property's name is delimited at '.' characters, and the tokens are put * in

2021-03-22 17:54:09 432

原创 镖人-手游安全分析一(mac电脑环境)

镖师-手游安全分析一(mac电脑环境)本文是第一篇,主要是要将il2cpp的符号还原。先使用7z命令,将apk解压缩,查看一下游戏使用的引擎admin@C02D7132MD6R 镖师 % 7z x base.apkadmin@C02D7132MD6R 镖师 % ls lib/arm64-v8a lib39285EFA.so libcocklogic-1.1.3.so libmilinkconnection.so libspeechengine.so libttvebase.solib

2021-03-20 20:31:46 2115

原创 Java层使用pipe完善阻塞式编程

Java层使用pipe完善阻塞式编程背景java层while循环,如果是非阻塞的循环,会极度浪费cpu资源,也会导致耗电严重,app被吐槽。Android系统层一般会使用消息通知机制,比如:looper机制,无消息时就会阻塞。linux IO多路复用linux pipe管道具体的就不多说了,我们今天的主题是java层使用pipejava层有很多阻塞类可使用,比如ConditionVariable通过源代码代码可以看到,block函数其实使用了wait, notify。作用:Conditi

2021-03-19 20:37:06 356

原创 安卓so版本ndk版本查看以及strip命令的使用

安卓so版本ndk版本查看以及strip命令的使用本人的电脑为mac,所以只谈mac使用file命令file libc++_shared.so输出:libc++_shared.so: ELF 64-bit LSB shared object, ARM aarch64, version 1 (SYSV), dynamically linked, BuildID[sha1]=e2abf2cdb6028797b0eae31bedb64809ae86fed1, with debug_info, not

2021-03-15 13:49:53 5774

原创 安卓多仓c++运行时统一规范化

多仓libc++_shared.so版本规范化c++运行时简介被墙的原因,先贴一下google的介绍C++ 运行时库表 1. NDK C++ 运行时和功能。名称功能libc++现代 C++ 支持。systemnew 和 delete。(在 r18 中已弃用。)none无头文件,有限 C++。libc++LLVM 的 libc++ 是 C++ 标准库,自 Lollipop 以来 Android 操作系统便一直使用该库,并且从 NDK r18 开始成为 N

2021-03-14 17:19:21 1584

原创 跳坑指南-git进阶

【跳坑指南-git】本篇是给使用过git的人进阶用的,没有使用过git pull, git push, git remote的人请绕过,看了也没啥用(话说的太直接了,哈哈)。 Git pull 就是从服务器下载更新,git push就是把自己的提交推送到服务器上。虽然两个命令很简单,但是其中还会有很多人遇到麻烦。不明白其中的原由,出错了也摸不着头脑。当然我也是进过坑的。 场

2017-01-13 14:25:35 301

原创 跳坑指南-linux端sshd与windows端ssh的配置

欢迎来到壮老大之跳坑指南服务器系列,这是我工作以来写的第二篇博客,请大家多多指导。本篇是关于linux作为服务器端,windows作为ssh客户端的一些配置。本篇所需要的全部工具都可以在百度云连接中下载,有任何问题可以留言,谢谢大家的支持

2016-08-24 11:08:45 1189

原创 跳坑指南-smb服务器配置

smb服务是微软的网络通讯协议,后来应用到了linux系统上。这款文件共享协议可以使得Linux与windows系统之间进行文件共享与打印功能(打印功能暂时不理解,希望读者留言指导),由于NFS可以完成linux与linux之间的文件共享,所以smb服务最适用 的场合还是linux与windows系统间的文件共享。    安装方式:        ubuntu:sudo apt-get i

2016-08-22 13:11:08 1173

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除