Git Product home page Git Product logo

classroom's Introduction

Classroom

Build status Download from Appveyor

Classroom

Classroom is a x64dbg plugin that helps you analyze an object-oriented application. You can define member functions and member variables while you are debugging the application, and the class documentation will be saved and displayed whenever you need them.

The plugin has two main interfaces: a dialog and a plugin tab. In the plugin tab you can add a class, define various properties of the class such as descriptions, member variables and functions, and browse and manage all the information you currently know about this class in a clean view. The plugin dialog focuses on the most relevant information about your current work. It automatically displays the label, comments and value of all member variables of a class instance, and automatically focuses on the variable the current instruction accesses. It also shows the documentation of the function that you are debugging or that the current instruction branches to. Really saves your time analyzing object-oriented application!

Contributions are welcome. The plugin is compiled using the same compiling environment as x64dbg. The plugin currently needs a more beautiful documentation page, analysis feature, more class properties (known instances, known usages of functions and variables, virtual methods) and more.

Instructions documentation

The plugin currently supports the following instructions:

  • classroom [class]: Without argument: open a dialog to add a new class. With 1 argument: edit the class specified by the argument.
  • classmembervar class,[offset]: With 1 argument: open a dialog to add a member variable to the class. With 2 arguments: open a dialog to edit the member variable at offset offset. Notes: all offsets are written in hex.
  • delclass class: Delete the specified class.
  • delclassmembervar class,offset: Delete the member variable at offset offset in the class.

classroom's People

Contributors

mrexodia avatar torusrxxx avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

classroom's Issues

Suggestions for additional features

Hi,

Here are a few suggestions for other possible future features that might be implemented in Classroom:

  • Allow jumping to the class definition label in the cpu view - from the selected class name in the left panel list in the Classroom tab - double click name or right click with a menu perhaps?
  • Add a plugin right click context menu in cpu view - to add a currently selected label to a class as a member function - show a dialog with a list perhaps asking which class to add the function to
  • Add a plugin right click context menu in dump view - to add current address to a class as a class variable - show dialog/list to ask which class to add to, similar to previous option

Thanks

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.