16进制编辑器(16进制编辑器教程)

生活常识 2023-04-30 10:07生活常识www.baidianfengw.cn

  ImHex火了有一阵子了,像这样

  机器之心狂揽2500星,开源十六进制编辑器登顶GitHub热榜365 赞同 · 36 评论文章

  ImHex是什么?

  那么这么火他到底是个什么呢?

  ImHex是一款功能强大的十六进制编辑器,该工具专为逆向工程分析师、编程开发人员以及那些想好好保护自己眼睛的安全人员所设计。哪怕你每天工作到凌晨三点(虽然不建议),也不会伤害你的眼睛!

  为什么这么火呢?一定是颜值

  上截图

  ,一定是开源特性

  ImHex是一款开源的十六进制编辑器。开源地址为

  https://github.com/WerWolv/ImHexgithub.com/WerWolv/ImHex

  使用C++20编写,内部使用插件式管理方法加载窗体,其扩展性非常的强,开发上手也很快。

  相比之下,一些编辑器如010Edit,作为闭源产品收费较贵,显然ImHex让开源社区眼前一亮,都有一种“我也能开发编辑器的感觉”,而且事实上也确实是这样

  下面就让我们来试试这款 raising star

  编译ImHex

  系统选择Ubuntu20.04

  不要问问为什么不是ubuntu18,16,问了就是不符合编译要求,要么是这些系统上编译工具版本低,缺少一些新的特性,要么就是依赖安装不上

  安装依赖

  注意

  在cmake运行前要,export CXX=g++-10,否则汇报有些头文件找不到的错误,例如span头文件

  拉取仓库

  上面这个参数–recurse-submodules一定要加,因为该仓库还引用了一些其他仓库的代码,需要拉取。

  编译

  仓库拉取完毕之后,就是编译了,回到项目根目录

  这段编译得有一段时间,稍等一会。

  在老旧的机器上记得限制一下make的job的数量,例如`make -j4`,反正我年老的mac虚拟机死了很多次

  这CPU占用率,可怜了我的老mac

  这CPU占用率,可怜了我的老mac

  截图

  可怜我的老mac,最终还是提出了抗议。

  最终,只能在mac下编译,成功!

  编译

  主要工作在处理依赖和拉取子模块上,需要注意一些细节。

  打完收工!

  失败尝试使用镜像站的坑

  插曲 都知道github在墙的作用下,异常的慢。小明同学在拉取仓库的过程中,始终不能成功 作为合法公民的小明同学怎么能爬梯子呢? 所以使用了镜像源,https://github.com/ –>

  https://github.com.cnpmjs.org/ 把所有的上述字符串进行替换就行了,比如我们的拉取命令 git clone –recurse-submodules https://github.com.cnpmjs.org/WerWolv/ImHex.git 问题来了,submodules怎么办呢? 不要着急,先拉去ImHex的原来,然后我们找到项目下有个.gitmodules的文件(隐藏文件,直接vim就可以),像这样完成替换。 vim替换命令拿走不谢

  然后在项目路径http://www.changchenghao.cn/n/lib/external/下分别拉取上述源,笨办法 这里需要问小伙伴的问题是,我这里替换了里面的字符串,为什么用git submodules update,不管用呢?? 有知道的小伙伴望告知一下,感激不尽!!!

  该方案也存在一个问题就是:镜像站的镜像可能不是最新的,例如在编译本项目的过程中

  view_disassembler.cpp:305:109: error: use of undeclared identifier ‘CS_MODE_BPF_CLASSIC,在旧的镜像站中是没有的,在http://github.com中下载的才有,坑啊!!!

  唉没有办法!

  下载,解压,重新编译

Copyright@2015-2025 白癜风网版板所有