All Projects → LloydLabs → Elf Strings

LloydLabs / Elf Strings

elf-strings will programmatically read an ELF binary's string sections within a given binary. This is meant to be much like the strings UNIX utility, however is purpose built for ELF binaries.

Programming Languages

go
31211 projects - #10 most used programming language

Projects that are alternatives of or similar to Elf Strings

Stringsifter
A machine learning tool that ranks strings based on their relevance for malware analysis.
Stars: ✭ 469 (+269.29%)
Mutual labels:  reverse-engineering, strings
whatsapp-jpeg-repair
A handy tool to fix jpeg files downloaded from WhatsApp and prevent errors upon opening these files in Adobe Photoshop.
Stars: ✭ 30 (-76.38%)
Mutual labels:  utility, golang-application
Util
A collection of useful utility functions
Stars: ✭ 201 (+58.27%)
Mutual labels:  utility, strings
Str metrics
Ruby gem (native extension in Rust) providing implementations of various string metrics
Stars: ✭ 68 (-46.46%)
Mutual labels:  utility, strings
Poketcg
Disassembly of Pokémon TCG
Stars: ✭ 125 (-1.57%)
Mutual labels:  reverse-engineering
Wechatspellbook
Wechat Spellbook 是一个使用Kotlin编写的开源微信插件框架,底层需要 Xposed 或 VirtualXposed 等Hooking框架的支持,而顶层可以轻松对接Java、Kotlin、Scala等JVM系语言。让程序员能够在几分钟内编写出简单的微信插件,随意揉捏微信的内部逻辑。
Stars: ✭ 1,584 (+1147.24%)
Mutual labels:  reverse-engineering
Owasp Fstm
The Firmware Security Testing Methodology (FSTM) is composed of nine stages tailored to enable security researchers, software developers, consultants, hobbyists, and Information Security professionals with conducting firmware security assessments.
Stars: ✭ 120 (-5.51%)
Mutual labels:  reverse-engineering
Ctftool
Interactive CTF Exploration Tool
Stars: ✭ 1,563 (+1130.71%)
Mutual labels:  reverse-engineering
Dnspy.extension.holly
A dnSpy extension to aid reversing of obfuscated assemblies
Stars: ✭ 127 (+0%)
Mutual labels:  reverse-engineering
Awesome Mobile Security
An effort to build a single place for all useful android and iOS security related stuff. All references and tools belong to their respective owners. I'm just maintaining it.
Stars: ✭ 1,837 (+1346.46%)
Mutual labels:  reverse-engineering
Java Ds Algorithms
Data Structures and Algorithms in Java
Stars: ✭ 125 (-1.57%)
Mutual labels:  strings
Openmf Archived
Abandoned C++ version. Contains useful format utils and parsers.
Stars: ✭ 123 (-3.15%)
Mutual labels:  reverse-engineering
Go Bank Transfer
Simple API for banking routines using a Clean Architecture in Golang. 💳 💰 💸
Stars: ✭ 123 (-3.15%)
Mutual labels:  golang-application
Thaw Carrots
Thaw carrots by warming up your laptop to a specific temperature
Stars: ✭ 120 (-5.51%)
Mutual labels:  utility
Slickr
A collection of python and bash scripts to collect and analyze frame rendering performance in Android apps.
Stars: ✭ 126 (-0.79%)
Mutual labels:  utility
Gamemaniptutorial
A tutorial for manipulating the rendering of a game (generally to increase its quality) if you only have a binary available
Stars: ✭ 119 (-6.3%)
Mutual labels:  reverse-engineering
Swift Selection Search
Swift Selection Search (SSS) is a simple Firefox add-on that lets you quickly search for some text in a page using your favorite search engines.
Stars: ✭ 125 (-1.57%)
Mutual labels:  utility
Despector
Java / Kotlin Decompiler and AST Library
Stars: ✭ 126 (-0.79%)
Mutual labels:  reverse-engineering
Sonyheadphonesclient
A {Windows, macOS, Linux} client recreating the functionality of the Sony Headphones app
Stars: ✭ 123 (-3.15%)
Mutual labels:  reverse-engineering
Malwarelab vm Setup
Setup scripts for my Malware Analysis VMs
Stars: ✭ 126 (-0.79%)
Mutual labels:  reverse-engineering

elf-strings

The better strings utility for the reverse engineer.

elf-strings will programmatically read an ELF binary's string sections within a given binary. This is meant to be much like the strings UNIX utility, however is purpose built for ELF binaries.

This means that you can get suitable information about the strings within the binary, such as the section they reside in, the offset in the section, etc.. This utility also has the functionality to 'demangle' C++ symbols, iterate linked libraries and print basic information about the ELF.

This can prove extremely useful for quickly grabbing strings when analysing a binary.

Output

alt text

Building

git clone https://github.com/LloydLabs/elf-strings
cd elf-strings
go build

Arguments

-binary string
    	the path to the ELF you wish to parse
  -demangle
    	demangle C++ symbols into their original source identifiers, prettify found C++ symbols (optional)
  -hex
    	output the strings as a hexadecimal literal (optional)
  -libs
    	show the linked libraries in the binary (optional)
  -max-count uint
    	the maximum amount of strings that you wish to be output (optional)
  -min uint
    	the minimum length of the string
  -no-color
    	disable color output in the results
  -no-human
    	don't validate that its a human readable string, this could increase the amount of junk.
  -no-info
    	don't show any information about the binary
  -no-trim
    	disable triming whitespace and trailing newlines
  -offset
    	show the offset of the string in the section (default, recommended) (default true)
  -output-file string
    	the path of the output file that you want to output to (optional)
  -output-format string
    	the format you want to output as (optional, plain/json/xml) (default "plain")

Example

An example grabbing the strings from the echo utility.

./elf-strings --binary=/bin/echo --min=4 --max-count=10

[+] Size: 31 kB
[+] Arch: x86_64
[+] Entry point: 0x401800
[+] Class: ELFCLASS64
[+] Byte order: LittleEndian

[.dynstr+0x0]: libc.so.6
[.dynstr+0xa]: fflush
[.dynstr+0x11]: __printf_chk
[.dynstr+0x1e]: setlocale
[.dynstr+0x28]: mbrtowc
[.dynstr+0x30]: strncmp
[.dynstr+0x38]: strrchr
[.dynstr+0x40]: dcgettext
[.dynstr+0x4a]: error
[.dynstr+0x50]: __stack_chk_fail
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].