winhex使用简介

winhex简介

WinhexX-Ways公司出品的一款十六进制编辑磁盘编辑软件,其公司网站对其功能介绍如下:

  •    可以对硬盘、软盘、CD-ROM、DVD、ZIP及各种存储卡进行编辑
    
  •    支持FAT、NTFS、Ext2/3、ReiserFS、Reiser4、UFS、CDFS、UDF等文件系统
    
  •    可支持重组RAID及动态磁盘
    
  •    附带数据恢复功能
    
  •    可以访问物理内存及虚拟内存
    
  •    内置数据解释器,可以识别解释20种数据类型
    
  •    可以用数据结构模板查看、编辑结构数据
    
  •    可以分割与合并文件
    
  •    可以对文件进行分析与对比
    
  •    具有灵活的搜索和替换功能
    
  •    可以对磁盘进行克隆
    
  •    可对磁盘进行压缩镜像备份,支持对备份文件进行分卷处理
    
  •    具有编程接口,支持脚本操作
    
  •    支持256位加密、校验和、CRC32、hash(MD5,SHA-1)计算
    
  •    支持对磁盘进行数据安全销毁
    
  •    包含ANSI ASCII, IBM ASCII, EBCDIC, Unicode字符集
    
  •    支持文件大小超过4GB
    

从上面官网介绍可以看出:winhex功能非常丰富,也很强大,具体的功能使用介绍这里就不说了,童鞋们有兴趣可以去安恒萌新粉丝群:928102972群文件下载《最完整的winhex教程集合+winhex数据恢复入门使用教程》工具(X-Ways WinHex 19.6-SR0 x86/x64绿色汉化版)
winhex使用简介_第1张图片
这里就谈谈winhex在CTF中的简单应用,欢迎各位大佬在评论区发表高端的操作技巧或者经验分享。

十六进制编辑

这个功能也是最常用的,ctf中经常会用来查看十六进制数据和ascii码修改文件头修改图片IHDR等。

查看十六进制数据和ascii码

把目标文件直接拖进winhex或者文件——>打开——>选择要打开的文件
winhex使用简介_第2张图片
会有些送分题,打开直接ctrl+f,输入搜索flag,会有意想不到的惊喜
winhex使用简介_第3张图片
这里也就比直接给flag多了个ascii编码
winhex使用简介_第4张图片

修改文件头

在CTF经常会遇到打开文件错误或者无法打开文件,但是又已知文件格式后缀
可以检查一下文件头或者文件尾是否完整。
常见文件文件头文件尾格式总结及各类文件头
winhex使用简介_第5张图片
例如下面这题:
winhex使用简介_第6张图片
发现这个gif文件打开错误,发现缺少文件头。
光标点击第一个字符处,点击编辑——>粘贴0字节——>在弹窗中输入0字节数的输入框里输入4——>确定
winhex使用简介_第7张图片
发现多了4个字节的空位,然后点击十进制值00,依次在键盘里输入gif的文件头47494638,然后点击保存
winhex使用简介_第8张图片
发现图片可以正常打开了

然后用一些看图软件或者gif编辑工具,逐帧查看记录下flag即可
这里推荐一个在线转换编辑gif的工具https://ezgif.com/功能很丰富。

修改图片IHDR

文件头数据块IHDR(header chunk):它包含有PNG文件中存储的图像数据的基本信息,并要作为第一个数据块出现在PNG数据流中,而且一个PNG数据流中只能有一个文件头数据块。
文件头数据块由13字节组成,它的格式如下表所示。
winhex使用简介_第9张图片
有时候我们拿到的图片可能是显示不完全的
winhex使用简介_第10张图片
这里查看到十六进制高度值
winhex使用简介_第11张图片
这时候就可以去尝试修改IHDR中的宽高值。这里只要修改高度值为02 7F
winhex使用简介_第12张图片
最终效果
winhex使用简介_第13张图片

修改软件界面名字

这个也可以用很多资源工具实现,比如reshack,用winhex手动也可以实现
前提: 确定原始的软件被替换的文字,必须是软件存在的,而且替换文字长度不能比被替换文字长,否则程序就可能被破坏了,可能导致程序无法正常运行哦。
这里我拿godofhack演示,对就是这个屌炸天的工具,黑客神器,谁用谁知道!
winhex使用简介_第14张图片
这里把一键锤爆出题人的头改成安恒大学是最可爱的
winhex使用简介_第15张图片
首先查询出这些文字的ASCII编码值

一     键     锤     爆     出     题     人     的     头
0x4e00;0x952e;0x9524;0x7206;0x51fa;0x9898;0x4eba;0x7684;0x5934;
安     恒     大     学     是     最     可     爱     的
0x5b89;0x6052;0x5927;0x5b66;0x662f;0x6700;0x53ef;0x7231;0x7684;

得到了每一个字的编码,我们来组合一下完整的十六进制存储序列。我们不看0x,每一个编码只剩下4个数字,后面两位放在前面,前面两位放在后面,那么一键锤爆出题人的头的完整的十六进制序列为004e 2e95 2495 0672 fa51 9898 ba4e 8476 3459替换成895b 5260 2759 665b 2f66 0067 ef53 3172 8476
最终效果如下
winhex使用简介_第16张图片
修改其他字符也是一样的原理。
#其他
CTF还会遇到一些几个文件合并成一个的,那种可以用File_Analysis这个工具简单分析一下,然后打开winhex搜索文件头尾讲数据块复制出来另存实现文件分离。linux里可以用binwalk -e 文件名。
还有一些修改软件界面名字内存编译磁盘编辑数据恢复等更高级的功能就让小伙伴们自行探索吧

首发于安恒网络空间安全讲武堂公众号请大家多多关注!
winhex使用简介_第17张图片
博客原文地址

你可能感兴趣的:(工具使用教程)