
安卓
文章平均质量分 51
人工智能-肥鹅
这个作者很懒,什么都没留下…
展开
-
Native层和Java层frida打印调用堆栈
方法2.根据需求修改类名和方法名。二、打印native层调用栈。一、Java层打印调用堆栈。原创 2022-09-19 10:27:26 · 3714 阅读 · 0 评论 -
看雪2W课-Frida逆向与利用自动化 Frida开发和调试环境搭建 课时1
该配置项会从ProxyList中随机选择代理IP来运行流量,如果ProxyList中有多个代理IP,在使用proxychains的时候会使用不同的代理访问目标主机,从而使主机端探测流量更加困难。:改配置为ProxyChains的默认配置,不同于dynamic_chain,也能够通过ProxyList中的每个代理运行流量,但是如果ProxyList中的代理出现故障,不会自动切换到下一个。的为基本常用命令,local更改版本后,在root用户下使用的还是系统默认版本python。原创 2022-09-09 17:57:13 · 1686 阅读 · 0 评论 -
看雪2W课-NDK开发详解 java反射思维和NDK开发 课时3
1、java反射机制Java反射机制就是在运行状态中,对于任意一个类,都能够知道这个类的所有属性和方法;对于任意一个对象,都能够调用它的任意一个方法和属性;这种动态获取的信息以及动态调用对象的方法的功能称为java语言的反射机制。静态编译:在编译时确定类型,绑定对象;动态编译:在运行时确定类型,绑定对象;2、java反射优缺点优点:能够在运行时动态获取类的实例,提高灵活性;缺点:使用反射性能较低,需要解析字节码,将内存中的对象进行解析;相对不安全。...原创 2022-08-30 16:51:49 · 406 阅读 · 0 评论 -
Xposed插件的编写
IXposedHookZygoteInit接口实现了ZygoteInit阶段的hook能力,用于在Zygote进程启动之前执行相关代码,framework里的东西一般再这里改。IXposedHookInitPackageResources接口实现了加载app资源时的hook能力,用于修改app的一些资源,比如布局文件什么的。当你的面具为Zygisk模式时,想要hook系统函数必须继承IXposedHookZygoteInit接口,否则无法成功hook。具体的编写脚本前准备,网上有很多,这里不在赘述。...原创 2022-08-15 13:18:43 · 1294 阅读 · 0 评论 -
猿人学-Android端爬虫比赛第四关【grpc】解题笔记
一、了解grpcgRPC是 Google 2015 开源的一个高性能, 跨语言的 RPC 框架, 基于ProtoBuf(Protocol Buffers) 序列化协议开发,且支持众多开发语言。二、抓包什么都别说,先抓个包,看看情况。发现charles无法抓取请求。看不到路径和参数。换一个方式吧,使用这个开源的抓包工具。GitHub - r0ysue/r0capture: 安卓应用层抓包通杀脚本安卓应用层抓包通杀脚本. Contribute to r0ysue/r0capture development by原创 2022-06-08 17:33:56 · 729 阅读 · 0 评论 -
猿人学-Android端爬虫比赛第五关【双向认证】解题笔记
一、知识点:单向认证:服务端向客户端发送CA证书,并用证书中的公钥对随机数加密使其成为通信秘钥双向认证:服务端和客户端都有CA证书,并向对方发送,服务端选择加密方案让客户端进行加密密钥。以上认证可以使用中间人抓取数据。为了防止中间人抓取又出现了:SSL-pinningSSL-pinning有两种方式证书锁定(Certificate Pinning):客户端代码内置仅接受指定域名的证书.公钥锁定(Public Key Pinning):提取证书中的公钥并内置到客户端中,通过与服务器对比公钥值来验证连接的正确原创 2022-06-02 16:49:58 · 908 阅读 · 2 评论 -
猿人学-Android端爬虫比赛第二关【so层加密】解题笔记
一、基础环境可参看第一关内容二、实战:打开fiddler抓取翻页请求这次我们不能再使用"page="关键字搜索了。 第一题中有:name = "第一题,我们直接jadx中搜索:name = "第二题"来到第二题代码处,观察代码发现和第一关基本一致,但sign函数是在native层:打开IDA找到sign在native层的名字并进行hook,查看它传入的参数:导出函数中直接可以找到。开始hookfunction hook_native(){ var bas..原创 2022-05-20 15:21:14 · 813 阅读 · 1 评论 -
猿人学-Android端爬虫比赛第一关【java层加密】解题笔记
一、环境frida 12.8.20python 3.8.10jadx-gui-1.2.0fiddler二、实战步骤:1、安装APP,来到第一关,翻页时抓包jadx打开APP 。根据page= 查找到 com.yuanrenxue.match2022.fragment.challenge.ChallengeOneFragment 类此处有sign函数,很大几率为翻页调用函数,hook当前函数查看 this.page 和oooOO0O.OooO00o().long..原创 2022-05-19 12:06:15 · 659 阅读 · 0 评论 -
看雪3万课程笔记-FRIDA高级API实用方法:主动调用so函数
一、简介:本节为延伸内容,本节使用APP为攻防世界: APP漏洞第二题.apk二、实战:1、jadx-gui 打开,查看 MainActivity 定位关键代码:来到SecondActivity类导出窗口直接搜索doRawData,.mytext 代码无法F5 查看伪代码,选中代码下拉后按P 解析成函数。箭头处为秘钥,此时我们 根据java层的if对比"VEIzd/V2UPYNdn/bxH3Xig==" 进行解密得出:aimagetencent但这并不是我..原创 2022-05-17 18:19:54 · 2344 阅读 · 4 评论 -
ARM汇编(二)访存指令和实践
ARM访存指令:LDR R0, [R1] #寻址必须有基址寄存器,r1为基址寄存器LDR R1,[R0,#4]! R0地址偏移4的值给R1,!为附加操作,执行完前面的操作后 把地址写入R0 R1 = [地址+偏移]的值 R0 = [地址+偏移]的地址例如:当前寄存器:R0:B6EBB93CR1:B86D1410当前机器指令:B6EBB940 04 70 A0 E3指令:LDR R1,[R0,#4]!执行后:R0:B6EBB940R1:E3A07004L...原创 2022-05-05 16:55:23 · 2220 阅读 · 0 评论 -
自己编译安卓系统实践
一、需要的环境和信息来源版本号与驱动匹配表:https://developers.google.com/android/drivers#hammerheadmra58kandroid细分版本号:https://source.android.com/setup/start/build-numbers?hl=zh_cn编译环境需求:https://source.android.google.cn/setup/build/older-versions镜像使用帮助:https://mirrors.us原创 2022-04-19 11:12:22 · 4328 阅读 · 0 评论 -
IDA7.5快捷键大全
此文章会持续加入我学习过程中知道的快捷键和其他技巧F5 查看伪代码TAB 定位伪代码在ARM中位置空格键:反汇编窗口切换文本跟图形CTRL +S :二进制段的开始地址结束地址ESC:退到上一个操作地址G:搜索地址或者符号N:重命名分号键:注释ALT+M :添加标签CTRL+M :列出所有标签C code 光标地址出内容解析成代码P :在函数开始处使用P,从当前地址处解析成函数D :data解析成数据A :ASCII解析成ASCIIU :unDefined解析成未定义的.原创 2022-03-10 14:14:24 · 1553 阅读 · 0 评论 -
Android NDK开发(二)编写计算器so文件之动态注册
一、创建空白项目二、创建控件(2个输入框、4个按钮分别id为:add,sub,mul,div)三、为控件添加事件:package com.example.ndk_dongtaizhuce;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.view.View;import android.widget.Button;import android...原创 2021-12-27 15:35:36 · 1893 阅读 · 1 评论 -
CentOS7安装JAVA环境
JAVA环境安装:yum install java java-1.8.0-openjdk-develjava -version 出现如下显示表示成功,如果不行可以尝试 reboot 重启[root@vm-35a66a2d-02c9-4dbd-ad88-c9c9033c4508 ~]# java -versionopenjdk version "1.8.0_312"OpenJDK Runtime Environment (build 1.8.0_312-b07)OpenJDK 64-Bi原创 2022-01-07 18:06:55 · 797 阅读 · 0 评论 -
ARM汇编(一)环境配置
简介:使用环境为 ARM 32位 Android4.3 armeabi-v7a配置:1、下载 android studio 并安装完成,新建一个空白项目。2、file->settings->SDK。设置如下:下载好红框中的选中的文件后。点击模拟器按钮,如图:创建对应版本的模拟器不要选X86的系统。因为我们是ARM汇编。选一个尺寸最小的屏幕分辨率。这样会更快一些。将ADB 和 ndk-build加入到环境变量模拟器配置完成。如...原创 2021-12-29 10:02:00 · 2106 阅读 · 0 评论 -
Android NDK开发(一)编写第一个so文件之静态注册
一、创建项目我们先创建一个空项目在MainActivity.java中加入以下代码:package com.example.jni_demo;import androidx.appcompat.app.AppCompatActivity;import android.os.Bundle;import android.widget.Toast;public class MainActivity extends AppCompatActivity { static {原创 2021-11-22 16:03:33 · 1673 阅读 · 0 评论 -
安卓开发第一篇之登录界面
工具:android studio 3.6.3新建项目后来到activity_main.xml创建一个Button,两个EditText。原创 2021-06-14 00:16:37 · 289 阅读 · 0 评论 -
python3 利用adb命令模拟安卓点击
一、简单的adb命令,不需要手机root1、滑动adb shell input [touchscreen|touchpad] swipe x1 y1 x2 y2touchscreen – 触摸屏幕,touchpad – 不知道是啥swipe – 滑动、滑屏操作x1 y1 x2 y2 – 滑动起始和终止位置的横纵轴坐标,举例如下:adb shell input touchscreen swipe 450 66 110 662、点击adb shell input [touchsc原创 2021-05-24 12:04:22 · 2059 阅读 · 0 评论