21 岁理工男开源的这个编辑器火遍全球附面试资源

来自:机器之心

最近在 GitHub 上最火的项目是一个对视力友好的十六进制编辑器,它上线仅 5 天就收获了 2500 star,最近 24 小时涨了 1600 star 量。

十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用。

常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容。十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据,并用较为友好的界面来编辑二进制数据。对于需要处理二进制数据的用户,它非常受欢迎,例如使用十六进制编辑器可以更改游戏中的部分设置。

常用的十六进制编辑器有 Bless Hex Editor、GNOME Hex Editor、Okteta 等。和大多数编辑器一样,人们对于十六进制编辑器的要求包括功能强大、可定制性、界面美观。近日,GitHub 上开源了一款名为 ImHex 的十六进制编辑器,上线 5 天,狂揽 2500 star。

项目地址:https://github.com/WerWolv/ImHex

十六进制编辑器 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-python

安装完这些库之后,运行以下命令来构建 ImHex:

mkdir build
cd build
cmake ..
make -j

该项目的作者 WerWolv 来自瑞士,今年仅 21 岁,是一名在读本科生。

参考链接:

https://zhuanlan.zhihu.com/p/59119723

https://www.howtoing.com/best-hex-editors-for-linux

附:网盘整理面试开发笔记,必看内容。

链接: https://pan.baidu.com/s/11NwCNq4WOWMpUFi9gQHYtQ 提取码: vsau

到此这篇关于21 岁理工男开源的这个编辑器火遍全球的文章就介绍到这了,更多相关开源编辑器内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • Java Swing中JTable渲染器与编辑器用法示例

    本文实例讲述了Java Swing中JTable渲染器与编辑器用法.分享给大家供大家参考,具体如下: JTable的内容.外观.事件响应在很大程度上是由渲染器与编辑器控制的.具体说来,渲染器负责单元格的外观比如前景色.背景色,以及单元格提示:编辑器负责单元格的内容和事件响应.编辑器默认为文本框形式,也可以使用下拉菜单.按钮.单选按钮等形式.下面通过一个demo程序来说明渲染器与编辑器的基本用法. JButtonTableExample.java package awtDemo; import j

  • 10款最好的Python开发编辑器

    Python 非常易学,强大的编程语言.Python 包括高效高级的数据结构,提供简单且高效的面向对象编程. Python 的学习过程少不了 IDE 或者代码编辑器,或者集成的开发编辑器(IDE).这些 Python 开发工具帮助开发者加快使用Python 开发的速度,提高效率.高效的代码编辑器或者 IDE 应该会提供插件,工具等能帮助开发者高效开发的特性. 这篇文章收集了一些对开发者非常有帮助的,最好的 10 款 Python IDEs.如果你有其他更好的推荐,请在评论和大家分享一下: 1.

  • 好用的Python编辑器WingIDE的使用经验总结

    WingIDE的使用 好的工具可以让你做事时,事半功倍!这一点在写代码的过程中尤为明显,使用Pyhton写程序有一年多了!各类编辑器IDE也使用了不少,如Pycharm,sublime,Qtcreator等等,最近开始使用WingIDE,发现使用起来非常顺手,而且支持目前所有主流操作系统!这篇博文用来记录总结,在安装和使用WingIDE过程中的一些有用的经验,技巧! 官网下载链接:http://wingware.com/downloads WingIDE的安装 在windows平台下的安装 1:

  • Java文本编辑器实现方法详解

    本文实例讲述了Java文本编辑器实现方法.分享给大家供大家参考,具体如下: 结构分析: 界面布局 : EditFrame main方法所在: EditText 打开功能实现:  FileReadThread 保存跟能实现:  save 实际运行效果: 附:完整代码实现 一. EditFrame 包括一个菜单Menu 底部:日期时间 代码附上: public class EditFrame extends JFrame { // TODO 自动生成的构造函数存根 boolean saveFlag

  • 21 岁理工男开源的这个编辑器火遍全球附面试资源

    来自:机器之心 最近在 GitHub 上最火的项目是一个对视力友好的十六进制编辑器,它上线仅 5 天就收获了 2500 star,最近 24 小时涨了 1600 star 量. 十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用. 常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容.十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据,并用较为友好的界面来编辑二进制数据.对于需要处理二进制数据的用

  • 免费开源百度编辑器(UEditor)使用方法

    UEditor效果图 一.简介 UEditor是一个开源免费的编辑器,由百度web前端研发部开发所见即所得富文本web编辑器,具有轻量,可定制,注重用户体验等特点,开源基于BSD协议,允许自由使用和修改代码. 官方网站:http://ueditor.baidu.com/ 二.下载地址 官方下载:http://ueditor.baidu.com/website/download.html 官网上下载完整源码包,解压到任意目录,解压后的源码目录结构如下所示:    _examples:编辑器完整版的

  • 21分钟 MySQL 入门教程

    21分钟 MySQL 入门教程 目录 一.MySQL的相关概念介绍 二.Windows下MySQL的配置 配置步骤 MySQL服务的启动.停止与卸载 三.MySQL脚本的基本组成 四.MySQL中的数据类型 五.使用MySQL数据库 登录到MySQL 创建一个数据库 选择所要操作的数据库 创建数据库表 六.操作MySQL数据库 向表中插入数据 查询表中的数据 更新表中的数据 删除表中的数据 七.创建后的修改 添加列 修改列 删除列 重命名表 删除整张表 删除整个数据库 八.附录 修改 root

  • 22个国外的Web在线编辑器收集

    1. TinyMCE 免费,开源,轻量的在线编辑器,基于 javascript,高度可定制,跨平台. 2. FCKEditor 免费,开源,用户量庞大的在线编辑器,有良好的社区支持. 3. YUI Editor 属于 Yahoo! YUI 的一部分,能输出纯净 Xhtml 代码. 4. NicEdit 简单,易用,轻量,外观漂亮的在线编辑器. 5. Kupu 开源,支持 ajax 保存,跨平台,易于集成,由 OSCOM 推出. 6. Free Rich Text Editor 非常容易部署,输出

  • ASP.NET中集成百度编辑器UEditor

    0.ueditor简介 UEditor是由百度WEB前端研发部开发的所见即所得的开源富文本编辑器,具有轻量.可定制.用户体验优秀等特点.开源基于BSD协议,所有源代码在协议允许范围内可自由修改和使用. UEditor官网:http://ueditor.baidu.com/website/index.html UEditor官方文档地址: http://fex.baidu.com/ueditor/ 1.将ueditor包导入项目 将从官网上下载的开发包解压后包含到项目中 (注:最新的代码需要时基于

  • asp.net(C#) 开源资源大汇总

    一.AOP框架Encase 是C#编写开发的为.NET平台提供的AOP框架.Encase 独特的提供了把方面(aspects)部署到运行时代码,而其它AOP框架依赖配置文件的方式.这种部署方面(aspects)的方法帮助缺少经验的开发人员提高开发效率. NKalore是一款编程语言,它扩展了C#允许在.net平台使用AOP.NKalore的语法简单.直观,它的编译器是基于MonoC#编译器(MCS).NKalore目前只能在命令行或#Develop内部使用.NKalore兼容公共语言规范CLS(

  • html在线编辑器的更新[2006-05]

    html编辑器的更新 fckeditor FCKeditor 2.3beta 已经发布了. 改写的部分代码,缩短了载入时间. 采用了新的工具栏系统,缩短了载入时间 新的右键快捷菜单,支持二级菜单 添加了一个新的功能可以将编辑区域调整到适合窗口大小 修复了一些bug,最重要的是修补了使用编辑器上传文件时的安全性问题.推荐升级到2.3 新的系统也可能使一些旧的皮肤不能使用 Tinymce 现在的版本是2.0.6.1 (2006-05-21) 修正了许多的bug  ,最重要的是添加了样式定义功能和添加

  • python用什么编辑器进行项目开发

    工欲善其事必先利其器,估计大部分的pythoner都是从python IDE开始了python之路.有很多的python IDE工具可以用,但是要从中选出一个用着趁手的IDE却是一项艰巨的任务. 你可以用最基本的文本编辑器来开始学习python编程,也可以用一个完整的功能丰富的python IDE,比如PyCharm, Pydev, Emacs 或者 Eric. 选择正确的编辑器对Python编程效率的影响是非常大的.所以专业的程序员都会发时间去选择一个最能满足其需求的IDE. 你该选哪一个呢?

  • 分享Java常用开发编辑器工具

    目录 1.editplus 1.1官方下载 2.解压就可以使用 2.1vscode 2.2下载 2.3解压建立data 2.4软件常用配置方式settings.json 2.5vscode使用说明及快捷方式 2.6为vscode增加鼠标右键功能 2.7用户代码段设置 2.8清除每次执行java程序的一组长字符串 3.Eclipse 3.1eclipse基本安装使用 3.2Eclipse隐藏菜单栏 3.3关闭spelling检查 3.4启动自动保存功能 3.5代码皮肤代码样式 3.6中英互译项目

  • Unity编辑器下重启的方法

    Unity编辑器下重启的方法 我们项目AssetBundle打包走的是全自动化流程,打包之前要进行各种资源检测,如果检测顺利通过,则进入打包,否则提示错误资源名称及路径,打包中断!有时候即使资源检测通过也会打包崩溃,初步断定是Unity的内存爆了,因为Unity在编辑器下打开工程中的资源不会释放掉,所以内存一直在占用,打包时要进行一系列资源依赖分析,我们也知道,如果资源量非常大时候,Unity要保存资源依赖的堆栈,所以会有内存崩掉的风险,所以我就想着,打包之前重启下Unity,让Unity释放掉

随机推荐