逆向:PC逆向基础
必要性
纯汇编语言开发
高级语言内联汇编
Windows内核编程
逆向分析
汇编语言种类
x86汇编语言
x64汇编语言
伪指令
高级数据表示
win32汇编入门
内联汇编
硬编码程序是由数据和指令构成,在底层都是二进制(通常以十六进制查看),本质上并无太大区别。CPU 仅通过指令指针(如 EIP/RIP)指向的内存地址来将其解析为指令还是数据。
概念定义:在逆向分析中,“硬编码”通常指代机器码(Machine Code)或操作码(Opcode)。它是 CPU 硬件能够直接识别、解码并执行的底层指令字节。
与汇编的关系:汇编语言是硬编码的“助记符”。人读汇编,机器读硬编码。两者基本是一一对应的关系(经过汇编器编译)。
例如:汇编指令 NOP 对应的硬编码是 90;INT 3(断点)对应的硬编码是 CC。
在逆向工程中的应用:
Patch(打补丁/爆破):通过修改可执行文件中的硬编码来改变程序逻辑。例如将条件跳转 JZ(常对应硬编码 74)修改为强制跳转 JMP(EB)或用 NOP(90)填充掉某段验证代码。
特征码搜索:杀毒软件、游戏反作弊或外挂开发中,常通过定位一段特定的硬 ...
John
一、识别Hash类型john会自动识别需要破解的hash,但是很多时候会识别错误。
二、John的基本语法1john [options] [path to file]
[path to file]这个路径包含了你要破解的hash文件。为了方便我们将需要破解的hash值直接存放在了txt文件中。
John的自动破解John可以检测给出的hash类型,并为你选择合适的规则和格式来破解它,如果你不知道你的文件的加密类型。这将是最简单的选择!1john --wordlist=/usr/share/wordlists/mima.txt hash.txt如上,我们只需要指定密码字典的位置和hash的位置即可。
John指定类型如果你知道你的密码的加密类型。可以直接用—format参数来指定类型。1john --format=raw-md5 --wordlist=/usr/share/wordlists/mima.txt hash.txt
裂纹模式Single crack mode 是一种基于规则的破解技术,在针对 Linux 凭证时最为有效。它根据受害者的用户名、主目录名称和 GECOS 值(全名 ...
Hashcat
Hashcat-m /—hash-typeHash id对照表因为实在是太多了,所有我就贴一部分常见的hash类型,要想了解所有的参数可到hashcat的Wiki上去看,或者直接hashcat —help查看hash对照表
123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117- [ Hash modes ] - # | Name | Category ======+================================================= ...
内存取证基础——windows
Windows 内存取证核心命令与实战全书系统信息识别在正式敲入复杂命令前,确认镜像类型和提取基础信息是重中之重。
核心实战法则
工具选择策略:非 Windows 10 镜像可直接使用 Vol_all_in_one 进行一键自动化分析,极大提高效率。
Vol3 的不可替代性:面对 Windows 10 的内存镜像,Vol2 的某些功能(如系统识别、特定进程抓取)可能会失效,此时必须切换至 Volatility 3(如:2023 安洵杯 dacongのWindows)。
黄金线索点:取证过程中一定要记得优先查看镜像桌面上的文件!
系统信息获取命令
Vol2 识别操作系统信息:vol.py mem.dump imageinfo
Vol3 识别内存系统版本:vol3.py -f dacong.raw banners.Banners(注意:有时 Vol3 识别不出,但 Vol2 可以,两者需互补使用)。
进程与服务分析寻找异常程序、隐藏进程和恶意服务的核心环节。
进程全景扫描
Vol2 查看基础进程:vol.py -f OtterCTF.vmem --profile=Win7S ...
安卓常见配置信息路径
1. WiFi 配置信息:
位置: /data/misc/wifi/wpa_supplicant.conf
内容: 该文件存储了所有已保存的 WiFi 网络信息,包括 SSID、密码、安全类型等。
权限: 需要 root 权限才能访问和修改。
2. 蓝牙配置信息:蓝牙配置信息分散在多个位置,以下是一些重要的:
蓝牙配对信息:
1/data/misc/bluetooth/bt_config.conf
存储已配对蓝牙设备的信息,例如 MAC 地址和设备名称。
需要 root 权限才能访问和修改。
蓝牙配置文件:
1/system/etc/bluetooth
存储蓝牙服务的配置文件,例如音频配置文件 (A2DP) 和免提配置文件 (HFP)。
通常需要 root 权限才能修改。
蓝牙驱动和固件:
1/vendor/firmware
或
1/system/vendor/firmware
存储蓝牙芯片的驱动程序和固件文件。
通常需要 root 权限才能访问和修改。
安卓文件夹目录
1. 系统分区 (/)这是 Android 设备的根目录,包含所有系统文件和文件夹。
/system
包含 Android 操作系统核心文件,例如系统库、应用程序框架和系统应用程序。
/system/bin: 包含系统可执行文件。
/system/app: 包含系统应用程序的 APK 文件。
/system/framework: 包含 Android 框架文件。
/system/lib: 包含系统库文件。
/system/etc:存放系统的配置文件
/system/usr:存放用户的配置文件,如键盘布局、共享、时区等
/data
存储用户数据和应用程序数据。
/data/app: 安装的应用程序数据和 APK 文件。
/data/data: 每个应用程序的私有数据目录。
/data/local: 本地数据,例如数据库和缓存文件。
/data/misc:存放杂项
设备配置信息: 例如,设备的硬件信息、屏幕分辨率、电池信息等。
系统启动参数: 例如,系统启动时加载的模块、内核参数等。
无线网络配置: 例如,Wi-Fi 网络的 SSID、密码等。 ...
常见数据储存格式
数据存储格式:sqlite数据库
苹果系统简介
ios系统目录
目录
说明
Applications/
系统自带应用程序的安装目录,不包括从 App Store 下载的应用程序,例如 AppStore (AppStore.app)、相机 (Camera.app) 等。
Developer/
开发者调试使用的目录。
Library/
存放系统文件,例如壁纸 (Wallpaper)、铃声 (Ringtones) 等。
System/
包含系统组件,存在于 /System/Library 目录下。
private/
存放系统配置、应用程序数据文件,包含 /private/var、/private/etc 两个子目录。
etc/
系统脚本及配置文件,链接至 /private/etc 目录。
var/
存放经常变更的文件,例如应用程序数据、日志、临时文件等,链接至 /private/var 目录。
User/
应用程序数据,链接至 /var/mobile/,即 /private/var/mobile/。
tmp/
临时目录,链接至 /private/var/tmp/。
取证时主要关注应用数 ...
苹果软件包名
苹果常见软件包名社交通讯类:
应用软件
应用包名
应用软件
应用包名
WhatsApp
com.whatsapp
Twitter
com.twitter.twitter
Facebook
com.facebook.Facebook
Messenger
com.facebook.Messenger
Instagram
com.burbn.instagram
Telegram
org.telegram.messenger
WeChat
com.tencent.xin
浏览器类:
应用软件
应用包名
应用软件
应用包名
Safari
com.apple.mobilesafari
Chrome
com.google.chrome.browser
Firefox
org.mozilla.firefox
办公类:
应用软件
应用包名
应用软件
应用包名
Microsoft Word
com.microsoft.Word
Microsoft Excel
com.microsoft.Excel
Microsoft Pow ...
Docker 命令大全
Docker 核心知识与命令什么是 Docker?Docker 是一个开源的应用容器引擎,基于 Go 语言并遵从 Apache2.0 协议开源。它可以让开发者打包他们的应用以及依赖包到一个轻量级、可移植的容器中,然后发布到任何流行的 Linux/Windows 机器上,也可以实现虚拟化。 核心理念:“Build, Ship and Run Any App, Anywhere” (一次构建,到处运行)。
Docker 的发展与演进
早期探索 (dotCloud):Docker 最初是 dotCloud 公司创始团队(Solomon Hykes 等)的一个内部项目,基于 Google 推出的 Go 语言开发。2013 年初开源。
技术演进:
LXC 时代:早期 Docker 底层依赖于 Linux 特有的 LXC (Linux Containers) 技术。
libcontainer:从 Docker 0.9 开始,Docker 开发了 libcontainer 替代 LXC,实现了对底层特性的直接调用。
OCI 标准化:随着容器生态的壮大,Docker 剥离了底层运行时,捐献给了 OC ...








