Howie's Notes

Machine Learning and Cyber Security

相关问题

error: device still connecting

输入adb shell时显示error: device still connecting,一般可通过:关闭开发者模式然后重新打开开发者模式,接着开启USB调试并重新和电脑配对,即可解决。

Windows 的系统代理使用的其实是 IE 的代理设置,此外,对于绝大多数的应用程序而言,它们默认使用的也是 IE 的代理设置,比如,Chrome、Firefox、Microsoft Store 等。因此,如果想让绝大多数的应用程序使用代理,一个简单的方法是直接设置 IE 的代理(即系统代理)。不过,对于一小部分没有使用 IE 代理设置的应用程序,比如 Android Studio 等,你可能需要单独设置它们的代理(一般在软件的设置项中)。

值得注意的是,同为应用程序的 Shell(包括命令提示符PowerShell)就没有使用 IE 的代理设置,它们各自有自己的代理设置。具体而言,要为命令提示符设置代理,可使用如下两条命令:

1
2
set HTTP_PROXY=http://user:password@proxy.domain.com:port
set HTTPS_PROXY=https://user:password@proxy.domain.com:port

而要为 PowerShell 设置代理则要使用这个脚本

对于 Shell 中运行的程序,有一部分使用的是 IE 的代理设置,比如 pipnpm 等,另一部分则使用的是 Shell 的代理设置,比如 curlgem 等。

此外,有一些程序的代理设置相对比较复杂,比如 gitdocker 等,详见它们各自的介绍文章。

移动网络/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
2
adb shell settings delete global captive_portal_server  
adb shell settings put global captive_portal_detection_enabled 0

Android 5.0-6.x:

1
adb shell settings put global captive_portal_server www.google.cn

执行之后,开启飞行模式,接着关闭飞行模式即可。

Read more »

GCC 一般有两层意思,广义是指 GNU Compiler Collection(即 GNU 编译器套装),狭义是指 GNU C Compiler(即 GNU C 语言编译器),在本文中,我默认大写的 GCC 指广义,小写的 gcc 指狭义。

使用 gcc 编译 C 语言源代码的一般格式如下:

1
gcc test.c -o test
Read more »

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- 开头的用于在模拟的硬件环境上运行某个程序,而非整个系统。

Read more »

Linux 中使用最广的构建工具是 make,而 make 会读取 Makefile 文件中的配置信息来完成构建,一个简单的 Makefile 文件如下所示:

1
2
3
4
5
6
7
8
editor : main.o text.o
gcc -o editor main.o text.o
main.o : main.c def.h
gcc -c main.c #-c参数指定生成.o文件
text.o : text.c com.h
gcc -c text.c
install : editor
mv editor /usr/local

具体而言,冒号前面为 target,即要生成的文件;冒号后面为 dependencies,即被依赖的文件;每一个 target:dependencies 对的下一行为要执行的命令(注意要以 Tab 键起首)。当 make 不带参数时,默认执行第一个 target。target 也可以是要求 make 要完成的动作,执行这种 target 后并不能得到和 target 同名的文件,因此,也称做 phony target(即伪 target),如第 7 行所示。dependencies 也可以为空,如常用的 target 为 clean 时,就没有依赖,只有命令,一般用于清理工作。

当输入 makemake editor,即可开始构建。若 editor 这个 target 文件不存在,或者 main.otext.o 这两个依赖文件被修改,都会导致 make 调用其下的命令 gcc -o editor main.o text.o;接下来,由于引用到 main.otext.o,make 会检查 main.o 的依赖 main.cdef.h 有无更新,如果有,则执行其下的命令 gcc -c main.c;同理,也适用于 text.o。当输入 make install,make 会检查 install 的依赖 editor 是否是最新,如果是,则执行其下的命令 mv editor /usr/local

Read more »

SMB

SMB全称Server Message Block(即服务器消息块),又称Common Internet File System(即网络文件共享系统),所以也常被缩写为SMB/CIFS

FTP

NFS

名词解释

软重启与硬重启

软重启(又称热重启)是指从操作系统层面上关机再开机,而硬重启(又称冷重启)是指直接关掉电源再开机。类似的,也有软(热)关机硬(冷)关机,其区别类似于在 Windows “开始”菜单中点击关机和直接关掉主机电源的区别。一般而言,软(热)关机对设备更好。

Read more »

汇编语言(Assembly Language,简称 ASM)由汇编指令伪指令其他符号组成,其中汇编指令有对应的机器码,而伪指令和其他符号没有对应的机器码,仅由汇编器识别执行。

架构

汇编语言是依赖底层 CPU 架构的,不同的 CPU 架构拥有不同的汇编语言,比如,常用于 PC 的x86 汇编和常用于嵌入式设备的ARM 汇编。由于 x86 架构又分为 16 位、32 位、64 位等,其相应的汇编也有稍许不同。本文主要以 32 位 x86 汇编为例做简要介绍。

Read more »

本文翻译自 https://null-byte.wonderhowto.com/how-to/essential-skills-becoming-master-hacker-0154509/ ,正文如下:

我的许多有抱负的黑客写信给我,都问同样的问题。“我需要什么技能才能成为一个好的黑客?”

由于黑客是最熟练的信息技术学科之一,因此需要广泛的 IT 技术和技术知识。要真正成为一名优秀的黑客,必须掌握许多技能。如果你没有我在此列出的所有技能,请不要气馁,可以将此列表作为你在不久的将来学习和掌握所需内容的起点。

Read more »
0%