- 博客(37)
- 问答 (1)
- 收藏
- 关注
原创 Linux命令指南
top命令可以实时显示各个线程情况。要在top输出中开启线程查看,请调用top命令的“-H”选项,该选项会列出所有Linux线程。在top运行时,你也可以通过按“H”键将线程查看模式切换为开或关。在ps命令中,“-T”选项可以开启线程查看。下面的命令列出了由进程号为的进程创建的所有线程。“SPID”栏表示线程ID,而“CMD”栏则显示了线程名称。
2023-12-24 21:52:04 445
转载 Android------资源详解
可直接访问的资源, 无法直接访问的原生资源;: 可以, 都保存在res目录下, 在编译的时候, 会;: 存放在assets下, 不能使用R类进行访问, 只能读取资源;assets目录中不能被编译的、原生的资源文件,存在于Apk中。因为Apk安装之后会放在/data/app/**.apk目录下,以apk形式存在,asset被绑定在apk里,并不会解压到/data/data/package_name/目录下去,所以我们无法直接获取到assets的绝对路径,因为它们根本就没有。
2023-12-21 12:15:05 1246
原创 JNI逆向
1.IDA高版本(IDA 高版本内置了定义的JNI结构体;如果没有的话,在Views->Open subviews -> Type Libraries 中添加Android ARM的lib即可)只需要对JNIEnv 指针(JNIEnv * )做一个类型转换即可。我们选中后按一下”y”键,然后将类型声明为”JNIEnv*”。随后IDA就会自动查找对应的方法并且显示出来了。2.IDA低版本、IDA高版本支持不全或者其他奇怪的现象(手动导入定义的JNI结构体)
2023-12-20 18:09:48 724
原创 JNI 注册
① 在 Android 的 Java 层定义方法 : 在 MainActivity 类中定义 如下 Native 方法;② Native 方法实现 : 下面是一个 Native 方法实现的示例;extern “C” : 表示 C 语言 和 C++ 的兼容;JNIEnv *env : 其中第一个参数 JNIEnv *env 代表了 JNI 环境;jobject 参数 : 该 Native 方法定义在 MainActivity 类中;
2023-12-19 18:23:06 402
原创 jni.h 文件详解
else//代表了Java中包含native方法的类的一个实例//jclass代表的是一个类对象#endifjboolean z;jbyte b;jchar c;jshort s;jint i;jlong j;jfloat f;jdouble d;jobject l;} jvalue;//Object对象 L开头,包名/类名,”;”结尾,$标识嵌套类。
2023-12-19 18:22:21 1671
原创 Android-----AndroidManifests.xml 之meta-data
meta-data(元数据、文件元数据):主要用来定义一些组件相关的配置值。按照官方定义,metadata是一组供父组件使用的名值对(name-value pair),一个组件元素可以包含任意数量的meta-data子元素。这些子元素的值存放在一个 Bundle 对象中,组件可以通过 PackageItemInfo.metaData 字段访问这些数据。
2023-12-18 22:39:12 1469
原创 Everything 搜索
原文链接:https://blog.csdn.net/wangshengfeng1986211/article/details/126660573。版权声明:本文为CSDN博主「長安只在旧夢中」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。需要在【菜单栏】⇒ 【Search】⇒ 勾选【Enable Regex】
2023-12-17 17:35:12 587
原创 IDEA报错处理
网络说法:别用 java18,换成 java17 或者 java1.8 都可以,因为 java18 不是 LTS 版本,有着各种各样的问题。IDEA 新建 Maven 项目没有文件结构 pom 文件为空。将JDK换成1.8后解决。
2023-12-17 16:49:51 738
原创 Base64
Base64(基底64)是一种基于64个可打印字符来表示二进制数据的表示方法。每6个比特为一个单元,对应某个可打印字符。3个字节相当于24个比特,对应于4个Base64单元,即3个字节可由4个可打印字符来表示。在Base64中的可打印字符包括字母A-Z、a-z、数子0-9,这样共有62个字符,另外两个可打印符号在不同的系统中而不同。什么是可打印字符?为什么要用它来传输8Bit字节码?在回答问题之前我们有必要来思考一下什么情况下需要使用到Base64。
2023-12-17 16:27:35 973
原创 Thread.setDefaultUncaughtExceptionHandler作用
setDefaultUncaughtExceptionHandler:相当于一个全局的catch。一般情况下用于记录当程序出现未捕获的异常的时候,调用一个默认的handler来进行某些操作,比如记录客户端版本,异常信息,等客户信息,方便收集异常原因。直白来讲,一般会对某段代码做try …catch,那么没有try…catch到的代码,发生异常的时候,就会由setDefaultUncaughtExceptionHandler来处理。
2023-12-13 09:26:39 660
原创 Exception 异常信息处理
那么可能在文件G:/excep.txt中得不到任何异常信息,这是因为PrintWriter提供了一个缓冲区,而此时你写进去的信息没有将缓冲区填满,那么它就不会输出。如果为了图省事儿,这样写:e.printStackTrace( new PrintWriter( new File( “G:/excep.txt” )));在捕获异常的时候,大部分情况都要用到这样的一条语句:e.printStackTrace();
2023-12-13 09:26:20 430
原创 扫盲运动—字节序
术语“大端”和“小端”表示多个字节值的哪一端(小端或大端)存储在该值的起始地址。为什么要有大端、小端字节序,多麻烦!统一使用大端字节序,不是更方便吗?计算机电路先处理低位字节,效率比较高,因为计算都是从低位开始的。所以,计算机的内部处理都是小端字节序。但是,人类还是习惯读写大端字节序。所以,除了计算机的内部处理,其他的场合几乎都是大端字节序,比如网络传输和文件储存。来个实例,要不然实在记不住。
2023-12-13 09:21:59 986
转载 Java关键字:synchronized 使用详解
无论synchronized关键字加在方法上还是对象上,如果它作用的对象是非静态的,则它取得的锁是对象;如果synchronized作用的对象是一个静态方法或一个类,则它取得的锁是对类,该类所有的对象同一把锁。每个对象只有一个锁(lock)与之相关联,谁拿到这个锁谁就可以运行它所控制的那段代码。实现同步是要很大的系统开销作为代价的,甚至可能造成死锁,所以尽量避免无谓的同步控制。
2023-12-12 16:48:21 238
原创 AIDA64
AIDA64:一款专业的测试软硬件系统信息的工具,它可以更加全面的显示软硬件的型号和CPU、主板、显卡、温度、风扇速度等等的硬件信息。还提供了很多的超频、硬件侦错、压力测试和传感器检测等等的功能,而且还可以对处理器,系统内存和磁盘驱动器的性能进行全面的评估。且AIDA64支持多种语言。但是AIDA64使收费软件,只有30天免费试用期。
2023-12-12 13:12:31 1271
原创 Java集合体系框架
java.util中包含 Java 最常用的the collections framework。Java集合类主要由两个根接口Collection和Map派生出来的。因此Java集合大致也可分成List、Set、Queue、Map四种接口体系。Collection 接口派生出了三个子接口List、Set、Queue。List:有序可重复集合,可直接根据元素的索引来访问List使用详情List接口常用的实现类有:ArrayList、LinkedList、Vector。ArrayList:Java中的实
2023-12-10 17:34:39 987
原创 List 接口
Java 自带了各种 Map 类。通用Map,用于在应用程序中管理映射,通常在 java.util 程序包中实现专用Map,通常我们不必亲自创建此类Map,而是通过某些其他类对其进行访问一个用于帮助我们实现自己的Map类的抽象类。
2023-12-10 15:34:29 655
原创 build.prop
类似windows的环境变量,可以在android应用层、native层直接读取获得该键值对(key/value)。对于所有程序都是可见的,可以区分流程分支、添加不同功能、android各层直接交互、记录数据、绕开SElinux执行自定义添加的可执行程序等等。
2023-12-08 16:32:09 903
原创 UUID说明
UUID是由开放软件基金会(OSF)定义的用于唯一标识元素(软件包、硬件设备、数据库等)的识别码,被称为通用唯一识别码(Universally Unique Identifier)。UUID固定格式:由4个连字号(-)将32个字节的字符串分隔后生成的字符串,总共36个字节。例如:550e8400-e29b-41d4-a716-446655440000。
2023-12-08 15:09:02 929
原创 非标识性参数—手机运营商
getSimOperator()得到上网卡运营商getSimOperatorName()、getNetworkOperator()、getNetworkOperatorName()得到拨号卡运营商**问题一:**如果想得到运营商名称,可直接用getSimOperatorName()或者getNetworkOperatorName()就能直接获取到。为什么还要用getNetworkOperator()通过MNC号来人为的判断?
2023-12-05 17:23:22 637
原创 风控之Android设备指纹技术
简单来讲,设备指纹是指用于标识出该设备的设备特征。可以是单一设备特征,也可以是多种设备特征的组合,以方便风控系统对设备的唯一性进行识别。设备指纹是风控系统里一个重要的控制维度。设备指纹应该保证同一台设备生成的设备指纹具有唯一性、不重复性和不易篡改性。
2023-12-05 17:14:07 2658
原创 Map 接口
Java 自带了各种 Map 类。通用Map,用于在应用程序中管理映射,通常在 java.util 程序包中实现专用Map,通常我们不必亲自创建此类Map,而是通过某些其他类对其进行访问一个用于帮助我们实现自己的Map类的抽象类。
2023-12-04 23:12:10 392
原创 PowerShell命令
在命令执行期间使用 Tee-Object 将 PowerShell 输出重定向到文件,其将向两个方向发送命令或脚本的输出。它将输出存储在文件或变量中,并将其发送到管道中。如果 Tee-Object 是管道中的最后一个命令,控制台也会显示输出。
2023-12-04 17:40:58 520
原创 SharedPreferences共享偏好设置文件
SharedPreferences(共享偏好设置文件)SharedPreferences是Android平台上一个轻量级的存储辅助类,用来保存应用的一些常用配置,它提供了String,set,int,long,float,boolean六种数据类型。SharedPreferences的本质是基于XML文件存储key-value键值对数据,通常用来存储一些简单的配置信息。其存储位置在/data/data//shared_prefs目录下。
2023-12-04 14:55:20 962
原创 Gradle 新手配置路线
Android 是基于 Java 语言的,最初 Google 希望 Android 能在 Eclipse 上进行开发,为了满足这个需求,Google 开发了一个叫 ADT (Android Developer Tools)的东西,有了 ADT ,我们只需要码好代码,然后直接在 Eclipse 上进行编译、运行、签名、打包等一系列流程,而这背后的工作都是 ADT 的功劳。某种意义上 ADT 就是我们的构建工具。
2023-12-03 23:47:49 371
原创 固态硬盘导购指南
联想拯救者R7000P,一般是有两个M.2 NVMe PCIe插槽,一个已被原装固态硬盘占用,另一个空余可供用户加装。联想拯救者R7000P 2020款,应该支持加装的固态硬盘是M.2 NVMe PCIe3.0×4 SSD,不支持PCIe4.0。
2023-12-03 23:26:47 3306
原创 Maven 新手配置路线
Maven是一个跨平台的项目管理工具。作为Apache组织的一个颇为成功的开源项目,其主要服务于基于Java平台的项目创建,依赖管理和项目信息管理。maven是Apache的顶级项目,解释为“专家,内行”,它是一个项目管理的工具,maven自身是纯java开发的,可以使用maven对java项目进行构建、依赖管理。
2023-11-28 00:11:46 720
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人