All Projects → d0c-s4vage → pfp-vim

d0c-s4vage / pfp-vim

Licence: MIT license
A vim hex-editor plugin that uses 010 templates to parse binary data using pfp

Programming Languages

python
139335 projects - #7 most used programming language
Vim Script
2826 projects

Projects that are alternatives of or similar to pfp-vim

Vim Hexedit
Hexedit is a plug-in under VIM, which is used to strengthen the hex editing ability of VIM.
Stars: ✭ 42 (-26.32%)
Mutual labels:  hex, vim-plugin
vim-log-highlighting
Syntax highlighting for generic log files in VIM
Stars: ✭ 164 (+187.72%)
Mutual labels:  vim-plugin
json struct
json_struct is a single header only C++ library for parsing JSON directly to C++ structs and vice versa
Stars: ✭ 279 (+389.47%)
Mutual labels:  parse
doorboy.vim
Vim plugin for auto closing brackets ( => (|) and quotations " => "|" , and more
Stars: ✭ 19 (-66.67%)
Mutual labels:  vim-plugin
pp-toml
Paul's Parser for Tom's Own Minimal Language
Stars: ✭ 17 (-70.18%)
Mutual labels:  parse
vim
个人私用的vim配置
Stars: ✭ 12 (-78.95%)
Mutual labels:  vim-plugin
djburger
Framework for safe and maintainable web-projects.
Stars: ✭ 75 (+31.58%)
Mutual labels:  parse
perl-support
Edit Perl scripts in Vim/gVim. Insert code snippets, run, check, and profile the code and look up help.
Stars: ✭ 23 (-59.65%)
Mutual labels:  vim-plugin
beacon.nvim
Whenever cursor jumps some distance or moves between windows, it will flash so you can see where it is
Stars: ✭ 217 (+280.7%)
Mutual labels:  vim-plugin
pixl-xml
A simple module for parsing and composing XML.
Stars: ✭ 78 (+36.84%)
Mutual labels:  parse
logparser
Easy parsing of Apache HTTPD and NGINX access logs with Java, Hadoop, Hive, Pig, Flink, Beam, Storm, Drill, ...
Stars: ✭ 139 (+143.86%)
Mutual labels:  parse
lilt
LILT: noun, A characteristic rising and falling of the voice when speaking; a pleasant gentle accent.
Stars: ✭ 18 (-68.42%)
Mutual labels:  parse
metal
A Java library for parsing binary data formats, using declarative descriptions.
Stars: ✭ 13 (-77.19%)
Mutual labels:  binary-data
literate-binary
Integrate handcrafted binary and documentation
Stars: ✭ 37 (-35.09%)
Mutual labels:  hex
hlyank.vim
Highlight yanked text in Vim
Stars: ✭ 14 (-75.44%)
Mutual labels:  vim-plugin
vim-plugin-autosess
Vim plugin: auto save/load sessions
Stars: ✭ 32 (-43.86%)
Mutual labels:  vim-plugin
mpq
Decoder/parser of Blizzard's MPQ archive file format
Stars: ✭ 28 (-50.88%)
Mutual labels:  parse
parse-server-test-runner
A tool for programmatically starting Parse Server
Stars: ✭ 18 (-68.42%)
Mutual labels:  parse
codenames
A simple bash script to convert hex values (such as commit ids) to codenames
Stars: ✭ 14 (-75.44%)
Mutual labels:  hex
shipit
ShipIt automates Hex package publishing to avoid common mistakes
Stars: ✭ 21 (-63.16%)
Mutual labels:  hex

pfp-vim

A vim hex-editor plugin that uses 010 templates to parse binary data using pfp. Tested to work with vim versions that support python2 or python3.

Install pfp

Install pfp:

pip install --upgrade pfp

If you see errors that mention not being able to locate Python.h, install the python-dev package and try again:

sudo apt-get install python-dev

Install Plugin

Pathogen

Clone this repo into ~/.vim/bundle:

git clone https://github.com/d0c-s4vage/pfp-vim.git ~/.vim/bundle/pfp-vim

Use your vim plugin manager (pathogen, etc) to load the plugin (you probably already have this setup in your ~/.vimrc or something:

call pathogen#infect()

Vim Plug

Add Plug 'd0c-s4vage/pfp-vim' to your plug section

Usage

With a binary file loaded in the current window, the PfpParse command will parse the file.

You may be asked to specify a directory that contains your 010 templates (looks for *.bt files).

You will also be asked which template should be used to parse the binary file.

After choosing a template to use, a hex-view of the binary file will be displayed in a new tab on the left, with the parsed-out fields displayed on the right.

Navigating the data structure on the right will highlight the relevant bytes in the hex-view on the left

demo.gif

Notes

A PfpInit command also exists. This can be used to add additional directories within which 010 templates will be searched for.

TODO

  • Editing
  • Saving
  • Packed/Nested fields
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].