c语言修改elf文件crc32,hash/crc32
import "hash/crc32"
概述
索引
示例
概述
Package crc32 实现32位循环冗余校验或CRC-32校验和。有关信息,请参阅http://en.wikipedia.org/wiki/Cyclic_redundancy_check。
多项式以 LSB 优先形式表示,也称为反转表示形式。
有关信息,请参阅http://en.wikipedia.org/wiki/Mathematics_of_cyclic_redundancy_checks#Reversed_representations_and_reciprocal_polynomials。
索引
常量
变量
func Checksum(data []byte, tab *Table) uint32
func ChecksumIEEE(data []byte) uint32
func New(tab *Table) hash.Hash32
func NewIEEE() hash.Hash32
func Update(crc uint32, tab *Table, p []byte) uint32
type Table
func MakeTable(poly uint32) *Table
示例
MakeTable
包文件
crc32.go crc32_amd64.go crc32_generic.go
常量
预定义的多项式。
const ( // IEEE是迄今为止最常见的CRC-32多项式。 // 由以太网(IEEE 802.3),v.42,fddi,gzip,zip,png,......使用
IEEE = 0xedb88320 // Castagnoli的多项式,用于iSCSI。 // 具有比IEEE更好的错误检测特性。 // http://dx.doi.org/10.1109/26.231911
Castagnoli = 0x82f63b78 // 库普曼(Koopman's)的多项式。 // 还具有比IEEE更好的错误检测特性。 // http://dx.doi.org/10.1109/DSN.2002.1028931
Koopman = 0xeb31d82e)
CRC-32 校验和的大小(以字节为单位)。
const Size = 4
变量
IEEETable 是 IEEE 多项式的表格。
var IEEETable = simpleMakeTable(IEEE)
func Checksum
func Checksum(data []byte, tab *Table) uint32
校验和使用表格表示的多项式返回数据的 CRC-32 校验和。
func ChecksumIEEE
func ChecksumIEEE(data []byte) uint32
ChecksumIEEE 使用 IEEE 多项式返回数据的 CRC-32 校验和。
func New
func New(tab *Table) hash.Hash32
New 创建一个新的 hash.Hash32 ,使用表中表示的多项式计算 CRC-32 校验和。它的 Sum 方法将以 big-endian 字节顺序排列值。
func NewIEEE
func NewIEEE() hash.Hash32
NewIEEE 创建一个新的 hash.Hash32 ,使用 IEEE 多项式计算 CRC-32 校验和。它的 Sum 方法将以 big-endian 字节顺序排列值。
func Update
func Update(crc uint32, tab *Table, p []byte) uint32
更新返回将 p 中的字节添加到 crc 的结果。
type Table
表格是一个256字的表格,表示高效处理的多项式。
type Table [256]uint32
func MakeTable
func MakeTable(poly uint32) *Table
MakeTable 返回一个由指定多项式构成的表。该表的内容不得修改。
示例
package mainimport ("fmt""hash/crc32")func main() {// 在此包中,CRC多项式以反转符号表示,// 或LSB优先表示。 LSB优先表示是一个带有n位的十六进制数,其中// 最高有效位表示x⁰和最低有效系数// bit表示xⁿ-1的系数(xⁿ的系数是隐含的)。 例如,CRC32-Q,由以下多项式定义,//x³²+ x³¹+ x²⁴+ x²²+ x¹⁶+ x¹⁴+ x⁸+ x⁷+ x⁵+ x³+ x¹+ x⁰// 具有反转符号0b11010101100000101000001010000001,所以该值// 应该传递给MakeTable的是0xD5828281。
crc32q := crc32.MakeTable(0xD5828281)
fmt.Printf("%08x\n", crc32.Checksum([]byte("Hello world"), crc32q))}
c语言修改elf文件crc32,hash/crc32相关推荐
- c语言修改elf文件crc32,ELF文件中调试信息的格式说明?
看了很多文档,都是对ELF文件中的调试信息格式一带而过,包括<Linker & Loader>中也没有详细介绍. 我想获取调试信息中的数据结构相关的信息,结构大小,每个变量的名称, ...
- c语言书籍elf文件,扒一扒ELF文件
ELF文件(Executable Linkable Format)是一种文件存储格式.Linux下的目标文件和可执行文件都按照该格式进行存储,有必要做个总结. 1. 链接举例 2. ELF文件类型2. ...
- linux elf命令,实战:Linux上修改ELF文件的方法
7zip/bin/7za x -y -bd "-o/temp/94ac6fe8-1a16-43d8-8fa9-c4e2f2bd0445" "/downloadedPack ...
- 【BUG】ELF文件执行时出现段错误Segmentation fault,解决:使用010编辑器修改ELF文件不可执行段权限
问题:段错误,.eh_frame不可执行. 需求:改执行权限. 工具:010 Editer,我的版本:12.0.1 Windows 10. 工具下载:010编辑器官网下载页. 第一步 查看段的执行权限 ...
- c#语言 修改xml文件路径,C#对XML操作:编辑XML文件内容-.NET教程,C#语言
public void page_load(object src,eventargs e) { /* * 版 权 : copyright by sem it department * 版 本 : ve ...
- Linux下一种 ELF 文件的代码签名验证机制
1 引言 随着 Linux 的不断发展,已有越来越多的人开始推广和使用 Linux,其安全性也受到越来越多的挑战.ELF(Executable and Linkable Format)[1]作为 Li ...
- 修改ELF可执行文件entry入口感染一个程序
前面的文章在介绍如何将代码注入Linux内核模块的时候,我提到 "修改ELF文件或者PE文件的入口,让它跳到自己的逻辑"这件事很容易. 真的很容易吗?是的,真的很容易.本文就是要演 ...
- C语言 目标文件和可执行文件(ELF文件)
转自:https://www.jianshu.com/p/7c609b70acbd 1.C语言创建程序 1.1C语言创建(分为4个步骤) 编辑 编译 链接 执行 编辑:就是创建和修改C程序的源代码-我 ...
- c语言;文件名批量修改要求可以修改整个文件内文件名或后缀名自动,Python批量修改文件名...
处理语料库时,有些文件名字很不规则,为了方便处理,同义按数字顺序修改名称,主要是用到os模块: import os def RenameFiles(srcdir): #将目录下所有的文件命名为数字开头 ...
最新文章
- eclipse导入lombok后打不开(如果你的lombok不是最新的,那就来下载最新的)
- 关于自动驾驶汽车的7大误解
- 在spring cloud eureka中使用ip而不是hostname
- 硬盘重新分区后有一个分区表信息丢失的数据恢复
- PHP 运动会,运动会成绩管理系统
- JAVA手写ArrayList以及LinkedList
- 阿里云佘俊泉:创新探索不停,边缘云持续为客户创造价值
- Jenikns新建节点、配置节点、新建任务、配置任务、脚本验证
- groovy java_在java中使用groovy怎么搞
- CF(437C)The Child and Toy(馋)
- 早鸟票只剩3天丨为何一定要参加今年的CNCC?
- Python 正则表达式匹配中文
- 数据库-mysql练习题目2
- java中数据库修改语句_java 修改数据库中的数据
- 小白都能学会的Spring Boot!
- @loj - 2478@「九省联考 2018」林克卡特树
- Executor及Executors
- python二进制转中文_python3 二进制转中文
- Android7.0以上安装时出现“解析软件包错误”
- 使用IEEEtrans.cls排版的总结
热门文章
- 删除指定文件夹下的小于 4K的所用文件...
- Windows 7新睹为快!!
- BCH粉必转 | 围绕BCH建立的相关项目和应用列表汇总
- zabbix rpm 安装 新增zabbix yum 源 并更新
- 关于:last-child的一点见解
- Python_03-数据类型
- 解决chrome extension无法下载的问题
- cocos2d-x3.0rc打包apk遇到的一些问题记录
- 用PhpStorm IDE创建GG App Engine PHP应用教程
- php-5.3.3安装注意问题