https://github.com/accenture/condstanta

https://github.com/accenture/condstanta

Science Score: 13.0%

This score indicates how likely this project is to be science-related based on various indicators:

  • CITATION.cff file
  • codemeta.json file
    Found codemeta.json file
  • .zenodo.json file
  • DOI references
  • Academic publication links
  • Committers with academic emails
  • Institutional organization owner
  • JOSS paper metadata
  • Scientific vocabulary similarity
    Low similarity (11.8%) to scientific vocabulary

Keywords

ida-plugin
Last synced: 5 months ago · JSON representation

Repository

Basic Info
  • Host: GitHub
  • Owner: Accenture
  • License: apache-2.0
  • Language: Python
  • Default Branch: main
  • Homepage:
  • Size: 40 KB
Statistics
  • Stars: 59
  • Watchers: 7
  • Forks: 4
  • Open Issues: 0
  • Releases: 0
Topics
ida-plugin
Created almost 4 years ago · Last pushed almost 4 years ago
Metadata Files
Readme License

README.md

Condstanta v1.0

Introduction

Condstanta is a plugin that allows searching for constant values that are used in conditional statements such as if and switch-case or for functions that contain multiple specific constants. The plugin allows searching for exact numbers, number ranges and list of specific constants.

Installation

Copy the condstanta.py file to IDA plugin folder.

Usage

The plugin can be started from Search menu by selecting the Condstanta option. The dialog window for search specification offers several fields:

init form

  • Search for: The value to look for. Possible values are:
    • Exact numbers: 100, 0xabc or -2.3
    • Ranges (both edge cases are included): 0:10, -10:0xf, 3:3.9
    • List of values: -1, 2, 0x45, 1.3
    • Empty field means find all numbers (only applicable for the Search for constants used in conditions)
  • What to search for: Type of the search that is to be performed. Search for constants used in conditions will only look for constants that are used in if, case and while statements. The option Find set of constants in single function will take range or list of values and find all functions that contain multiple of the constants from the given list (the required amount is determined by the Minimal number of matching constants which must be set to 2 or higher).
  • Use Hexrays: Whether to use Hexrays decompiler for the search or not (only usable when the decompiler is available).

The results of the search operation are presented in form of a new view with a table (shown below). Double-click on a row will jump to the location marked in the Address column.

results

  • Address - Address where the constant was found.
  • Function - Name of the function where this constant was found.
  • Type - IF, CASE and LOOP. Only applicable to Search for constants used in conditions, otherwise empty.
  • Decimal - Decimal value of the number.
  • Hex - Hex value of the number (empty for floats).
  • Comment - Extracted comment from the location where the constant was detected. In Hexrays mode shows the Hexrays comment, otherwise comments in disassembly.

Issues and Warnings

  • The plugin performs the search only in body of functions and thus it will not look at any disassembly that is not marked as a function.
  • Hexrays mode available only for limited set of architectures and is slower (it must decompile all functions).
  • Assembly mode is attempting to be architecture agnostic; this may occasionally lead to missed constants or false positive hits with architectures such as ARM or PPC which use two instructions to load large numbers. With some more exotic architectures, this mode might miss constants completely.
  • Using Hexrays mode will show Hexrays comments only (CASE comments do not work), using assembly mode shows the assembly comments only.
  • Float constants are only found with Hexrays.

Owner

  • Name: Accenture
  • Login: Accenture
  • Kind: organization

Accenture Github site

GitHub Events

Total
  • Watch event: 1
Last Year
  • Watch event: 1

Committers

Last synced: 9 months ago

All Time
  • Total Commits: 1
  • Total Committers: 1
  • Avg Commits per committer: 1.0
  • Development Distribution Score (DDS): 0.0
Past Year
  • Commits: 0
  • Committers: 0
  • Avg Commits per committer: 0.0
  • Development Distribution Score (DDS): 0.0
Top Committers
Name Email Commits
Martin Petran m****n@a****m 1
Committer Domains (Top 20 + Academic)

Issues and Pull Requests

Last synced: 9 months ago

All Time
  • Total issues: 0
  • Total pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Total issue authors: 0
  • Total pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Past Year
  • Issues: 0
  • Pull requests: 0
  • Average time to close issues: N/A
  • Average time to close pull requests: N/A
  • Issue authors: 0
  • Pull request authors: 0
  • Average comments per issue: 0
  • Average comments per pull request: 0
  • Merged pull requests: 0
  • Bot issues: 0
  • Bot pull requests: 0
Top Authors
Issue Authors
Pull Request Authors
Top Labels
Issue Labels
Pull Request Labels