文章目录一.准备工作二.预览1.启动2.开始测试3.测试完成三.源码四.总结 有一个多月没发关于GUI的博客了,本次使用Tkinter制作一款安卓自动测试GUI,能够帮我们自动测试指定目录下的所有.apk文件,生成测试报告。一.准备工作Python本次主要用到Tkinter、os、re、subprocess、webbrowser、threading、xlwt等依赖库,有些需要自己手动安装一下。模
转载
2023-08-15 08:13:07
118阅读
实现目标系统:Android 4.2.2 平板 功能:将一段dex代码注入到HelloWord APP中,dex对应的java代码要求能够拦截目标APP中的onPause与onResume 回调,输出打印。基本原理其实原理在各路大牛的文章里面已经解释的很清楚了,这里再不厌其烦的絮叨絮叨,主要是捋一捋思路,别整乱喽。 1.获得root权限后,通过ptrace()注入到
转载
2024-08-15 10:29:45
87阅读
*注入分类我们平时所说的代码注入,主要静态和动态两种方式·静态注入,针对是可执行文件,比如平时我们修改ELF,DEX文件等等,相关的辅助工具也很多,比如IDA、JEB、ApkTool等等;· 动态注入,针对是进程,比如修改进程的寄存器、内存值等等;动态跟静态最大的区别是,动态不需要改动源文件,但需要高权限(通常是root权限),而且所需的技术含量更高。· 本质动态注入技术,本质
转载
2023-07-24 12:56:16
289阅读
继续
在前
《一》、
《二》、
《三》里已经把注入的技术介绍完了,这章开始说注入之后需要做的事情。如果对注入技术已经比较熟悉了,那么可以直接看本章,否则建议先把前三章阅读一遍会比较好。
注入之后
完成了注入,那只是万里长征的第一步。
众所周知,Android的应用进程,都是由Zygote孵化的子进程,每个进程都运行在独立的JVM中。通过ptrace的注
转载
2023-09-01 07:24:48
287阅读
作 者: ImaxAndroi
LBE 安全大师Android 4.4分析 基本信息 应用名 :LBE安全大师 5.1 包MD5 :5a1d8b24218ee39b399277df2f3fa840 关键字 :Root、android、SELinux 分析原由 android 4.4中将SELinux的配置由 4.3中默认值per
转载
2024-05-03 20:30:42
17阅读
一、Zygote, 意为“受精卵”,Android系统中几乎所有的应用进程都是由Zygote进程孵化出来的,Java环境也是由Zygote创建起来的,它建立了我们app运行所需要的环境,是app的祖先,因此,分析它的启动以及内部逻辑显得非常有必要。 *Android系统是基于Linux内核的,而在Linux系统中,所有的进程都是init进程的子孙进程,也就是说,所有的进
转载
2023-09-19 19:21:00
2189阅读
1.在AndroidManifest.xml中注册<receiver android:name=".MyReceiver">
<intent-filter >
<action android:name="myaction"/>
</intent-filter>
转载
2024-04-24 10:08:53
38阅读
依赖注入:目标类(目标类需要进行依赖初始化的类)中所依赖的其他的类的初始化过程,不是通过手动编码的方式创建,而是通过技术手段可以把其他的类的已经初始化好的实例自动注入到目标类中。dagger在使用过程中的核心就是java注解 @Inject Inject主要有两个作用,一个是使用在构造函数上,通过标记构造函数让Dagger2来使用(Dagger2通过Inject标记可以在需要
转载
2023-08-14 22:56:49
85阅读
一、基本概念依赖注入(DI)和控制反转(IOC):依赖注入是从应用程序的角度在描述,可以把依赖注入描述完整点:应用程序依赖容器创建并注入它所需要的外部资源;而控制反转是从容器的角度在描述,描述完整点:容器控制应用程序,由容器反向的向应用程序注入应用程序所需要的外部资源。使用依赖注入可以带来以下好处:依赖的注入和配置独立于组件之外。因为对象是在一个独立、不耦合的地方初始化,所以当注入抽象方法的时候,
转载
2023-09-11 16:05:46
79阅读
Dagger 2.10 新增了 Android Support 和 Android Compiler 两大模块。对我们来说,本次改动非常之大,所有 Android 开发者都应尽早尝试使用这个新的 Android 依赖注入框架。在我开始介绍新的 AndroidInjector 类以及 Dagger 2.11 库之前,如果你对 Dagger 2 还不熟悉甚至之前根本没用过,那我强烈建议你先去看看 Da
转载
2024-01-22 18:04:40
160阅读
今天要介绍的是SQL注入实验。SQL注入攻击的学习,我们更多的目的是为了学习攻击技术和防范策略,而不是刻意去攻击数据库。首先我们先进入实验地址实验:SQL注入(合天网安实验室)SQL注入是一种代码注入技术,过去常常用于攻击数据驱动性的应用,实质就是将恶意的SQL代码注入到特定字段用于实施拖库攻击等。SQL注入的成功必须借助应用程序的安全漏洞,例如用户输入没有经过正确地过滤(针对某些特定字符串)或者
转载
2023-09-15 15:09:22
23阅读
So注入工具TsoInject开发文档导语:作为一个软件安全从业者而言,我们需要对某个App的关键函数就行Hook, 对于android而言,Smali层我们使用Xposed Hook框架,So层我们可以使用Cydia Substrate框架, Smali 层的Hook由于Xposed做的很好了, 但是关于Cydia Substrate对So的Hook使用期来很不好用,Cydia Substrat
转载
2023-08-08 11:59:09
177阅读
刚开始学习软件工程的时候,我们经常会碰到像这样的事情:软件应该符合 SOLID 原则。但这句话实际是什么意思?让我们看看 SOLID 中每个字母在架构里所代表的重要含义,例如:S - 单职责原则O - 开闭原则L - Liskov 替换原则I - 接口分离原则 D - 依赖反转原则 这也是依赖注入dependency injection的核心概念。简单来说,我们需要提供一个类,这个类有它
一、前言Android 的 UI 自动化测试可以通过注入式和非注入式分别实现,通过注入式可以更加方便地与应用进行交互。QTA 团队提供的 Android UI 自动化测试框架QT4A, 是通过动态注入的方式来获取被测应用的控件树信息等,从而达到自动化测试的目的。本文主要介绍该动态注入的原理。二、Android 动态注入概述QT4A 中的动态注入是借助 ptrace 函数,该函数常用于断点调试或系统
转载
2023-08-04 17:33:13
362阅读
目录Docker+Jenkins+AndroidDockerDocker 架构Docker运用场景Docker的三个概念Image(镜像)Container(容器)Repository(仓库)Docker视频地址JenkinsJenkins中文教程文档安装(简单粗暴)docker安装jenkins安装附加Docker命令Android自动化编译部署配置工程配置Android SDK配置Gradl
转载
2023-12-11 20:21:57
108阅读
-0x1:20180927更新:1.更新了0x5 part的源码,之前的源码链接不知何时失效了,(别问了,懒,笨,还不上进,不知道啥是git)2.解决了某些机型,在mprotect的时候由于权限不够而导致的失败。就是在声明的时候把结构体声明到.text段就好了,具体如下3.emmm...另外这个源码的下载不知道啥时候又会失效,有缘再见...0x0前言现在很多安全插件,都会用本地文件和系统的内存进行
转载
2023-10-29 10:05:40
148阅读
一、前言从这篇開始咋们開始一个全新的静态方式逆向工具icodetools的实现过程。这个也是我自己第一次写的个人认为比較实用的小工具,特别是在静态方式逆向apk找关键点的时候。兴许会分为三篇来具体介绍这个工具实现:第一篇:开凿篇,简介实现原理以及简单的初次方案实现简单的apk注入代码功能第二篇:填坑篇。这一篇是在前一篇的基础上对工具的优化,能够应对市面上大部分的apk代码注入功能实现第三篇:生产篇
2.3 Yang Okhttp 拦截器思路讲解接下来我们分析Yang大佬的Frida实现okhttp3.Interceptor[1]。代码完整如下,建议使用该份代码测试:function hook_okhttp3() {
// 1. frida Hook java层的代码必须包裹在Java.perform中,Java.perform会将Hook Java相关API准备就绪。
转载
2024-08-10 14:11:15
111阅读
运动健身、早睡早起、三餐规律、多读好书并保持输入输出,如果你真的想不明白自己要什么,做这些永远不会错。坚持一年,就算你还是没有目标,也能有一个好的身体、博学的脑袋,这些足以让你超越80%的同龄人。前言最近因为工作需要,需要使用代码注入的功能,这里简单介绍下代码注入的流程和心得。这篇文章主要是包含了我收集的一些有用的东西,没有其他的一些具体分享。 文章目录前言前置知识JavaClass文件的结构Ja
转载
2024-04-30 01:41:05
85阅读
android平台的so注入技术LD_PRELOAD注入LD_PRELOAD是linux的系统环境变量,因为android基于linux内核所以此环境变量依然存在。当linker初始化时会获取首先获取LD_PRELOAD指向的so库然后再获取elf文件的其他依赖库,所以LD_PRELOAD指向的so库是最先加载的。linker在对elf可执行文件进行重定位时会根据so库的加载顺序去寻找导出函数,所
转载
2023-06-08 11:22:53
337阅读