当前位置: 首页 > news >正文

使用修改过的arj源码编译和测试

前文
那个arj打补丁的代码说是针对exe文件的,里面有个模式去匹配EXE文件,怪不得老是出错,但是Linux二进制文件到底要不要打补丁?

 * $Id: postproc.c,v 1.5 2003/06/22 11:12:28 andrew_belov Exp $* ---------------------------------------------------------------------------* This  program  stores  the  CRC and  file  size of  ARJ.EXE  in it,  so  an* integrity check may be performed with ARJ i.

而他打补丁的方法居然是把文件长度和CRC校验值写入可执行文件,也真是罕见。我一来不知道Linux二进制文件的模式,二不知道校验值的算法,一定是写不对的,只能放弃。
继续在网上搜 arj和postproc.c,终于被我搜到下面这个存储库,https://github.com/joncampbell123/arj ,好巧不巧,存储库的英文说明正好是:

Cleanup of the old ARJ source code to compile cleanly on modern systems and fixes to compile on 64-bit platforms

说明有个人去针对64位系统专门去修了,共享在这里,时间也很巧。2016年,正好也是前文apt install的版本的年号。

更好的是GNUmakefile也已经生成,连前面配置步骤都免了,直接make --makefile GNUmakefile,果然前文那些错误一个都没有,但有一个新错误

upx --best ./linux-gnu/en/rs/arjsfxv/arjsfxv
make[1]: upx: No such file or directory

这个工具我认识,专门压缩可执行文件,不影响执行的,在这可有可无,把GNUmakefile中多余的upx注释掉,就好了, 编译出的arj命令行如下,和apt install的一样。

linux-gnu/en/rs/arj/arj
ARJ32 v 3.10, Copyright (c) 1998-2004, ARJ Software Russia. [01 Sep 2025]Processing archive: linux-gnu/en/rs/arj/arj
Archive created: 2025-09-01 13:01:08, modified: 2025-09-01 13:01:08List of frequently used commands and switches.  Type ARJ -? for more help.Usage:     ARJ <command> [-<sw> [-<sw>...]] <archive_name> [<file_names>...]
Examples:  ARJ a -e archive, ARJ e archive, ARJ l archive *.doc
<Commands>ac: Add Chapter to chapter archive     l: List contents of archivea: Add files to archive               m: Move files to archive 

再看GNUmakefile文件,也没有对arj文件打补丁的步骤,所以,CRC校验其实是不必要的?

http://www.dtcms.com/a/361994.html

相关文章:

  • java中常见的几种排序算法
  • 算法练习——189.轮转数组
  • 二、SVN基础命令速查表
  • Python OpenCV图像处理与深度学习:Python OpenCV对象检测入门-Haar级联分类器与人脸检测
  • LeetCode刷题-top100( 除自身以外数组的乘积)
  • MATLAB 实现同步压缩小波变换
  • C++ 虚继承:破解菱形继承的“双亲困境”
  • 拆解期货交易所:清算交收体系!
  • 配置sscms时被sql server处处刁难
  • 从 Skip Take 到 Keyset:C# 分页原理与实践
  • 考研复习-计算机网络-第一章-计算机网络概述
  • Parasoft C/C++test解析:覆盖率与可追溯性的软件测试协同方案
  • 免费GIS服务器方案:OGC标准3DTiles服务发布与跨平台渲染实践
  • 安全等保复习笔记
  • flume接收处理器:构建高可用与高性能的数据链路
  • Python 人工智能深度学习系统学习(附视频教程)
  • PowerPoint和WPS演示如何在放映PPT时用鼠标划重点
  • C++ STL序列容器-------list
  • 无人设备遥控器之安全加密体系
  • 【收藏级】Windows AI 本地开发「完全体」环境搭建清单
  • 多校区学校押金原路退回系统之免安装使用教程——东方仙盟
  • 计算机三级嵌入式填空题——真题库(28)原题附答案速记
  • matlab-神经网络的语音识别
  • 神经网络2——使用Keras实现MLP
  • 深度学习中常用的激活函数
  • 玩转OurBMC第二十二期:OurBMC之PCIe接口应用(上)
  • Triton Linalg编译
  • 系统性学习数据结构-第二讲-顺序表与链表
  • K8S-etcd数据库的相关操作
  • DHT11-温湿度传感器