关键词:
前言
最近在 GitHub 上最火的项目是一个对视力友好的十六进制编辑器,它上线仅 5 天就收获了 2500 star,最近 24 小时涨了 1600 star 量。
十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用。
常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容。十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据,并用较为友好的界面来编辑二进制数据。对于需要处理二进制数据的用户,它非常受欢迎,例如使用十六进制编辑器可以更改游戏中的部分设置。
常用的十六进制编辑器有 Bless Hex Editor、GNOME Hex Editor、Okteta 等。和大多数编辑器一样,人们对于十六进制编辑器的要求包括功能强大、可定制性、界面美观。近日,GitHub 上开源了一款名为 ImHex 的十六进制编辑器,上线 5 天,狂揽 2500 star。
项目地址:(见文末)
十六进制编辑器 ImHex
项目作者在 readme 文件中首先介绍了 ImHex 编辑器实现的功能特性。
特征
- 十六进制视图
- 字节补丁
- 补丁管理
- 复制字节作为特征
- 字节
- 十六进制字符串
- C、C++、 c#、 Rust、Python、Java 和 JavaScript 数组
- ASCII-Art 十六进制视图
- HTML 自包含 div
- 字符串和十六进制搜索
- 彩色高亮显示
- 从开始、结束以及当前光标位置 goto
- 类似于 C++ 的自定义语言,用于突出显示文件内容
- 基于 MIME 类型的自动加载
- 数组、指针、结构,共用体,枚举,位段,使用声明,大小端支持
- 有用的 error 信息,语法高亮显示和 error 标记
- 数据导入
- Base64 文件
- IPS 和 IPS32 补丁
- 数据导出
- IPS 和 IPS32 补丁
- 数据 Exporting
- 数据检查器允许将数据解析为多种类型(小端和大端)
- 支持并能快速有效地加载大型文件
- 字符串搜索
- 复制字符串
- 复制 demangled 字符串
- 文件哈希支持
- 具有自定义初始值和多项式的 CRC16 和 CRC32
- MD4, MD5
- SHA-1, SHA-224, SHA-256, SHA-384, SHA-512
- 支持多种架构的反汇编器
- ARM32 (ARM, Thumb, Cortex-M, aarch32)
- ARM64
- MIPS (MIPS32, MIPS64, MIPS32R6, Micro)
- x86 (16 bit, 32 bit, 64 bit)
- PowerPC (32 bit, 64 bit)
- Sparc
- SystemZ
- XCore
- M68K
- TMS320C64X
- M680X
- Ethereum
- 自定义视图
- 区域突出显示
- 注释
- 数据分析
- 基于文件解析器和 MIME 类型的数据库的 file magic
- 字节分布图
- 熵图
- 最大熵和平均熵
- 加密 / 压缩文件检测
- 实用工具
- Itanium 和 MSVC demangler
- ASCII 表
- 正则表达式替换
- 数学表达式评估器(计算器)
- 十六进制颜色选择器
- 为模式语言和数学评估内置速查表
- 在深夜使用时对视网膜友好
界面美观
每款编辑器都有自己的风格,越来越多的开发者青睐于黑色背景、彩色高亮显示的界面风格,ImHex 就是如此:
编译
假设你在Windows或者 Arch Linux 中使用 mingw,需要兼容 C++20 的编辑器(例如 GCC 10.2.0)来编译 ImHex。编译 ImHex 需要的库都可以在 pacman 包中找到,如下所示
GLFW3 ( (sudo) pacman -S glfw )
libmagic, libgnurx, libtre, libintl, libiconv ( (sudo) pacman -S file )
libcrypto ( (sudo) pacman -S openssl )
capstone ( (sudo) pacman -S capstone )
libLLVMDemangle ( (sudo) pacman -S llvm llvm-libs )
nlohmann json ( (sudo) pacman -S nlohmann-json )
Python3 ( (sudo) pacman -S python3 )
All in one for Arch Linux: sudo pacman -S glfw file openssl capstone llvm llvm-libs nlohmann-json python3
All in one for Fedora: sudo dnf install cmake gcc-c++ capstone-devel glfw-devel glm-devel json-devel llvm-devel mesa-libGL-devel openssl-devel python-devel
All in one for MinGW: pacman -S mingw-w64-x86_64-gcc mingw-w64-x86_64-cmake mingw-w64-x86_64-make mingw-w64-x86_64-capstone mingw-w64-x86_64-glfw mingw-w64-x86_64-glm mingw-w64-x86_64-file mingw-w64-x86_64-llvm mingw-w64-x86_64-nlohmann-json mingw-w64-x86_64-openssl mingw-w64-x86_64-polly mingw-w64-x86_64-pytho
安装完这些库之后,运行以下命令来构建ImHex:
mkdir build
cd build
cmake ..
make -j
该项目的作者WerWolv来自瑞士,今年仅21岁,是一名在读本科生。
最后
要命!《程序员延寿指南》火爆github,日涨1500+星,跟着码农干多活20年
...南》的项目在GitHub上大受欢迎,几天狂揽5.5k颗星星。这个项目的作者本人,恰恰就是一名程序员。在这份延寿指南中,各种方法被严格地划分成输入、输出和上下文三类,每一种方法都有可以量化的指标和结果。... 查看详情
github上多星项目no.5
55395⭐Chart.js:SimpleHTML5Chartsusingthe<canvas>taghttps://github.com/chartjs/Chart.jshttps://github.com/chartjs/Chart.jshttps://github.com/chartjs/Chart.js 查看详情
转:github万星推荐成长技术清单
...该板块(Awesome类项目没有新的内容),给了“reject”。这个项目由Twitter账号@HackwithGith 查看详情
5分钟发布项目到github
...1、cd进入你放项目文件的地址2、输入gitinit如下图所示,这个意思是在当前项目的目录中生成本地的git管理(会发现在当前目录下多了一个.git文件夹)3、输入gitadd.这个是将项目上所有的文件添加到仓库中的意思,如果想添加某... 查看详情
github上多星项目no.2
12030⭐web3.js:EthereumJavaScriptAPIhttps://github.com/ChainSafe/web3.jshttps://github.com/ChainSafe/web3.js 查看详情
idea集成git版本控制
...在idea中搭建你的项目环境3:在你电脑的某一个盘符:clone这个仓库下来:然后把代码复制到这个盘,使用小乌龟,提交push到github的仓库4:删除idea的aigou_parent项目开发人员:5:通过idea===》file==>new===>projectfromversio 查看详情
github上多星项目no.4
5135⭐mavonEditor:AmarkdowneditorbasedonVuethatsupportsavarietyofpersonalizedfeatureshttps://github.com/hinesboy/mavonEditorhttps://github.com/hinesboy/mavonEditorhttp://www.mavoneditor.com/http://www.mavoneditor.com/ 查看详情
github上多星项目no.11
6.5k⭐tailblocks:Ready-to-useTailwindCSSblocks.https://github.com/mertJF/tailblockshttps://github.com/mertJF/tailblockshttps://tailblocks.cc/https://tailblocks.cc/ 查看详情
github上多星项目no.11
6.5k⭐tailblocks:Ready-to-useTailwindCSSblocks.https://github.com/mertJF/tailblockshttps://github.com/mertJF/tailblockshttps://tailblocks.cc/https://tailblocks.cc/ 查看详情
如何通过git将写好的项目发布到github上
...址记下来3.打开Git4.进入项目本地所在目录5.输入:gitinit这个意思是在当前项目的目录中生成本地的git管理。6.输入gitadd.//这个是将项目上所有的文件添加到仓库中的意思,如果想添加某个特定的文件,只需把.换成这个特定的文... 查看详情
git上传本地项目到github
...提示页面,记下类似[email protected]:XXX/XXX.git的地址,这个就是你这个 查看详情
github上多星项目no.9
12k⭐x-spreadsheet:Aweb-basedJavaScript(canvas)spreadsheet基于JavaScript快速构建WebExcelhttps://github.com/myliang/x-spreadsheethttps://github.com/myliang/x-spreadsheethttps://myliang.github.io/x-spreadsheet/https://myliang.github.io/x-spreadsheet/ 查看详情
github上多星项目no.6
20.1k⭐nocodb:🔥🔥🔥OpenSourceAirtableAlternative-TurnsanyMySQL,PostgreSQL,SQLServer,SQLite&MariaDBintoasmart-spreadsheet.https://github.com/nocodb/nocodbhttps://github.com/nocodb/nocodbhttps://github.com/nocodb/nocodb 查看详情
github上多星项目no.3
12.5K⭐YesPlayMusic:高颜值的第三方网易云播放器,支持Windows/macOS/Linuxhttps://github.com/qier222/YesPlayMusichttps://github.com/qier222/YesPlayMusichttps://music.qier222.com/https://music.qier222.com/ 查看详情
github上多星项目no.1
...的总行数以及按语言分组的代码,注释和空格.)https://github.com/XAMPPRocky/tokeihttps://github.com/XAMPPRocky/tokeihttps://github.com/XAMPPRocky/tokei 查看详情
git更新github项目
1.把github上你想要更新修改的项目克隆到本地$gitclonehttps://github.com/delav/test.git 2.根据自己需求对项目进行修改 3.把项目放到缓存区$gitadd* 4.提交到仓库$gitcommit-m"changexxx" 5.把更新后的代码推送到github仓库$git... 查看详情
github上多星项目no.10
4.3k⭐braft-editor:美观易用的React富文本编辑器,基于draft-js开发https://github.com/margox/braft-editorhttps://github.com/margox/braft-editorhttps://braft.margox.cn/https://braft.margox.cn/ 查看详情
使用git将项目上传到github
...生成文件LICENSE 4.点击Cloneordowload会出现一个地址,copy这个地址备用。5.接下来就到本地操作了,首先右键你的项目,如果你之前安装git成功的话,右键会出现两个新选项,分别为GitGuiHere,GitBashHere,这里我们选择GitBashHere,进入... 查看详情