Android
IT1995
每周个人笔记分享,欢迎广大网友查阅!
展开
-
Android笔记-adb keycode大全
枚举值数值188189190191192193194195196197198199200201202203。原创 2024-06-24 08:36:25 · 1170 阅读 · 0 评论 -
Android笔记-安装Termux开启ssh,安装vim、android-tool、python等
这里要注意,我家电视是192.168.0.200,你们家的自己看,并且在connect时,记得电视机要允许调试,不然adb devices是查不到此设备的。用电脑usb连接手机,下载好Termux,在安卓手机上安装好。这里就不记录笔记了,各个手机不一样。家里面有个老手机,想将此手机做成一个家庭服务器。目前准备先控制电视机。安装好后,用xshell等软件连上去,安装软件。安装ssh,并启动服务。原创 2024-06-17 08:45:36 · 401 阅读 · 2 评论 -
Android|Qt笔记-某App注册机思路总结
现在是2021-08-01 23:20:44,目前这篇博文还在笔记里面,估计发布到网上已经是1个月后了。目前写了一个App的注册机:这里是单线程的,差不多30-50s可以注册一个帐号。这个程序不开源只讲解下思路:①目前大部分的移动端App都是restful风格的,app只是作为客户端。所以设置好wifi代理,电脑使用抓包工具抓包,我这里用的是Fiddler,要确保能抓包。②抓到包后进行分析,提交的数据有无签名,时间戳,护盾,等字段,如果有,说明服务端有校验,使用Andr.原创 2021-08-31 09:09:20 · 1115 阅读 · 0 评论 -
Android逆向笔记-IDA Pro动态调试Android程序(真机)
这里的安卓版本是:Android 5.1.1(Lollipop, API 22)LGE Google Nexus 5arm使用的IDA为:IDA Pro 6.8将android_server送到/data/local/tmpadb push android_server /data/local/tmpadb shellsumv android_server android_server6.8chmod 777 android_server6.8将程序跑起来:r原创 2021-08-24 08:46:45 · 4057 阅读 · 0 评论 -
Android笔记-ERROR: Invalid revision: 3.17.20200511-g8787079
Android Studio版本:报错是这些:往下翻:将版本换成3.10.2File->Settings->System Settings->Android SDK再设置下ndk:File->Project Structure->SDK Location如果报错,在dnk下新建platforms这样就可以了,如果还报错:在local.properties中添加cmake.dir=D\:\\xx...原创 2021-08-17 09:01:40 · 646 阅读 · 0 评论 -
Android笔记-使用okhttp3库发送http请求
build.gradle新加:implementation 'com.squareup.okhttp3:okhttp:3.8.0'在AndroidManifest.xml添加权限<uses-permission android:name="android.permission.INTERNET"/>源码如下:HttpRequest.javapackage com.example.myclient.http;import okhttp3.Call..原创 2021-08-10 08:41:56 · 816 阅读 · 0 评论 -
Android笔记-对称与非对称加密及DH密钥交换
对称加密算法AES:Advanced Encryption Standard,高级加密标准。算法逻辑是这样的: 加密:C = E(K, P) 其中P为明文,K为密钥,C为密文; 解密:P = D(K, C) 其中C为密文,K为密钥,P为明文;加密解密使用同一个密钥,用同样的方式还原明文;优点 1.加密效率高; 2.计算量小; 3.使用方便。缺点: 1.双方需要协商密钥,一旦密钥泄漏则机密系统崩塌; ...原创 2021-08-10 08:33:36 · 570 阅读 · 0 评论 -
Android安全笔记-Broadcast基本概念
Broadcast ReceiverBroadcast(广播):Android系统与应用直接的消息传递方式,例如系统时间发生时或者应用事件发生。 ·系统启动 ·网络状态改变 ·应用定义行为系统广播当系统事件发生时,系统会发给注册接收的应用广播消息采用Intent的方式实现SDK目录下broadcast_actions.txt包含了所有系统广播类型比如接收短信,就会发送广播注册广播接收器AndroidManifest.xml中声明动...原创 2021-08-10 08:32:50 · 407 阅读 · 0 评论 -
Android安全笔记-Service基本概念
个是Android中的一个重要组建: 1. Scheduled服务:调度任务服务。 ·JobScheduler 2.Started服务:其生命周期和启动它的组建无关。 ·startService ·onStartCommand 3.Bound服务:一个组件bind服务,这个服务提供client-server形式的接口该组件调用和交互主要用于IPC,其生命周期和绑定的组建有关系,如果没有组建绑定则销毁。...原创 2021-08-03 08:45:01 · 403 阅读 · 0 评论 -
Android安全笔记-进程间通信基本概念(intent、bundle、Parcelable、parcel)
进程间通信进程间传递消息:例如启动一个Activity,在Intent中设置传递参数及其他数据(字符串、整数、数组、对象) ·intent.putExtra消息组织和传递:Intent、Bundle、Parcelable、Parcel前面我们知道Bundle可以绑定一些页面的状态(数据)Intent的内部实现是基于Bundle的。如果要声明一个对象能在进程间传递,就需要实现ParcelableIntent用于组建间的数据传递,Intent.putExtar..原创 2021-08-03 08:43:26 · 553 阅读 · 0 评论 -
Android安全笔记-Tasks与Recents Screen与Fragment基本概念
TasksTask:用户交互的Activity的集合,其中Activity类似于栈的排列方式,成为back stack。在多窗口模式下针对不同的窗口分别管理tasks。一个新应用启动(点击图标): 1.新的task创建; 2.main activity启动并压入back stack中,默认为这个back statck的root activity; 3.新的activity启动,压入back stack; 4.点击Back按键,弹出back statck...原创 2021-08-03 08:42:04 · 344 阅读 · 0 评论 -
Android安全笔记-Activity基本概念
Activity生命周期阶段 下一阶段 详细说明 onCreate started state 必须实现改方法,系统创建activity时调用 onStart visible onResume onPause 成为activity stack的最上面一个activity,用户输入焦点 onPause Stopped Or Resumed State 界面失去了焦点,可能还有部分可见,通常当用户触发back或者overlay按钮原创 2021-08-03 08:40:59 · 1015 阅读 · 0 评论 -
Android安全笔记-Intent和PendingIntent基本概念
IntentIntent:应用传递消息的结构体; ·通知浏览器打开一个网页; ·同志通话拨打某个号码; ·启动activity; ·启动service; ·发出broadcast。Intent包含几个属性:属性 说明 描述 ComponentName 启动的组件名称 explicit/implicit Action 执行的动作,系统定义或者应用定义动作 Data 传递的数据和数据类型 ...原创 2021-08-03 08:39:43 · 454 阅读 · 0 评论 -
Android安全笔记-Android签名文件及初略架构
APK里META-INF文件夹中有里面有3个文件:CERT.RSA:包含了公钥信息和发布机构信息;MANIFEST.MF:对apk中每一个文件进行hash摘要;CERT.SF:不仅仅有MANIFEST.MF中的内容,还有MANIFEST.MF这个文件的hash摘要。Android框架简略图:其中bionic为Linux内核!Android的文件系统:系统应用:/system/app/system/priv-app/system/framewo..原创 2021-07-27 08:57:23 · 393 阅读 · 0 评论 -
Android笔记-Xposed的使用(Hook登录函数获取用户名密码)
如这个APP例子:点击登录,Xposed打印:对应的Java代码:这里可以看到其包名为hfdcxy.com.myapplication函数为check。Xposed关键函数如下:public class HookUtils implements IXposedHookLoadPackage { @Override public void handleLoadPackage(XC_LoadPackage.LoadPackageParam load..原创 2021-07-27 08:46:25 · 1540 阅读 · 0 评论 -
Android笔记-雷电模拟器(Android5.1.1)安装Xposed
首先安装Xposed Installer。发现这台机器是API 22,并且CPU为x86的。进入这个https://dl-xda.xposed.info/framework/sdk22/x86/其他的sdk也有,选择对应的就可以了。选择zip的。安装此SDK的最新版。新建xposed文件夹,将zip解压,将system放到xposed文件夹中在xposed中新建script.sh内容如下:##################################...原创 2021-07-27 08:43:39 · 6675 阅读 · 3 评论 -
Android逆向笔记-通过tracerPid对抗IDA调试
这个TracerPid是追踪进程ID,如果没有进程对其追踪就是0。在Linux中,每个进程都会在/proc/id这个id就是进程id创建目录,并且有个status文件,这个文件就可以查tracerPid,如果非0就说明有进程在进行调试。如下代码:...原创 2021-07-20 08:07:48 · 647 阅读 · 0 评论 -
Android逆向笔记-通过ApkTool源码分析未能反编译APK的原因
如下错误:这里可以看到一个IO错误:Expected: 0x001c0001, got: 0x00000001这里看下源码:看下还有哪个个地方调用了他下面来看下这个CHUNK)STRINGPOOL_TYPE和CHUNK_NULL_TYPE发现possible为0x00000000,从上面的注释可以看到,其读取的是资源文件中header.type(0x0001) 开始到header.headerSize(0x001C)。看下其资源文件Resources....原创 2021-07-20 08:05:10 · 638 阅读 · 0 评论 -
Android逆向笔记-Proguard混淆Android代码以及去打印日志信息
本笔记只记录其现象和功能,不记录具体怎么去用他。这个Proguard全称应该是project guard,用来混淆Android代码的。如下未使用Proguard的类:使用Proguard后:这里要注意有一些是不能混淆的:JNI对应的Java方法名不能混淆,不然C/C++不能正常调用;AndroidManifest.xml里面注册的组建,需要保留,不能混淆;R文件混淆后会导致引用错误。Proguard还能去打印日志信息:未使用Proguard:使用Pr..原创 2021-07-13 12:41:17 · 661 阅读 · 0 评论 -
Android逆向笔记-破解某APP签名摘要算法
这里科普几个摘要算法,散列算法(签名算法)有:MD5、SHA1、HMAC用途:主要用于验证,防止信息被修。具体用途如:文件校验、数字签名、鉴权协议MD5:MD5是一种不可逆的加密算法,目前是最牢靠的加密算法之一,尚没有能够逆运算的程序被开发出来,它对应任何字符串都可以加密成一段唯一的固定长度的代码。SHA1:是由NISTNSA设计为同DSA一起使用的,它对长度小于264的输入,产生长度为160bit的散列值,因此抗穷举(brute-force)性更好。SHA-1设计时基于和MD4相同原理原创 2021-07-13 12:25:29 · 1556 阅读 · 1 评论 -
Android逆向文档阅读笔记-Android Application Fundamentals
Fundamentals ReviewAndroid应用程序是在APK格式的文件中的,APK是基于ZIP文件的(可以将APK后缀改成ZIP后缀,然后可以使用unzip去解压)。APK文件内容:AndroidManfest.xmlMETA-INF/ ·存储签名相关的信息classes.dex ·Dalvik字节码,存储在dex后缀的文件中。android的dalvik虚拟机则是.dex可执行文件,你可以理解为是.class的进一步封装。lib/...原创 2021-07-06 07:39:34 · 446 阅读 · 1 评论 -
Android逆向笔记-查看app的log打印(含调试方式打开)
打开monitor原创 2021-06-15 08:54:37 · 2136 阅读 · 1 评论 -
Android逆向笔记-使用Android Studio调试Smali代码(方式二)
这里我使用Android Studio写了这样的一个程序:原创 2021-06-15 08:50:48 · 739 阅读 · 0 评论 -
Android逆向笔记-使用Android Studio调试Smali代码(方式一)
这里我使用Android Studio写了这样的一个程序:然后点下BUTTON后:原创 2021-06-15 08:46:10 · 1275 阅读 · 2 评论 -
Android逆向笔记-某水果大作战内购破解思路
思路一:在游戏中,我们点下支付或购买,弹出一个框,我们点返回,就购买成功:将成功转Unicode进行搜索后:原创 2021-06-15 08:41:23 · 862 阅读 · 2 评论 -
Android逆向笔记-4种方式破解下例中的smali代码
原始的代码如下:这里可以直接看到,用户名是hfdcxy,密码是1234。如何破解,提供4个思路:改法一:原创 2021-06-15 08:38:08 · 3027 阅读 · 2 评论 -
Python笔记-weditor的安装及基本使用
这里我是在Linux上安装好python虚拟环境3.6.9,并且安装了uiautomator2。首先是安装weditorpip install weditor -i https://pypi.tuna.tsinghua.edu.cn/simple/这里要主要agent要是激活的状态:然后在Linux 上启动weditor(venv) [root@localhost ~]# weditor False False Truelistening on http://192.16.原创 2020-07-16 08:59:25 · 6999 阅读 · 0 评论 -
Python笔记-centos7使用adb连接真实手机及初始化uiautomatro2项目
首先看看各个设备对应的IP系统 ip Android 192.168.1.100 windows 192.168.1.190 centos 192.168.79.134 这里3台机器都是能够相互ping通的。windows上安装pyCharm,用这个进行开发。centos上安装了python3.6.9,并使用了虚拟python环境。Android是5.1的系统,是qiku的手机。记录下操作演示的步骤:centos7使用adb连接到A..原创 2020-07-14 09:17:41 · 1560 阅读 · 0 评论 -
Linux&Android笔记-centos7安装adb并链接到雷电模拟器
下载adb的Linux端,并解压:mkdir androidcd androidwget https://dl.google.com/android/repository/platform-tools_r30.0.3-linux.zipunzip platform-tools_r30.0.3-linux.zip这里可以看到里面带有adb程序:cd platform-tools随后配置环境变量:vim /etc/profile在尾部进行添加:export PATH原创 2020-07-14 09:04:59 · 3892 阅读 · 0 评论 -
Android逆向笔记-使用dnSpy修改C#的dll(安卓游戏中使用资源不减反加)
这里以某C#写的Android APP为例。如下提取这个dll使用dnSpy进行修改:使用Ctrl + Shift + K进行全局搜索,搜索cash从中可以看到Deduct为减少,Add为添加。鼠标移动到Deduct上然后点击:从中可以看到都是与cash相关,将所有的-和-=改为+与+=右键然后点击编辑IL指令:将其改为add,全部修改后如下:然后点击保存:再将此dll放回以前的位置,然后再签名,即可实现使用资源不减反加。.原创 2020-07-05 22:39:27 · 3944 阅读 · 1 评论 -
Android逆向笔记-通过配置文件设置全屏(逆向开发与正向开发)
这里就是最简单的项目:源码打包下载:https://github.com/fengfanchen/AndroidReverse/tree/master/CrakDemo3这里首先用逆向改配置文件,然后再回编译实现全屏界面的过程:逻辑如下:界面文件为AndroidManifest.xml<?xml version="1.0" encoding="utf-8" standalone="no"?><manifest xmlns:android="http:.原创 2020-07-05 15:56:22 · 984 阅读 · 0 评论 -
Android逆向笔记-单机游戏通过配置文件修改技能等
此处只说明思路,不举具体的例子,避免CSDN审核不通过。在安卓单机游戏中,要注意asserts/data文件夹下,此处有大量的xml文件。可以用字符串搜索。这里的skills就存储了技能,stores存储了礼包中金币、钻石、资源的数量。如下例子:钻石小宝箱,这里有个buyValue,值的就是数量,priceType就是要花的人民币。又如下:awardValue估计是值奖励值,将其修改:进入游戏看下效果:另外...原创 2020-07-05 13:40:23 · 4315 阅读 · 3 评论 -
Android逆向笔记-大部分内购游戏破解思路
最近出了几个Android逆向的笔记,CSDN审核不通过,在此不再做详细的笔记,仅是记录下思路,免得CSDN审核不通过。这里以单机游戏为例,大部分是单机内购游戏。2020-07-05 10:35:17目前在游戏购买时按下取消购买,就会提示道具下方失败,如果成功就是道具下发失败,如下:这里使用Android Killer进行搜索转成utf-8这里在将4个文件都进行修改。举个例子:以前这里是if-neq,改为if-eq,或者将if-nez改为if-eqz,这...原创 2020-07-05 10:43:37 · 7008 阅读 · 0 评论 -
Android逆向笔记-破解自己编写的Android应用程序(开发及破解)
这里开发使用的Android studio,使用的模拟器为:Pixel 2 API 22也就是Android 5的系统。这里演示下开发的程序:这里模拟了下激活程序,用户名是用户自己输入的,密码是用户名转md5后所有奇数项。也就是说123456789的密码为:323b453885f5181f的奇数项。关键代码如下:package com.example.crakdemo1;import androidx.appcompat.app.AppCompatActivity;im原创 2020-06-28 10:21:51 · 3010 阅读 · 0 评论 -
Android逆向笔记-通过字符串定位跳转点
这里只记录下思路!Android打包好的程序所有字符串会记录到strings.xml中。从上可知成功为successed失败为unsuccessed这里搜索下这个。可以看到成功的id为:0x7f05000c失败为:0x7f05000b从中可以看到if-nez v0满足的时候就会跳转到0x7f05000c也就是成功,所以只要将其改为goto即可。...原创 2020-05-17 16:30:07 · 1322 阅读 · 1 评论 -
Android逆向笔记-使用Android Killer修改包名Android系统安装相同应用
这里以某网络加速器为例!主要是修改provider中的authorities以及package修改package的包名这里后面加了0001如下:后面的0001是自己加的,通过构造不同的包名,在同一系统中安装不同应用。...原创 2020-05-08 00:02:15 · 2195 阅读 · 0 评论 -
Qt杂记-QQuick之Android隐藏状态栏以及状态栏透明(QQuick项目)
目录基本概念默认情况,显示状态栏去掉状态栏设置状态栏透明基本概念一般用Qt开发Android使用QML语言,采用QQuick框架。没什么原因吧!估计就是开发起来比较爽!下面对这几种情况说明下!默认情况,显示状态栏效果如下:这里建立好项目后直接跑就可以了!去掉状态栏效果如下:把Debug或Release目录下...原创 2019-05-05 16:52:36 · 5973 阅读 · 0 评论 -
Android studio如何更改应用程序的图标以及名称
原博文地址:http://blog.csdn.net/zhangkaidsy/article/details/74852470如何在Android studio中更改应用程序的图标和名称是很多初学者遇到的问题之一,今天我就来给大家讲一下简单的步骤1. 更改图标 首先选中我们需要更改的工程,然后new -->Image Asset转载 2018-01-27 00:33:06 · 10456 阅读 · 4 评论 -
Android容器相关开发实践
首先是源码下载:http://download.csdn.net/download/qq78442761/10224716运行截图如下:刚开始运行:按分数排序后:长按选中要删除的对象确定删后IDE为Android Studio 2.3.3内容包括:1.点击2.原创 2018-01-25 23:03:11 · 4554 阅读 · 2 评论