使用WinHex观察内存(C)

本文介绍了如何使用WinHex来观察C语言程序运行时的内存情况。首先,通过bat脚本进行C代码的编译和链接。接着,展示了C代码中变量的初始化值在内存中的位置。当输入字符串后,利用WinHex手动刷新查看内存数据的变化,揭示了内存中的数据存储遵循小尾模式。
摘要由CSDN通过智能技术生成

咳咳,好久没写博客了,主要太忙(懒)了,以后会坚持写博客,记录学习的一点一滴。

1. 首先,编写个bat脚本,使用命令行进行C的编译链接,这里需配置环境变量

@echo off
set /p var=请输入源代码文件名:
@echo on

cl /c /W4 /WX %var%.c
link %var%.obj

@echo off
pause
cls
@echo on

%var%.exe

@echo off
del %var%.obj
del %var%.exe

cl命令是编译指令,link是链接指令

2.编写C代码

#include <stdio.h>
#include <process.h> 

int main(){
	
	int num1 = 0x99999999;
	int num2 = 0x11111111;
	int num3 = 0x55555555;
	char buf[16]={0};

	printf("地址:0x%x\r\n",(unsigned int)&num1);
	scanf_s("%s",buf,15); //SDL
	num1=0x12345678;
	num2=0;
	num3=0x87654321;
	system("pause");
}

3. 使用编写好的脚本进行编译链接,这里我的编译脚本是compile.bat,C的源文件为hello.c,跑完脚本后会多出两个文件,hello.obj(cl指令生成)和hello.exe(link指

WinHex 是一款以通用的 16 进制编辑器为核心,专门用来对付计算机取证、数据恢复、低级数据处理、以及 IT 安全性、各种日常紧急情况的高级工具: 用来检查和修复各种文件、恢复删除文件、硬盘损坏、数码相机卡损坏造成的数据丢失等。得到 ZDNet Software Library 五星级最高评价,拥有强大的系统效用。功能包括 (依照授权类型): - 硬盘, 软盘, CD-ROM 和 DVD, ZIP, Smart Media, Compact Flash, 等磁盘编辑器... - 支持 FAT, NTFS, Ext2/3, ReiserFS, Reiser4, UFS, CDFS, UDF 文件系统 - 支持对磁盘阵列 RAID 系统和动态磁盘的重组、分析和数据恢复 - 多种数据恢复技术 - 可分析 RAW 格式原始数据镜像文件中的完整目录结构,支持分段保存的镜像文件 - 数据解释器, 已知 20 种数据类型 - 使用模板编辑数据结构 (例如: 修复分区表/引导扇区) - 连接和分割、以奇数偶数字节或字的方式合并、分解文件 - 分析和比较文件 - 搜索和替换功能尤其灵活 - 磁盘克隆 (可在 DOS 环境下使用 X-Ways Replica) - 驱动器镜像和备份 (可选压缩或分割成 650 MB 的档案) - 程序接口 (API) 和脚本 - 256 位 AES 加密, 校验和, CRC32, 哈希算法 (MD5, SHA-1, ...) - 数据擦除功能,可彻底清除存储介质中残留数据 - 可导入剪贴板所有格式数据, 包括 ASCII、16 进制数据 - 可进行 2 进制、16 进制 ASCII, Intel 16 进制, 和 Motorola S 转换 - 字符集: ANSI ASCII, IBM ASCII, EBCDIC, (Unicode) - 立即窗口切换、打印、生成随机数字 - 支持打开大于 4 GB 的文件,非常快速,容易使用。 - 广泛的联机帮助 [隐藏介绍]
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值