Hardcodes : Find Hardcoded Strings From Source Code

Hardcodes is a utility for searching strings hardcoded by developers in programs. It uses a modular tokenizer that can handle comments, any number of backslashes & nearly any syntax you throw at it.

Yes, it is designed to process any syntax and following languages are officially supported:

ada, applescript, c, c#, c++, coldfusion, golang, haskell, html, java, javascript, jsp, lua, pascal, perl, php, powershell, python, ruby, scala, sql, swift, xml

Installation

  • With pip

pip3 install hardcodes

  • or build from source

git clone https://github.com/s0md3v/hardcodes
cd hardcodes && python3 setup.py install

Documentation

It is available as both a library as well as a command line program. The relevant documentation can be found below:

For Developers

The sample program below demonstrates usage of hardcodes library

from hardcodes import search

string = “console.log(‘hello there’)”
result = search(string, lang=”common”, comments=”parse”)
print(result)

Output: [‘hello there’]

The arguments lang and comments are optional. Their use is explained below in the user documentation section.

For Users

cli.py provides a grep-like command line interface to hardcodes library. You will need to install the library first to use it.

  • Find Strings In A File

python cli.py /path/to/file.ext

  • Find strings in a directory, recursively

python cli.py -r /path/to/dir

  • Hide paths from output

python cli.py -o /path/to/file.ext

  • Specify programming language

Specifying a language is optional and should be used only when the programming language of source is already known.

python cli.py -l ‘golang’ /path/to/file.go

  • Specify comment behaviour

With -c option, you can specify

  • ignore ignore the comments completely
  • parse parse the comments like code
  • string add comments to list of hardcoded strings

python cli.py -o /path/to/file.ext

R K

Recent Posts

Playwright-MCP : A Powerful Tool For Browser Automation

Playwright-MCP (Model Context Protocol) is a cutting-edge tool designed to bridge the gap between AI…

15 hours ago

JBDev : A Tool For Jailbreak And TrollStore Development

JBDev is a specialized development tool designed to streamline the creation and debugging of jailbreak…

1 day ago

Kereva LLM Code Scanner : A Revolutionary Tool For Python Applications Using LLMs

The Kereva LLM Code Scanner is an innovative static analysis tool tailored for Python applications…

2 days ago

Nuclei-Templates-Labs : A Hands-On Security Testing Playground

Nuclei-Templates-Labs is a dynamic and comprehensive repository designed for security researchers, learners, and organizations to…

2 days ago

SSH-Stealer : The Stealthy Threat Of Advanced Credential Theft

SSH-Stealer and RunAs-Stealer are malicious tools designed to stealthily harvest SSH credentials, enabling attackers to…

2 days ago

ollvm-unflattener : A Tool For Reversing Control Flow Flattening In OLLVM

Control flow flattening is a common obfuscation technique used by OLLVM (Obfuscator-LLVM) to transform executable…

2 days ago