avatar
Articles
415
Tags
259
Categories
26

Theqiqi_blog
Search

Theqiqi_blog

3.使用 ndisasm 反汇编 boot.bin
Created2025-03-25|OperatingSystem|assembly•gcc•Linux•OperatingSystem•Vmware
使用 ndisasm 反汇编 boot.binndisasm 是 NASM 自带的反汇编工具,非常适合 16 位实模式代码,输出接近 Intel 语法,更易于与源码对照。 一、反汇编命令1ndisasm -b 16 boot.bin -b 16:指定 16 位模式 boot.bin:目标二进制文件(纯启动扇区) 二、反汇编结果示例以打印 "Hi" 的 bootloader 为例: 1234567891000000000 B40E mov ah,0Eh00000002 B048 mov al,'H'00000004 CD10 int 10h00000006 B069 mov al,'i'00000008 CD10 int 10h0000000A EBFE jmp 0Ah ; 无限循环0000000C 0000 a ...
2.在 Linux 中使用系统自带工具反汇编 boot引导程序
Created2025-03-25|OperatingSystem|assembly•gcc•Linux•OperatingSystem•Vmware
在 Linux 中反汇编 boot.bin(16 位启动扇区)boot.bin 是纯二进制格式(无 ELF 头)的 16 位 bootloader,因此反汇编时需要手动指定架构与格式。Linux 自带的 objdump 就能完成。 一、反汇编命令对于 x86 16 位 bootloader: 1objdump -D -b binary -m i8086 boot.bin 参数说明 -D:反汇编全部内容(纯二进制无段信息,只能全部解析) -b binary:指定输入为原始二进制文件 -m i8086:指定反汇编架构为 Intel 8086(16 位实模式) 二、反汇编结果解析以打印 “Hi” 的启动扇区为例,常见结果如下(只截取核心部分): 123456789101112131415boot.bin: file format binaryDisassembly of section .data:00000000 <.data>: 0: b4 0e mov $0xe,%ah 2: b0 48 ...
1.使用系统自带的as+objcopy+dd+VMware完成bios引导程序
Created2025-03-25|OperatingSystem|assembly•gcc•Linux•OperatingSystem•Vmware
1. 编写代码12345678910111213141516.code16 # 声明 16 位模式(实模式).global _start_start: mov $0x0e, %ah # BIOS 功能:打印字符 mov $'H', %al # 字符 'H' int $0x10 # 调用 BIOS 中断 mov $'i', %al # 字符 'i' int $0x10loop: jmp loop # 无限循环.fill 510 - (. - _start), 1, 0 # 填充到 510 字节.word 0xaa55 # 启动标志 2. 使用 GNU as 将汇编代码转为二进制文件如果系统只有 as(AT&T 语法)并使用 VMware 测试,也可以制作简易 bootloader。 as 默认 ...
0.用nasm编写一个boot程序打印hellworld
Created2025-03-25|OperatingSystem|assembly•nasm•first pragram•OperatingSystem•qemu
Bootlaoder1. 使用汇编语言编写一个二进制程序,显示HelloWorld1. 编写asm.asmasm.asm 1234567891011121314151617181920212223242526272829303132333435[BITS 16][ORG 0x7c00]start: cli ;Clear interrupts mov ax, 0x00 mov ds, ax mov es, ax mov ss, ax mov sp,0x7c00 sti ; Enable interrupts mov si, msgprint : lodsb ; Loads byte at ds:si to AL register and incremens SI cmp al, 0 je done mov ah, 0x0E int 0x10 jmp printdone: cli hlt ; Stop further CPU executionmsg: db 'Hello World! ...
37.添加图片资源
Created2025-03-24|QT6_Gui|C++•Qt6•GUI•Cmake
添加图片1. 第一步:创建资源文件 (res.qrc)在你的项目根目录下(和 CMakeLists.txt 同级),手动创建一个名为 res.qrc 的文本文件,内容如下: 1234567<!DOCTYPE RCC><RCC version="1.0"><qresource prefix="/"> <file>icons/new.png</file> <file>icons/open.png</file> <file>icons/save.png</file> </qresource></RCC> 2. 第二步:在 CMakeLists.txt 中配置你需要告诉 CMake 处理这个资源文件。核心命令是开启 AUTORCC。 123456789101112131415# 1. 必须开启自动资源处理set(CMAKE_AUTORCC ON)# 2. 找到你的资源文件set(RESOURCES ...
36.QPushButton
Created2025-03-24|QT6_Gui|C++•Qt6•GUI•Cmake
QPushButtonmain.cpp1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162#include <QApplication>#include <QWidget>#include <QPushButton>#include <QVBoxLayout>#include <QMenu>#include <QShortcut>#include <QDebug>#include <qstyle.h>void setupButtonDemo(QWidget *parent) { QVBoxLayout *layout = new QVBoxLayout(parent); // --- 1. 基础按钮 --- QPushButton *normalBtn = new QPushButton( ...
35.QRadioButton
Created2025-03-24|QT6_Gui|C++•Qt6•GUI•Cmake
QRadioButtonmain.cpp12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970#include <QApplication>#include <QWidget>#include <QRadioButton>#include <QGroupBox>#include <QVBoxLayout>#include <QHBoxLayout>#include <QLabel>#include <QDebug>void setupRadioButtonDemo(QWidget *parent) { QVBoxLayout *mainLayout = new QVBoxLayout(parent); // --- 1. 性别选择组 (QGroupBox 实现逻辑分 ...
34.QCheckBox
Created2025-03-24|QT6_Gui|C++•Qt6•GUI•Cmake
QCheckBoxmain.cpp1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859#include <QApplication>#include <QWidget>#include <QCheckBox>#include <QVBoxLayout>#include <QLabel>#include <QPushButton>#include <QDebug>void setupCheckBoxDemo(QWidget *parent) { QVBoxLayout *layout = new QVBoxLayout(parent); // --- 1. 基础用法:开关控制 --- QCheckBox *agreeCheck = new QCheckBox("我已阅读并同意服务协议", par ...
33.QToolButton
Created2025-03-24|QT6_Gui|C++•Qt6•GUI•Cmake
QToolButtonmain.cpp1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768#include <QApplication>#include <QWidget>#include <QToolButton>#include <QVBoxLayout>#include <QHBoxLayout>#include <QMenu>#include <QStyle>#include <QDebug>void setupToolButtonDemo(QWidget *parent) { QVBoxLayout *mainLayout = new QVBoxLayout(parent); QHBoxLayout *rowLayout = new QHBoxLayout(); ...
32.QTableView
Created2025-03-24|QT6_Gui|C++•Qt6•GUI•Cmake
QTableViewmain.cpp123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263#include <QApplication>#include <QWidget>#include <QTableView>#include <QStandardItemModel>#include <QVBoxLayout>#include <QHeaderView>#include <QPushButton>#include <QDebug>#include <qlabel.h>void setupTableViewDemo(QWidget *parent) { QVBoxLayout *layout = new QVBoxLayout(parent); // --- 1. 创建模型 (M ...
1…141516…42
avatar
Theqiqi
Articles
415
Tags
259
Categories
26
Follow Me
Announcement
This is my Blog
Recent Post
03-反馈流2026-08-21
02-错误流2026-08-21
01-控制流2026-08-20
05-多系统协作的十条流2026-08-19
04-多层系统的十条流2026-08-18
Categories
  • C with Socks16
  • C_Sound10
  • C_Windows_Graphi9
  • Cpp5
  • Cpp_Socket4
  • C语言在Windows中实现抓包4
  • C语言的万种用法9
  • Debian1
Tags
十阶段 接口先行 Qt主题架构 WindowsDriver python 从输入到交互 select LinuxDriver 入口系统 UDP服务器与可靠性 微服务与组装边界 DLL javascript 多系统组成的网络通信软件 Piano 拆解资源 游戏类型演化 Kali 建模与逆向 BSD Sockets x86汇编程序 IPV4 Drvier 认知能力分解 技术流 qemu Ninja 业务流程到功能点 用头文件验证依赖 引擎组装 Sound 从状态到系统 epoll QEMU 依赖接口 shell 依赖关系 Graphi 拆解美术 只有组件的子系统如何被加载
Archives
  • August 2026128
  • January 20261
  • April 20251
  • March 202595
  • February 202523
  • September 20242
  • August 202471
  • June 20242
Info
Article :
415
UV :
PV :
Last Update :
©2020 - 2026 By Theqiqi
Framework Hexo|Theme Butterfly
Search
Loading the Database