Open Source Small Debugger-minidebugger

Source: Internet
Author: User

Minidebugger is a debugger I've been designing recently. I try to explore some of the principles of function and to do some self-thought-interesting functions through this small project, which is kind of self-exercise.

Project Address:
http://code.taobao.org/p/MiniDebuger/src/

Design Thinking

Do a debugger that you really want to use . This is very necessary. As you know, there are very many excellent debuggers that accompany a program debugger. They include od,windbg,x64dbg, as well as Ida.
I'm very picky about what I want to be able to use on a regular level. I need to implement some people without my small function.
I prefer WinDbg's command line interface, so I made it like this: ' (**∩_∩)

Don't talk about people's skeletons, they are very gentle ....

Process architecture

On the left is the UI thread, and the right is the debug loop thread.

Using the open source beaengine disassembly engine, the features are as follows:

    1. One of the best open source disassembly engines
    2. Almost all assembly instructions under the x86 and AMD64 platforms are currently supported.
    3. Disassembly results support free definition and can implement some more complex display methods.
    4. Assembly operation is not supported, only disassembly is supported.

See here, the little friends are interested in beaengine?

Function
    1. A few interesting feature points:

      • Stack backtracking: Traces all processes called by the current thread through a stack frame relationship. The next step is to combine the IAT table to make this feature more complete.
      • Debug output Information view. Close your dbgveiw If you just want to check out the information about your program output
    2. List of Supported commands

The current version is insufficient
    1. No class is used for encapsulation (I go ~)
    2. In search of a better data structure scheme.

But this is only the first version, and subsequent adjustments will not only be made to the framework. It is also expected to be strengthened in the following areas:
1. A better breakpoint strategy. In particular, some improvements to software breakpoints
2. The addition of anti-Antidebugger strategy.

Development Be careful
    1. If you transfer a piece of code.
      • In the new location, the predecessor parameter is not initialized yet. Check it.
      • In the old location, you might have needed a copy of the same code. Instead of clipping.
    2. Patch
      There is a problem in one place, and a patch may also be needed in a place similar to its working mechanism.

Project Address:
http://code.taobao.org/p/MiniDebuger/src/


August 9, 2015 10:39

Copyright NOTICE: This article is a blogger original article, in the case of the author and the source of the circumstances can be freely reproduced.

Open Source Small Debugger-minidebugger

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.