Pure Go implementation of bsdiff 4. Which provides a library for building and applying patches to binary files.
The original algorithm and implementation was developed by Colin Percival. The algorithm is detailed in his paper, Naïve Differences of Executable Code. For more information, visit his website at http://www.daemonology.net/bsdiff/.
This code is a trimmed down and updated version of gabstv/go-bsdiff.
go install -v github.com/totallygamerjet/bsdiff/cmd/...
bsdiff oldfile newfile patch
bspatch oldfile newfile2 patch
Copyright 2003-2005 Colin Percival
Copyright 2019 Gabriel Ochsenhofer
Copyright 2025 TotallyGamerJet
This project is governed by the MIT license. For details see the file titled LICENSE in the project root folder.