白乐天

道阻且长,行则将至。

见多识广

AIGC

人工智能生成内容(Artificial Intelligence Generated Content),是指由人工智能(AI)技术创建、生成的各种内容,涵盖了文本、图像、视频、音频、代码等多种形式。

LLM

大预言模型(Large Language Model),是指一种基于深度学习技术,尤其是通过神经网络训练而成的自然语言处理模型。

HCI

人机交互(Human-Computer Interaction),是指人与计算机之间的交互过程和相关技术研究领域。

RPC

远程过程调用(Remote Procedure Call),RPC 是一种计算机通信协议,允许程序在不同的地址空间(例如不同的计算机或同一台计算机的不同进程)之间调用函数或子程序,就像在本地调用一样,而无需了解底层的网络通信细节。

AWD

攻防兼备(Attack With Defence)。

PWN

二进制漏洞挖掘与利用

ABI

应用程序二进制接口(Application Binary Interface),它定义了程序在运行时的二进制接口。ABI 主要用于描述操作系统和硬件平台如何协同工作,以及编译后的程序如何与系统或其他程序交互。

  • Linux 上的 x86_64 ABI
    定义了 64 位 Linux 系统上如何调用函数,参数如何传递。

  • Android NDK 中的 ABI

    Android 平台支持多种 ABI,比如:

    • armeabi-v7a(32 位 ARM 架构)
    • arm64-v8a(64 位 ARM 架构)
    • x86x86_64(Intel 架构)

    这些 ABI 直接决定了编译出来的二进制程序是否能在目标设备上运行。

Protobuf

Protocol Buffers(简称 protobuf)是 Google 开发的一种跨语言、跨平台、高效的结构化数据序列化机制,用于将结构化数据转换为紧凑的二进制格式,支持数据存储、网络通信等场景。

原码反码补码

原码

原码是最直观的数值表示法,它直接反映了数字的绝对值和符号。

  • 最高位(最左位)表示符号位:0表示正数,1表示负数

  • 其余位表示数值的绝对值

示例:

1
2
+43 的原码:0 0101011(0 + 43的二进制)
-43 的原码:1 0101011(1 + 43的二进制)

注意:

  • 加法规则:不能直接相加,需要根据符号位判断是做加法还是减法

  • 0的表示:+0 (00000000) 和 -0 (10000000) 是不同的表示

反码

反码是对原码的一种改进,使运算更加便捷。

反码表示规则:

  • 正数的反码等于其原码

  • 负数的反码是其原码除符号位外,按位取反(0变1,1变0)

示例

1
2
+43 的反码:0 0101011(与原码相同)
-43 的反码:1 1010100(符号位不变,其余位取反)

反码的优点

简化了减法操作:A - B 可以通过 A + (-B) 的反码实现

部分改善加法运算:符号不同的加法变得更容易

反码的问题

零仍有两种表示:+0 (00000000) 和 -0 (11111111)

加法需要”端进位回卷”:即末位进位需要加到最低位

补码

补码是现代计算机普遍采用的表示方式,解决了反码的问题。

补码表示规则

  • 正数的补码等于其原码

  • 负数的补码等于其反码加1,或者等于”模-绝对值”(模是2的n次方,n是位数)

示例

1
2
+43 的补码:0 0101011(与原码相同)
-43 的补码:1 1010101(反码加1)

示例

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
-1
原码:10000001 (81)
反码:11111110
补码:11111111 (FF)

-5
原码:10000101 (85)
反码:11111010
补码:11111011 (FB)

-64
原码:11000000 (B0)
反码:10111111
补码:11000000 (B0)

-127
原码:11111111 (FF)
反码:10000000
补码:10000001 (81)

-128
原码:无
反码:无
补码:10000000 (80)

XAPK

XAPK是一种专为Android操作系统设计的应用程序包文件格式,全称是”Extended Android Package”。它与常见的APK(Android Package)文件类似,但功能更强大,旨在解决大型应用程序或游戏的安装需求,通常以”.xapk”为文件扩展名。

安装

使用np管理器安装

使用adb install-multiple命令安装