
Android
文章平均质量分 53
Rorschach321
Android安全方向,区块链爱好
展开
-
Ubuntu16系统Android6.0编译实战(解决OPENJDK7安装问题)
安装VMware先安装VMware16.0提示:failed to install USB inf file 和 failed to install the hcmon driver换成15.0版本成功AOSP环境及系统源码下载主要参考:https://source.android.google.cn/setup/downloading?hl=zh-cn下载对应6.0分支源码执行下载命令:repo init -u https://android.googlesource.com/platfo原创 2021-11-04 09:57:51 · 494 阅读 · 0 评论 -
Android应用中捕捉所有点击事件实现
一、思路(1)获取Activity对象;(2)遍历所有子控件;(3)注册点击事件。二、实现(1)获取Activity对象activity对象的获取可以考虑多个方面,从两个方面进行选择:①获取当前运行的activity对象 @TargetApi(Build.VERSION_CODES.KITKAT) public static Activity getRunningAc...原创 2019-11-18 14:33:13 · 2480 阅读 · 3 评论 -
android私有目录直接读取
一、说明Android应用或游戏在数据持久化时,一般会将文件写入到sdcard或者私有目录files目录下,也可以直接在私有目录下新建文件夹进行存入。如:/storage/emulated/0/Android/data/[package name]//storage/emulated/0/Android/data/[package name]/files//data/user/0/[pa...原创 2019-10-24 09:42:00 · 3496 阅读 · 0 评论 -
Dex文件格式扫描器:特征API的检测和扫描(小工具一枚)
之前由于工作需求,会分析大量APP的某些特殊API,对特殊API分析每次都需要打开JEB->查找特定API->分析流程….无奈APP是无穷的,而精力是有限的。于是发挥了人类最本能的天性——偷懒,既然想偷懒了,就让计算机帮助分析,于是写了个小工具来做上面的需求。其实不外乎就是对Dex文件格式的解析,然后根据API特征进行扫描,把调用的类和方法输出,接下来就会针对输出的信息,在逐个分析利用。既然是解析刚原创 2017-03-13 17:22:04 · 3062 阅读 · 5 评论 -
手游外挂入侵(一)某助手加速器实现原理探究
- 简介下载ghzs商店,搜索相应游戏即可下载,下载后安装运行,游戏中就会多出一个加速工具助手。实现过程探究打开游戏包查看发现dex中加入了com.gh.XXX相关的类,应该是将Dex重打包,加入了他们的SDK代码,然后他们SDK会加载cydia substrate框架的inline hook动态库和根据游戏定制的加速器动态库。原理分析① Inline hook libmono.so中的两个方法原创 2017-12-21 20:04:47 · 15100 阅读 · 6 评论 -
某密手游保护简略
简单分析了下某密针对手游推出的保护功能,看看强度如何。功能测试:简单测试了下,这款游戏是U3D的,对DLL做了静态加密,对常见的修改器、加速器做了检测,有多进程保护阻止了暂停、调试等功能。详细分析:DLL加密 关键DLL做了整体加密,在动态运行时进行解密,但是加密的强度真的需要吐槽下,并且没有对mono动态库做任何处理,导致很容易找到解密代码,而且加密的算法一眼看出来就是差不多字节映射查表就能解决原创 2018-02-07 19:40:58 · 1203 阅读 · 1 评论 -
MyCrackMe(一)ExecuteTable
参加看雪CTF2018出的一道题目,比赛后放出write up。 题目下载地址: https://github.com/Rorschach123/RorschachCrackMe/blob/master/com.rorschach.executetable.apk比赛链接: https://ctf.pediy.com/game-fight-59.htm...原创 2018-06-24 16:59:22 · 385 阅读 · 0 评论 -
MyCrackMe(二)ExecuteTable题目设计与破解思路
0x00 题目类型: Android的CrackMe(ExecuteTable.apk,签名: 38e1ec0e)0x01 题目设计 将serial加密成一串字符串,与已保存字符串比较得到结果,需要分析加密算法,然后根据加密算法写出解密算法;题目中采用的加解密算法不需要太多的分析便能理清流程,关键点在于理清楚加解密的流程,涉及的相关功能点:(1)GOT表Hook了JNI_OnLoad,...原创 2018-06-26 16:43:58 · 320 阅读 · 0 评论 -
Mono源码编译遇到的坑点
按照此文搭建的环境: https://blog.youkuaiyun.com/android_machong/article/details/777717671、ndk-build加入系统环境 文章没有说完整,加入系统环境变量的方式比较多,可以自行百度。2、注意NDK的版本以及对应系统 ①是将windows下的ndk直接复制使用,发现有问题,定位到一处路径不对,对应的是windows的,还是需要...原创 2018-07-02 16:42:09 · 1245 阅读 · 0 评论 -
手游外挂入侵(三)外挂接口服务提供
简介手游市场的发展增大,用户增多,寻求外挂的玩家用户增大,外挂市场也意识到外挂开发者在大量的涌进,绝大多数开发者有着编程的基础,都能够写点脚本开发外挂,那么商人们就开始着手底层,通过找寻到的“专业人士”开发底层框架,提供接口供上层开发者调用,把逻辑的实现交给他们。 遇到了一个框架类定制的外挂,外挂作者通过该框架实现了一套自动化点击的脚本,完全无需人工进行操作。这类方式的实现,将底层深...原创 2018-07-02 18:17:13 · 10353 阅读 · 4 评论 -
Android Q SEAndroid 执行可执行文件提示权限不足
一、问题描述部分APP调用exec执行应用私有目录和files目录下可执行文件提示权限不足。二、问题分析1、对比可以执行的APP和不可以执行的APP的区别应用可执行的情况:应用不可执行的情况:2、android Q权限机制变更的说明3、捕获异常分析捕获到一条关键LOG:E SELinux : avc: denied { execute_no_trans} forcom...原创 2019-08-28 12:25:09 · 4498 阅读 · 0 评论 -
Android中GOT表HOOK手动实现
网上对于Android中各种HOOK的实现都有很多的介绍了,之前看懂了原理相关的东西,一直没有去尝试手动实现,最近刚好想起就手动实现了一下,简单尝试记录下实现过程以及坑点。如何理解HOOK? 我理解的HOOK就是去动态的修改代码段中相关跳转地址或者指令,执行我们的代码,然后跳转回去接着执行。那既然这样,肯定要保证动态修改的操作先于该函数被执行,因此一般会将HOOK代码放在比较靠前被执行的地方,如i原创 2017-11-17 19:15:42 · 4937 阅读 · 7 评论 -
Android中GOT表HOOK手动实现续
上篇实现了GOT表的手动HOOK,这里需要说明一下,GOT表其实包含了导入表和导出表,导出表指将当前动态库的一些函数符号保留,供外部调用,之前针对HOOK的就是这种类型的函数。而针对导入表,这样的做法显然不行的,导入表中的函数实际是在该动态库中调用外部的导出函数。导入表在对应在动态链接段.got.plt(DT_PLTGOT)指向处,但是每项的详细是和GOT表中的表项对应的,因此,在解析动态链接段时,原创 2017-11-29 19:05:59 · 1393 阅读 · 0 评论 -
NDK层获取Application对象
参考了一位大牛的博客,在Java层通过RuntimeInit获取的方式实现的,先贴原链接:http://blog.youkuaiyun.com/l173864930/article/details/46919457https://github.com/boyliang/Hijack_AMS_broadIntent说明缘由,可能会有人提出调用NDK层方法时,自动会获得JNIEnv指针和j原创 2016-11-30 15:18:42 · 2683 阅读 · 0 评论 -
Android中模拟点击软件的实现原理探究
简介按键触摸类模拟点击软件最早开始于PC时代,指的是可以通过设置、脚本控制等方式去实现模拟点击,解放双手,达到自动化操作的目的。在Android中,模拟点击对应的就是触发屏幕点击事件,多用于游戏中完成自动化操作、应用中抢红包等操作,随着现在的技术更新,一些模拟点击实现的方式也开始使用了一些特殊的技巧。从触屏到执行首先看一个完整点击操作背后的流程(图1来自网络): 图1 屏幕点击完整流程从用原创 2017-08-21 14:29:04 · 14375 阅读 · 3 评论 -
Android 系统调用实现函数功能--SVC指令的实现与检测
0x0 简述: arm android中通过一些反编译的工具分析ELF文件时,根据一些导入的系统函数可以很轻松的找到一些功能代码的实现:查看libc中分析这些函数的实现: arm中通过SVC指令实现的系统调用因此利用这一点应用中加入了类似的实现操作,隐蔽掉调用系统函数的符号,增加分析难度: 0x1 实现: 以getpid为例修改调用方式,获取pid原本通过系统API getpid获取,修原创 2017-07-31 14:09:47 · 8307 阅读 · 2 评论 -
Android 7.0 dlopen的不同
在逆向分析某代码时,get到一处有点差异的地方。开始觉得很奇怪,判断了dlopen返回值最后一位,若为1则知道版本7.0以后,查看源码分析后才知,7.0之后dlopen代码做了一些改动,而该判断是否为7.0前后版本依据为如下源码: 为什么要这样做呢,主要是7.0开始不再允许获取soinfo对象,贴一下大概流程以及依据: 6.0: dlopen -> dlopen_ext:返回soinfo* r原创 2017-07-17 18:51:53 · 6521 阅读 · 4 评论 -
Android Linker(二) Soinfo的创建-----动态库的加载链接
阅读源码版本:6.0.1阅读工具:Android Studio 2.2.2 Notepad++参考链接:http://www.tuicool.com/articles/AfMZRbZhttp://docs.oracle.com/cd/E19253-01/819-7050/6n918j8nq/index.html#chapter6-71736 上层调用的终点找到了,之后就开原创 2017-03-06 15:40:12 · 3655 阅读 · 0 评论 -
Android Linker(一) 从loadLibrary开始-----上层调用流程
阅读源码版本:6.0.1阅读工具:Android Studio 2.2.2 Notepad++参考链接:http://www.tuicool.com/articles/AfMZRbZhttp://docs.oracle.com/cd/E19253-01/819-7050/6n918j8nq/index.html#chapter6-71736 网上已经有很多写的不错的分原创 2017-03-03 11:39:01 · 1746 阅读 · 0 评论 -
一次面试
面试经历原创 2017-04-08 19:17:26 · 703 阅读 · 0 评论 -
Android双进程保护实现的思考及过程说明
采用双进程的方式,对父进程进行守护,基于信号的发送和接收,实现相互的守护防止被动态攻击。双进程进程守护主要功能: 1、守护父进程,ptrace所有线程,防止被附加、调试、暂停; 2、保护子进程,防止被暂停、异常退出;对应说明图: 不足之处与修补思考: 子进程未被ptrace,可以通过向子进程注入并ptrace PTRACE_DETACH实现解除反附加改进: 减少对主进程其中一个线程的附加,原创 2017-10-16 12:31:43 · 1588 阅读 · 0 评论 -
Android 执行JAR包
简单几步操作在android中执行jar工程中新建New Module 选择Android Library 在模块对应java路径下添加类,然后make module,生成aar文件 解压aar得到jar包,注意该jar包还是java字节码的,需要转换下,通过Sdk\build-tools\XXXXXX\dx.bat命令,转换为android可用的jar包 将jar包push到手机执行执行j原创 2017-09-15 20:01:00 · 5995 阅读 · 3 评论 -
Mono源码阅读--加载文件
Mono是微软提供了实现.Net框架跨平台的项目,Unity3D中使用C#脚本进行开发就是基于Mono的。注意:本文阅读的Mono源码版本对应为3.8.0。提到U3D中使用Mono加载DLL,不得不说到的一个函数就是mono_image_open_from_data_with_name,因为该函数作为DLL加载必须经过的流程,可以很好地被用来对DLL进行解密的操作,目前市面上很多针对DLL文件的保护原创 2017-11-11 17:49:47 · 2554 阅读 · 0 评论 -
踩过Local Socket的一些坑--C与JAVA的内部通信
Android中的本地套接字(Local Socket),主要用于进程或者线程间的通信,实现的方式类似于socket,但其实是对Linux中Socket进行了封装,具体的内容可以随便搜一下,有很多相关的教程,这里主要记录下实现的过程中遇到的很多问题。Java层实现Server:try { localServerSocket = new LocalServerSocket(原创 2016-12-14 15:04:58 · 9028 阅读 · 1 评论