5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神

5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神在 GitHub 上最火的项目是一个对视力友好的十六进制编辑器,它上线仅 5 天就收获了 2500 star,最近 24 小时涨了 1600 s

大家好,欢迎来到IT知识分享网。

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

5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神

十六进制编辑器是用于编辑单个字节数据的软件应用程序,主要由程序员或系统管理员使用。常规文本编辑器和十六进制编辑器之间的区别在于常规编辑器表示文件的逻辑内容,而十六进制编辑器表示文件的物理内容。十六进制编辑器可以让你以十六进制的形式查看或编辑文件的二进制数据,并用较为友好的界面来编辑二进制数据。对于需要处理二进制数据的用户,它非常受欢迎,例如使用十六进制编辑器可以更改游戏中的部分设置。常用的十六进制编辑器有 Bless Hex Editor、GNOME Hex Editor、Okteta 等。和大多数编辑器一样,人们对于十六进制编辑器的要求包括功能强大、可定制性、界面美观。近日,GitHub 开源了一款名为 ImHex 的十六进制编辑器,上线 5 天,狂揽 2500 star。

5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神

image.png

项目配套文档及源码获取方式:关注小编+私信【 0714】免费获取!!!

十六进制编辑器 ImHex

项目作者在 readme 文件中首先介绍了 ImHex 编辑器实现的功能特性。
特征

  • 十六进制视图
  • 字节补丁
  • 补丁管理
  • 复制字节作为特征
  • 字节
  • 十六进制字符串
  • C、C++、 c#、 Rust、PythonJava 和 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 就是如此:

5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神

5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神

编译假设你在 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

项目配套文档及源码获取方式:关注小编+私信【 0714】免费获取!!!

Linux核心知识点

1. 什么是Linux

Linux是一套免费使用和自由传播的类似Unix操作系统,一般的WEB项目都是部署都是放在Linux
操作系统上面。 Linux是一个基于POSIX和Unix的多用户、多任务、支持多线程和多CPU的操作系
统。它能运行主要的Unix工具软件、应用程序和网络协议。它支持32位和64位硬件。Linux继承了
Unix以网络为核心的设计思想,是一个性能稳定的多用户网络操作系统。

2. Windows和Linux的区别

Windows是微软开发的操作系统,民用操作系统,可用于娱乐、影音、上网。 Windows操作系统
具有强大的日志记录系统和强大的桌面应用。好处是它可以帮我们实现非常多绚丽多彩的效果,可
以非常方便去进行娱乐、影音、上网。
Linux的应用相对单纯很多,没有什么绚丽多彩的效果,因此Linux的性能是非常出色的,可以完
全针对机器的配置有针对性的优化,
简单来说Windows适合普通用户进行娱乐办公使用,Linux适合软件开发部署

3. Unix和Linux有什么区别?

Linux和Unix都是功能强大的操作系统,都是应用广泛的服务器操作系统,有很多相似之处,甚至
有一部分人错误地认为Unix和Linux操作系统是一样的,然而,事实并非如此,以下是两者的区
别。

  1. 开源性
    Linux是一款开源操作系统,不需要付费,即可使用;Unix是一款对源码实行知识产权保护的传统商业软件,使用需要付费授权使用。
  2. 跨平台性
    Linux操作系统具有良好的跨平台性能,可运行在多种硬件平台上;Unix操作系统跨平台性能
    较弱,大多需与硬件配套使用。
  3. 可视化界面
    Linux除了进行命令行操作,还有窗体管理系统;Unix只是命令行下的系统。
  4. 硬件环境
    Linux操作系统对硬件的要求较低,安装方法更易掌握;Unix对硬件要求比较苛刻,按照难度
    较大。
  5. 用户群体
    Linux的用户群体很广泛,个人和企业均可使用;Unix的用户群体比较窄,多是安全性要求高
    的大型企业使用,如银行、电信部门等,或者Unix硬件厂商使用,如Sun等。
    相比于Unix操作系统,Linux操作系统更受广大计算机爱好者的喜爱,主要原因是Linux操作
    系统具有Unix操作系统的全部功能,并且能够在普通PC计算机上实现全部的Unix特性,开源
    免费的特性,更容易普及使用!

4. 什么是 Linux 内核?

Linux 系统的核心是内核。内核控制着计算机系统上的所有硬件和软件,在必要时分配硬件,并根
据需要执行软件。

  1. 系统内存管理
  2. 应用程序管理
  3. 硬件设备管理
  4. 文件系统管理

5. Linux的基本组件是什么?

就像任何其他典型的操作系统一样,Linux拥有所有这些组件:内核,shell和GUI,系统实用程序
和应用程序。Linux比其他操作系统更具优势的是每个方面都附带其他功能,所有代码都可以免费
下载。

6. Linux 的体系结构

从大的方面讲,Linux 体系结构可以分为两块:

5天狂揽2500星,开源十六进制编辑器登顶GitHub热榜,直接封神

用户空间(User Space) :用户空间又包括用户的应用程序(User Applications)、C 库(C Library) 。
内核空间(Kernel Space) :内核空间又包括系统调用接口(System Call Interface)、内核(Kernel)、
平台架构相关的代码(Architecture-Dependent Kernel Code) 。
为什么 Linux 体系结构要分为用户空间和内核空间的原因?
1、现代 CPU 实现了不同的工作模式,不同模式下 CPU 可以执行的指令和访问的寄存器不同。
2、Linux 从 CPU 的角度出发,为了保护内核的安全,把系统分成了两部分。
用户空间和内核空间是程序执行的两种不同的状态,我们可以通过两种方式完成用户空间到内核空
间的转移:
系统调用;
硬件中断。

7. BASH和DOS之间的基本区别是什么?

BASH和DOS控制台之间的主要区别在于3个方面:
BASH命令区分大小写,而DOS命令则不区分;
在BASH下,/ character是目录分隔符,\作为转义字符。在DOS下,/用作命令参数分隔
符,\是目录分隔符
DOS遵循命名文件中的约定,即8个字符的文件名后跟一个点,扩展名为3个字符。BASH没
有遵循这样的惯例。

8. Linux 开机启动过程?

了解即可。
1、主机加电自检,加载 BIOS 硬件信息。
2、读取 MBR 的引导文件(GRUB、LILO)。
3、引导 Linux 内核。
4、运行第一个进程 init (进程号永远为 1 )。
5、进入相应的运行级别。
6、运行终端,输入用户名和密码

9. Linux系统缺省的运行级别?

关机。
单机用户模式。
字符界面的多用户模式(不支持网络)。
字符界面的多用户模式。
未分配使用。
图形界面的多用户模式。
重启。

10. Linux 使用的进程间通信方式?

了解即可,不需要太深入。
1、管道(pipe)、流管道(s_pipe)、有名管道(FIFO)。
2、信号(signal) 。
3、消息队列。
4、共享内存。
5、信号量。
6、套接字(socket) 。

11. Linux 有哪些系统日志文件?

比较重要的是 /var/log/messages 日志文件。
该日志文件是许多进程日志文件的汇总,从该文件可以看出任何入侵企图或成功的入侵。
另外,如果胖友的系统里有 ELK 日志集中收集,它也会被收集进去。

12. Linux系统安装多个桌面环境有帮助吗?

通常,一个桌面环境,如KDE或Gnome,足以在没有问题的情况下运行。尽管系统允许从一个环
境切换到另一个环境,但这对用户来说都是优先考虑的问题。有些程序在一个环境中工作而在另一
个环境中无法工作,因此它也可以被视为选择使用哪个环境的一个因素。

13. 什么是交换空间?

交换空间是Linux使用的一定空间,用于临时保存一些并发运行的程序。当RAM没有足够的内存来
容纳正在执行的所有程序时,就会发生这种情况。

14. 什么是root帐户

root帐户就像一个系统管理员帐户,允许你完全控制系统。你可以在此处创建和维护用户帐户,为
每个帐户分配不同的权限。每次安装Linux时都是默认帐户。

15. 什么是LILO?LILO是Linux的引导加载程序。它主要用于将Linux操作系统加载到主内存中,以便它可以开始运

行。

16. 什么是BASH?

BASH是Bourne Again SHell的缩写。它由Steve Bourne编写,作为原始Bourne Shell(由/ bin /
sh表示)的替代品。它结合了原始版本的Bourne Shell的所有功能,以及其他功能,使其更容易
使用。从那以后,它已被改编为运行Linux的大多数系统的默认shell。

17. 什么是CLI?

命令行界面(英语:command-line interface,缩写]:CLI)是在图形用户界面得到普及之前使
用最为广泛的用户界面,它通常不支持鼠标,用户通过键盘输入指令,计算机接收到指令后,予以
执行。也有人称之为字符用户界面(CUI)。
通常认为,命令行界面(CLI)没有图形用户界面(GUI)那么方便用户操作。因为,命令行界面
的软件通常需要用户记忆操作的命令,但是,由于其本身的特点,命令行界面要较图形用户界面节
约计算机系统的资源。在熟记命令的前提下,使用命令行界面往往要较使用图形用户界面的操作速
度要快。所以,图形用户界面的操作系统中,都保留着可选的命令行界面。

18. 什么是GUI?

图形用户界面(Graphical User Interface,简称 GUI,又称图形用户接口)是指采用图形方式显
示的计算机操作用户界面。
图形用户界面是一种人与计算机通信的界面显示格式,允许用户使用鼠标等输入设备操纵屏幕上的
图标或菜单选项,以选择命令、调用文件、启动程序或执行其它一些日常任务。与通过键盘输入文
本或字符命令来完成例行任务的字符界面相比,图形用户界面有许多优点。

项目配套文档及源码获取方式:关注小编+私信【 0714】免费获取!!!

免责声明:本站所有文章内容,图片,视频等均是来源于用户投稿和互联网及文摘转载整编而成,不代表本站观点,不承担相关法律责任。其著作权各归其原作者或其出版社所有。如发现本站有涉嫌抄袭侵权/违法违规的内容,侵犯到您的权益,请在线联系站长,一经查实,本站将立刻删除。 本文来自网络,若有侵权,请联系删除,如若转载,请注明出处:https://yundeesoft.com/61460.html

(0)

相关推荐

发表回复

您的电子邮箱地址不会被公开。 必填项已用 * 标注

关注微信