关于 Windows 的代理设置
Windows 的系统代理使用的其实是 IE 的代理设置,此外,对于绝大多数的应用程序而言,它们默认使用的也是 IE 的代理设置,比如,Chrome、Firefox、Microsoft Store 等。因此,如果想让绝大多数的应用程序使用代理,一个简单的方法是直接设置 IE 的代理(即系统代理)。不过,对于一小部分没有使用 IE 代理设置的应用程序,比如 Android Studio 等,你可能需要单独设置它们的代理(一般在软件的设置项中)。
值得注意的是,同为应用程序的 Shell(包括命令提示符和 PowerShell)就没有使用 IE 的代理设置,它们各自有自己的代理设置。具体而言,要为命令提示符设置代理,可使用如下两条命令:
1 | set HTTP_PROXY=http://user:password@proxy.domain.com:port |
而要为 PowerShell 设置代理则要使用这个脚本。
对于 Shell 中运行的程序,有一部分使用的是 IE 的代理设置,比如 pip
、npm
等,另一部分则使用的是 Shell 的代理设置,比如 curl
、gem
等。
Nexus/Pixel 相关问题解决
移动网络/WiFi 出现叹号或叉号
Captive Portal 是从 Android 5 开始引入的一项新功能,其主要用于检测网络连接是否正常,当用户连接网络后,系统会通过 HTTP 访问一个 Google 的服务器,若返回 200 状态码,则表示用户可能处在一个需要登录认证的网络环境中;若返回 204 状态码,则表示网络连接正常;若连接超时,则表示网络连接不正常,此时网络图标会显示一个叹号或叉号。
显然,Google 的服务器是连接不上的,我们可以通过修改服务器地址来解决此问题。具体而言,连接 ADB,针对不同的系统版本,下方分别给出了相关命令:
Android 9.0/8.1/8.0/7.1.2/7.1.1:
1 | adb shell settings put global captive_portal_https_url https://www.google.cn/generate_204 |
Android 7.1/7.0:
1 | adb shell settings delete global captive_portal_server |
Android 5.0-6.x:
1 | adb shell settings put global captive_portal_server www.google.cn |
执行之后,开启飞行模式,接着关闭飞行模式即可。
GCC 小记
GCC 一般有两层意思,广义是指 GNU Compiler Collection(即 GNU 编译器套装),狭义是指 GNU C Compiler(即 GNU C 语言编译器),在本文中,我默认大写的 GCC 指广义,小写的 gcc 指狭义。
使用 gcc 编译 C 语言源代码的一般格式如下:
1 | gcc test.c -o test |
QEMU 小记
QEMU 是 Linux 中使用最广的模拟器,可以模拟出各种硬件环境,其便于调试的特性也适合于系统开发者。
安装
使用 sudo apt install qemu
即可在 Ubuntu 中安装 QEMU,安装完成后会有很多以 qemu-
开头的命令,如:
qemu-system-i386
:用于模拟 32 位的 80386 硬件环境qemu-system-x86_64
:用于模拟 64 位的 x86 硬件环境qemu-system-arm
:用于模拟 ARM 硬件环境
再进一步,这些命令又可以分为以 qemu-system-
开头和以 qemu-
开头,以 qemu-system-
开头的用于在模拟的硬件环境上运行整个系统,以 qemu-
开头的用于在模拟的硬件环境上运行某个程序,而非整个系统。
Makefile 小记
Linux 中使用最广的构建工具是 make,而 make 会读取 Makefile 文件中的配置信息来完成构建,一个简单的 Makefile 文件如下所示:
1 | editor : main.o text.o |
具体而言,冒号前面为 target,即要生成的文件;冒号后面为 dependencies,即被依赖的文件;每一个 target:dependencies 对的下一行为要执行的命令(注意要以 Tab 键起首)。当 make 不带参数时,默认执行第一个 target。target 也可以是要求 make 要完成的动作,执行这种 target 后并不能得到和 target 同名的文件,因此,也称做 phony target(即伪 target),如第 7 行所示。dependencies 也可以为空,如常用的 target 为 clean
时,就没有依赖,只有命令,一般用于清理工作。
当输入 make
或 make editor
,即可开始构建。若 editor
这个 target 文件不存在,或者 main.o
、text.o
这两个依赖文件被修改,都会导致 make 调用其下的命令 gcc -o editor main.o text.o
;接下来,由于引用到 main.o
和 text.o
,make 会检查 main.o
的依赖 main.c
、def.h
有无更新,如果有,则执行其下的命令 gcc -c main.c
;同理,也适用于 text.o
。当输入 make install
,make 会检查 install
的依赖 editor
是否是最新,如果是,则执行其下的命令 mv editor /usr/local
。
Android刷机指南
汇编语言小记
成为黑客高手的必备技能
本文翻译自 https://null-byte.wonderhowto.com/how-to/essential-skills-becoming-master-hacker-0154509/ ,正文如下:
我的许多有抱负的黑客写信给我,都问同样的问题。“我需要什么技能才能成为一个好的黑客?”
由于黑客是最熟练的信息技术学科之一,因此需要广泛的 IT 技术和技术知识。要真正成为一名优秀的黑客,必须掌握许多技能。如果你没有我在此列出的所有技能,请不要气馁,可以将此列表作为你在不久的将来学习和掌握所需内容的起点。