自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 google Android resource

google git android资源仓库:https://android.googlesource.com/github安卓资源:https://github.com/androidandroid不同系统版本源码搜索引擎:http://androidxref.com/android linker源码分析及so加壳:https://zhuanlan.zhihu.com/p/22652...

2017-04-26 16:46:28 506

转载 使用frida hook插件化apk

最近拿到一个XX视频apk样本,里面有视频、直播和小说,没有VIP只能试看30秒,刚好最近学习frida,用来练习下,分析过程中发现是一个插件化的apk,本文记录下分析的过程。初步分析首先从AndroidManifest.xml中获取到apk的包名,并且查看下activity情况:发现只有4个Activity,正常情况下一个apk肯定不止这些,所以初步怀疑这只是外...

2020-04-13 14:20:01 3618

原创 进阶Frida--Android逆向之Hook动态加载dex

https://blog.csdn.net/zouyuanxc/article/details/80922387

2020-03-18 20:21:55 1004

转载 安卓AccountManager数据库存储位置

android 7.0上AccountManager的存储也引入了此特性,对应存储位置为:/data/system_ce/0/accounts_ce.db/data/system_de/0/accounts_de.dbandroid 7.0之前版本的存储位置:/data/system/users/0/accounts.db...

2019-12-10 14:07:23 828

原创 android之文件监控

https://github.com/dstmath/inotifywait-for-Android.git 工具来进行文件监控,它是利用linux下inotify机制对文件系统进行监控的,我们可以利用它来监控某款APP的文件操作行为,比起利用hook机制来监控文件系统.(1)git clone https://github.com/dstmath/inotifywait-for-And...

2019-07-17 14:57:31 3750

转载 Android 堆栈攻击之 ARM 栈分析 + ARM汇编解读

想要劫持ARM 处理器,让它执行你想要的代码,从 ARM 栈攻击(Buffer overrun)入手,分析 ARM 栈溢出的原理,利用 ARM 汇编作为跳板指令,执行攻击程序。1. 栈 (Stack)介绍栈结构的文章网上很多,摘取一篇作为参考:http://hi.baidu.com/trical/item/585a24087f9b1a036c9048f0对ARM堆栈的理解      堆栈严格来说应...

2018-05-18 17:02:18 904

转载 Android免Root权限通过Hook系统函数修改程序运行时内存指令逻辑

一、知识回顾在之前一篇文章中,已经介绍了Android中如何修改内存指令改变方法执行逻辑,当时那篇文章的大致流程很简单,在程序运行起来,dex文件被加载到内存中之后,通过读取maps文件,获取dex文件的内存其实地址,然后通过文件头信息找到指定dex在内存中的数据结构,这里还需要详细了解Dex文件的格式,不了解的同学可以看这篇文章:Android中Dex文件格式解析,然后使用系统函数修改内存读写属...

2018-03-12 14:13:01 2491

原创 笔记

(1)/frameworks/base/core/java/com/android/internal/os/   【PathClassLoaderFactory.java】(2)/frameworks/base/core/jni/           【com_android_internal_os_PathClassLoaderFactory.cpp】(3)/frameworks/b

2018-01-25 00:15:24 175

转载 adb push时 Read-only file system的错误

adb push libxxx.so /system/lib出现错误failed to copy 'libxxx.so' to '/system/lib/libxxx.so': Read-only file system 首先adb remountadb shell后,将system 和lib文件夹的读写模式改掉, chmod 777 system再试一次就可以了

2018-01-05 19:46:11 430

原创 cm源码编译及问题

TWRP(Team Win Recovery Project )是一款非常强大的Recovery刷机工具。刷机有风险,操作之前请备份重要数据。方法一:通过fastboot刷入TWRP的方式首先去TWRP官网下载TWRP安装文件https://twrp.me/Devices/选择你需要刷入TWRP的设备,然后下载相应的刷机文件,比如选择的是Google Nexus5,

2018-01-05 19:24:37 869

转载 关于寄存器ESP和EBP的一些理解

一直对寄存器ESP和EBP的概念总是有些混淆,查看定义ESP是栈顶指针,EBP是存取堆栈指针。还是不能很透彻理解。之后借于一段汇编代码,总算是对两者有个比较清晰的理解。下面是按调用约定__stdcall 调用函数test(int p1,int p2)的汇编代码假设执行函数前堆栈指针ESP为NNpush   p2    ;参数2入栈, ESP -= 4h , ESP = NN - 4h

2017-12-27 16:47:38 316

转载 android热修复-阿里Hotfix最新版(Sophix)

Android热修复升级探索——追寻极致的代码热替换摘要: 阿里云移动热修复Sophix技术实现 。手机淘宝开发团队对代码的native替换原理重新进行了深入思考,从克服其限制和兼容性入手,以一种更加优雅的替换思路,实现了即时生效的代码热修复。前言前段时间,Android平台上涌现了一系列热修复方案,如阿里的Andfix、微信的Tinker、QQ空间的Nuva、手Q的QFix等等。

2017-12-14 20:53:52 2702

转载 从游戏脚本语言说起,剖析Mono所搭建的脚本基础

从游戏脚本语言说起,剖析Mono所搭建的脚本基础0x00 前言在日常的工作中,我偶尔能遇到这样的问题:“为何游戏脚本在现在的游戏开发中变得不可或缺?”。那么这周我就写篇文章从游戏脚本聊起,分析一下游戏脚本因何出现,而mono又能提供怎样的脚本基础。最后会通过模拟Unity3D游戏引擎中的脚本功能,将Mono运行时嵌入到一个非托管(C/C++)程序中,实现脚本语言和“引擎”之间的分离。

2017-12-01 20:04:21 775

转载 使用Mono让.NET程序跨平台运行

众所周知,Unity3D引擎凭借着强大的跨平台能力而备受开发者的青睐,在跨平台应用开发渐渐成为主流的今天,具备跨平台开发能力对程序员来说就显得特别重要。传统的针对不同平台进行开发的方式常常让开发者顾此失彼,难以保证应用程序在不同的平台都有着相同的、出色的体验,这种情况下寻找到一种跨平台开发的方式将会为解决这个问题找到一种思路。从目前的开发环境来看,Web应该是最有可能成为跨平台开发的神兵利器,可是

2017-12-01 20:02:40 2500

原创 android-apk签名

1)生成keystore文件keytool -genkey -keystore test.keystore -alias CERT -keyalg RSA -validity 2000keytool 在Java/jdk/bin 目录下(2)使用keystore进行签名jarsigner -verbose -keystore test.keystore -signedjar aa_s

2017-10-19 14:45:24 157

原创 ida动态调试

(1)将IDA/dbgsrv目录下android-server;adb push /home/xxx/IDA/dbgsrv/android_server /data/local/tmp下;(2)打开adb shell; cd /data/local/tmp(3)输入su命令;chmod 777 ./android_server;然后启动./android_server;(4)打开新终端

2017-09-30 16:30:16 492

转载 Android进程的内存管理分析

转载地址:http://blog.csdn.net/linghu_java/article/details/39480761/最近在网上看了不少Android内存管理方面的博文,但是文章大多都是就单个方面去介绍内存管理,没有能全局把握,缺乏系统性阐述,而且有些观点有误。这样对Android内存管理进行局部性介绍,很难使读者建立系统性概念,无法真正理解内存管理,对提高系统

2017-09-13 16:40:00 204

转载 基于Android的ELF PLT/GOT符号重定向过程及ELF Hook实现

#引言写这篇技术文的原因,主要有两个:- 其一是发现网上大部分描述PLT/GOT符号重定向过程的文章都是针对x86的,比如[《Redirecting functions in shared ELF libraries》](http://www.codeproject.com/Articles/70302/Redirecting-functions-in-shared-ELF-libra

2017-09-08 14:19:24 525

转载 查看android进程信息

http://blog.csdn.net/ynnmnm/article/details/38417829打开adb shell,直接ps命令如果查看某特定进程,比如《圣火英雄传》,用grep过滤各列参数意义:USER        进程当前用户;PID             Process ID,进程ID;PPID          Pro

2017-08-19 17:52:57 1584

转载 git切换到非master分支

首先, clone 一个远端仓库,到其目录下:$ Git clone git://example.com/myproject $ cd myproject然后,看看你本地有什么分支:$ git branch * master但是有些其他分支你在的仓库里面是隐藏的,你可以加上-a选项来查看它们:$ git branch -a* master orig

2017-08-19 11:44:47 991

转载 彻底理解android中的内部存储与外部存储

我们先来考虑这样一个问题:打开手机设置,选择应用管理,选择任意一个App,然后你会看到两个按钮,一个是清除缓存,另一个是清除数据,那么当我们点击清除缓存的时候清除的是哪里的数据?当我们点击清除数据的时候又是清除的哪里的数据?读完本文相信你会有答案。在android开发中我们常常听到这样几个概念,内存,内部存储,外部存储,很多人常常将这三个东西搞混,那么我们今天就先来详细说说这三个东西是怎么

2017-07-28 20:38:29 338

转载 如何运行smali文件?

smali 是Android 应用程序(*.apk)反编译生成的文件格式, 是一种类似于汇编语言的底层计算机语言。阅读和书写smali语法都需要极大的耐心和勇气, 本文将介绍如何反编译和运行第三方的程序(smali)代码。什么是smali 文件Android程序文件, 即apk文件, 其实是一个zip压缩包, 其文件结构如下:其中, classes.dex是程序的核心文件,

2017-07-28 16:45:34 3116

转载 inlineHook

简单来说,就是修改函数体实现部分。但是如何来修改,这样修改的意义又是什么?我今天一直在寻找一个比较好的方式来说明白如何进行InlineHook,画了几次图,试了好几个工具,最后完成了一个流程,希望大家能看明白。图片:说明:左上的图片这个结构是我们在代码中写入的一个函数代码如下:[cpp] view plain copy p

2017-07-27 17:59:56 319

原创 android elf解析Elf_Dyn标识符号

DT_NULL Marks end of dynamic sectionDT_NEEDED String table offset to name of a needed libraryDT_PLTRELSZ Size in bytes of PLT relocsDT_PLTGOT Address of PLT and/or GOTDT_HASH Address o

2017-07-25 17:59:28 755

转载 深入理解Java虚拟机

什么是Java虚拟机作为一个Java程序员,我们每天都在写Java代码,我们写的代码都是在一个叫做Java虚拟机的东西上执行的。但是如果要问什么是虚拟机,恐怕很多人就会模棱两可了。在本文中,我会写下我对虚拟机的理解。因为能力所限,可能有些地方描述的不够欠当。如果你有不同的理解,欢迎交流。我们都知道Java程序必须在虚拟机上运行。那么虚拟机到底是什么呢?先看网上搜索到的比较靠谱的

2017-06-01 15:02:28 267

转载 JNI 与AIDL

JNI:为什么需要JNI:因为android是由【JAVA & C/C++】组成。Java运行在Dalvik虚拟机中。没有办法直接访问底层硬件。底层HW相关目前技术一般都用C语言,不会用java,C速度也比较快。怎么从JAVA语言传送数据到C语言中:                          1. java中会调用native标识的函数,这个函数就是经典了。2.

2017-06-01 13:46:13 3309

转载 C/C++跨平台的的预编译宏

Please send updates/corrections to predef-contribute.AIXTypeMacroDescriptionIdentification_AIX Version_AIX'VR'V = VersionR = RevisionIdentification__TOS

2017-05-19 15:00:56 1346

原创 LLDB常用命令

LLDB常用命令print (p)打印命令,打印变量以及其值:p chars (char [10]) $0 = "i am test"po 仅打印变量的值:po chars "i am test"call 就是调用的意思,上述po和p也有调用的功能。一般只在不需要显示输出,或是方法无返回值时使用。例如定义一个变量int p=0,使

2017-05-17 20:20:14 353

原创 linux下的openssl配置及纠错

因工程中需要用到https服务器证书来进行验证。需要用到openssl三方库来进行解析。(1)首先下载openssl,地址是https://www.openssl.org/source/;然后解压后进入openssl-1.1.0e该目录下,进行编译./config,然后make,这样生成了两个libcrypto.a和libssl.a静态库以及.so的动态库,工程里使用的是静态库。(2)将静

2017-05-17 20:08:10 577

转载 页的概念

基本概念In the context of computer virtual memory, a page, memory page, or virtual page is a fixed-length block of main memory that is contiguous in both physical memory addressing and virtual memor

2017-05-12 14:47:35 2500 1

转载 std::function与std::bind 函数指针

function模板类和bind模板函数,使用它们可以实现类似函数指针的功能,但却却比函数指针更加灵活,特别是函数指向类 的非静态成员函数时。std::function可以绑定到全局函数/类静态成员函数(类静态成员函数与全局函数没有区别),如果要绑定到类的非静态成员函数,则需要使用std::bind。[cpp] view plain copy #includ

2017-05-11 14:55:14 351

转载 智能指针之unique_ptr

1. 智能指针概念智能指针是基于RAII机制实现的类(模板),具有指针的行为(重载了operator*与operator->操作符),可以“智能”地销毁其所指对象。C++11中有unique_ptr、shared_ptr与weak_ptr等智能指针,可以对动态资源进行管理2. unique_ptr概念unique_ptr“唯一”拥有其所指对象,同一时刻只

2017-05-11 14:33:08 274

转载 Linux中ELF格式文件介绍

ELF(Executable and Linkable Format)即可执行连接文件格式,是一种比较复杂的文件格式,但其应用广泛。与Linux下的其他可执行文件(a.out,cof)相比,它对节的定义和gnu工具链对它的支持使它十分灵活,它保存的足够了系统相关信息使它能支持不同平台上的交叉编译和交叉链接,可移植性很强.同时它在执行中支持动态链接共享库。 通过本文,可以大致了解Linux系

2017-05-10 16:16:42 234

转载 X86上的Android:性能与兼容可否兼得?

http://www.leiphone.com/news/201406/x86.html2013-05-11 08:34 原创 igao7-肥威 21条评论 编者按:自从CES2012上Intel发布了针对移动市场的Medfield平台以来,市面上出现过一些基于X86的Android手机。它们甚至能在部分测试中实现单核战双核,双核战四核,那X86手机实际应用情况又真的是

2017-05-08 12:49:40 1300

原创 android studio下,如何减少编译生成的jni动态库的大小。

用androidstudio编译jni生成动态库发现比原先的要大。(1)用readelf -SW "动态库名"可以看到动态库里的信息;发现有需要.debug信息段。(2)用命令arm-linux-androideabi-strip --strip-all "动态库名";对动态库中的.debug信息进行裁剪。(3)在android studio中的Application,mk选项中添加 

2017-05-04 19:39:41 4722

转载 Android的内存性能分析工具

概述: Heap Viewer, Memory Monitor和AllocationTracker是附加的三种可以帮助你可视化APP内存用量的工具.1.      使用Memory Monitor Tool可以找出是否有良的垃圾回收(GC)事件可能会导致APP的性能问题.2.      运行Heap Viewer可以识别出那些不必要的或意外的对象类型. 3.      使用Allo

2017-04-26 11:44:41 482

转载 在 JNI 编程中避免内存泄漏

JAVA 中的内存泄漏JAVA 编程中的内存泄漏,从泄漏的内存位置角度可以分为两种:JVM 中 Java Heap 的内存泄漏;JVM 内存中 native memory 的内存泄漏。Java Heap 的内存泄漏Java 对象存储在 JVM 进程空间中的 Java Heap 中,Java Heap 可以在 JVM 运行过程中动态变化。如果 Java 对象越来越多,占据 Java He

2017-04-25 17:01:34 173

转载 理解AES对称加密

很多人对于AES加密并不是很了解,导致互相之间进行加密解密困难。 本文用简单的方式来介绍AES在使用上需要的知识,而不涉及内部算法。最后给出例子来帮助理解AES加密解密的使用方法。AES的麻烦相比于其他加密,AES加密似乎模式很多,包括ECB、CBC等等等等,每个模式又包括IV参数和Padding参数,并且,不同语言对AES加密的库设计有区别。这些导致AES加密在不同人之间联调会很麻烦

2017-04-20 17:05:55 1182

转载 Android Studio配置NDK

Android Studio2.2 配置NDK本文博客链接:http://blog.csdn.net/jdh99,作者:jdh,转载请注明.环境主机:WIN10开发环境:Android Studio2.2 Preview 3步骤安装NDK 打开Tools->Android->SDK Manager->SDK Tools选中LLDB和NDK,点击确认,软件会自

2017-04-19 16:49:05 401

转载 android利用MediaCodec硬解码

H264是目前最常用的视频压缩格式之一,可以将视频、图片、音频等转换为字符串流形式,以此可以进行再次编辑、传输等。详情参考http://blog.csdn.net/lcalqf/article/details/42556219。在Android里,最常用的视频编码解码用的API就是mediacodec了,可以进行多种格式的硬解码,也能和mediamuxer一起使用实现音视频文件的编辑(结合

2017-02-09 16:10:37 1773

空空如也

空空如也

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

TA关注的人

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