- 博客(14)
- 资源 (1)
- 收藏
- 关注
原创 adb懒人工具(支持所有桌面端)
MobileTool最近没事学习了一波flutter,移动端没想到写啥。就写了一个桌面端应用。也是之前项目的一个衍生。之前用c#写过一个使用adb操作Android手机的windows应用,主要就是为了简化操作。现在把这个功能转移到所有桌面应用来,并且修复之前的一些遗留的BUG。如果有其他adb功能需要添加的可以提。下载地址说明关于Android请自行打开手机开发者模式中的USB调试,确保手机和电脑能连接上。确保能使用adb连接上。本地化路径保存在Documents目录下面,包含tools文件
2021-11-01 15:42:48 3122
原创 反编译工具之AndroidKiller
用了这么多反编译工具,个人感觉还是Androidkiller最舒服。可是作者已经很久不更新了。个人对里面的工具做了一下更新,apktool更新到2.4.0,jd-gui更新到最新版本。添加了三个小工具,前两个为了方便从SDK中单独拿出来放到里面去的。monitor:用于断点时的工具(SDK自带)布局查看:用于查看apk的界面的工具。(SDK自带)小工具:自己写的adb命令的...
2019-08-06 18:34:18 615
原创 安卓 native加密(md5,base64和sha256)
最近在做android native layer的三种加密代码书写,可惜我的c和c ++实现太烂,只能去github上找找资源,md5和base64的加密比较简单,自己梳理了一下,完美运行起来了。就是sha256实现起来有点烦,折腾了好几天,找了一个只能在32位的android机子上运行起来,64位机子就出现了问题,故舍弃,最后黄天不负有心人,终于解决了sha256的问题。以下是cmake编译的配...
2018-05-12 11:55:25 1598
原创 指令集
一。加载和存储指令 1. 加载和存储指令用于将数据在栈帧的局部变量表和操作数栈之间来回传输。 2. 将局部变量表加载到操作数栈:iload lload fload dload aload 3. 将一个数值从操作数栈存储到局部变量表中:istore lofa 4.将一个常量加载到操作数栈:bipush sipush ldc ldc_w ldc2_w acons...
2018-04-14 01:54:45 1269
原创 字节码与数据类型
1.在虚拟机的指令集中,大多数的指令都包含了其操作所对应的数据类型信息。2.lload (将int类型数加载到栈中)fload(将float类型加载到栈中)大多数指令是包含类型信息的。3.一个指令占一个字节,最多表示256种4.也有不包含信息类型的 如goto 与类型无关 ,Arraylength 操作数组类型5.类型多,指令少。...
2018-04-13 23:38:43 789
原创 Class格式(六)方法表集合
下面就开始介绍方法表重新修改源代码,增加一个方法public class Test { private int a; public byte b; public static Object obj; protected Object[] objs; public int add(int a,int b){ return a+b; }}下面两个字节表示方法个数,00 02表示有两个方法,...
2018-04-12 00:00:56 760
原创 Class格式(五)字段表集合
下面就到了字段表集合,重新修改源代码public class Test { private int a; public byte b; public static Object obj; protected Object[] objs;}增加四个字段。下面两个字节就是字段个数,00 04表示有4个字段,下面就是字段信息,字段信息的结构体第一个字段:00 02 表示修饰符为private ,...
2018-04-11 23:12:32 776
原创 Class文件(四)类索引
上篇已经说完了access_flags,现在开始下面的,下面两个字节就是类名,然后两个字节是父类名,都知道java是单继承,多实现,所以父类只可能是一个。再下面两个字节是接口数量,再下面是各接口的名称。上次分析到0021,然后00 05,对应的就是位置就是第五个常量池保存的类名,再然后00 06,对应的就是位置就是第六个常量池保存的父类名,后面的接口个数以及接口名都没有所以用00 00 表示。用命...
2018-04-11 22:24:33 458
原创 Class格式(三)访问标志
上一篇文章已经说完了常量池的结构定位到字节码,如图所示。接下来占用的两个字节就是访问标志,这个标志用于识别一些或接口层次的访问信息,包括:这个class是类还是接口;是否定义为public类型;是否定义为abstract类型;如果是类的话,是否被声明为final,等等。具体的标志五个一标志的含义如下表:通过组合的方式组合在一起,00 21 可以推断除是由ACC_PUBLIC和ACC_SUPER通过...
2018-04-11 21:39:40 656
原创 Class格式(二)常量池信息
上一篇已经对前面八个字节做了简单的介绍,今天就来说说剩下的一部分。下面用两个字节来表示常量池个数,后面具体的就是常量池信息。使用一个字节表示tag,一个集合来表示具体信息。可根据下图来查询具体表示的信息还是根据昨天的class文件来做分析,001D表示常量池个数,计算一下是29,就是01-28,一共有28个常量,00作为保留位。下面就是常量池的具体信息了。第一位字节表示tag,根据以上表可以查到第...
2018-04-11 10:52:07 446
原创 Class格式(一)魔数和版本号
大家都知道,JAVA文件通过javac的命令编译生成类文件,类文件再通过java的命令就能运行出我们写的代码了,今天就来研究一下类文件。class文件的c定义的结构体struct ClassFile{ u4 magic; //识别Class文件格式,具体值为0xCAFEBABE, u...
2018-04-10 00:56:35 698
原创 (一)jni开发之环境配置
IDE:Android Studio 3.0.1编译器:cmake(studio 2.2以上支持的编译工具,个人感觉很好,很舒服,对于我这种C和C++才学了一个多月的人来说,至少有提示,)。创建新项目可以直接使用包含c/c++支持,这边主要介绍向现有项目添加c/c++来生成so文件。1.新建cpp文件夹,在文件夹中添加c/c++文件,先什么都不写,如下图所示2.编写CMakeLists.txt脚本...
2018-03-26 00:36:42 679
(md5,base64,sha256) so加密代码
2018-05-12
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人