GithubHelp home page GithubHelp logo

ida_clemency's Introduction

IDA cLEMENCy Tools

cLEMENCy is an architecture developed by LegitBS for use during the Defcon 25 Capture the Flag event. The architecure was unsupported by IDA at the outset of the competition. It seemd useful to have disassembler support outside the emulatr/disassembler published in conjunction with the cLEMENCy specification 24 hours prior to commencement of the competition. These tools are the result of that development effort. This project contains:

  • A scripted IDA loader module to create the basic memory layout and handle the loading of 9-bit, middle-endian, cLEMENCy executables.
  • A scripted IDA processor module to handle disassembly and assembly tasks
  • A scripted IDA plugin to allow for dumping modified database content back to a packed 9-bit, middle-endian file (scripted loaders do not support the save_file functionality).
  • A scripted IDA plugin to assist with fixing up poorly disassembled functions that might branch/call into regions that continue to be marked as data blocks.

Getting Started

Here refers to the root directory of your IDA installation

  • Copy clemency_proc.py to /procs/clemency_proc.py
  • Copy clemency_ldr.py to /loaders/clemency_ldr.py
  • Copy clemency_dump.py to /plugins/clemency_dump.py
  • Copy clemency_fix.py to /plugins/clemency_fix.py

Note that clemency_ldr.py will show up as an available loader for all file formats because cLEMENCy binaries have no distinct file format. If you elect to use the clemency_ldr, you should also select the corresponding clemency_proc from the Processors drop-down in the load file dialog.

Prerequisites

A working copy of IDA Pro with compatible Python installation allowing for the use of Python plugins and scripts.

Installing

See above

Built With

  • A sledghammer

Contributing

Probably not worth your time

Versioning

This is probably all there will ever be

Authors

  • Chris Eagle - Initial work -
  • Shellphish - The cLEMENCy Assembler bits

License

This project is licensed under the MIT License - see the LICENSE.md file for details

Acknowledgments

  • All the members of Shellphish for letting me join the fun, and who contributed much code and many ideas to these tools

ida_clemency's People

Contributors

cseagle avatar

Watchers

AmesianX avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.