Hatschi

C# Wrapper for TitanEngine

4 posts in this topic

We're looking for someone to create a C# wrapper for TitanEngine. The wrapper needs to be able to use 32bit and 64bit of TitanEngine depending of the target process while it's used from a 64bit only program. Additionally the wrapper deal with everything from TitanEngine properly (not lock on breakpoints etc).

The source code as well as a documentation has to be provided. You can send me a PM if you are interested including your expectations of payment.

Share this post


Link to post
Share on other sites

What you want is not possible. You need the .NET process to be the same architecture as the process you're debugging because WOW64 debugging is not supported in TitanEngine.

Probably what you mean with 'not lock on breakpoints' is a complete rewrite of TitanEngine. It is not trivial to use TitanEngine like say ODBGScript. You cannot call StepOver, StepOver, StepOver and expect three steps to have happened. TitanEngine is designed differently.

Which functions are you looking for specifically? Do you want to just debug or also use the (outdated) static PE features?

Share this post


Link to post
Share on other sites

The wrapper itself is (or host) a 32bit or 64bit process, depending on the target process architecture and communicate with the 64bit host application by for example a NamedPipe. This way it is possible.

I meant with 'not lock on breakpoints' that the wrapper needs to be able to listen to the host application and not freeze on a breakpoint (asynchronous).

The purporse is to set breakpoints and get information about the registers on breakpoint hit, that's all. We don't need 90% of TitanEngine including stepinto, stepover etc. It works the way that the host application tells the wrapper "Set BP on address X". The wrapper sets the breapoint and when it hits, it sends information about the breakpoint (What's in EAX and so on) back to the host application. Then the host application says "Resume" and the  wrapper continues/run the target process.

 

Share this post


Link to post
Share on other sites

Just in case the original purpose might be too difficult or time consuming, we would also accept a simple translation and demonstration for the following APIs of TitanEngine to C#:

AttachDebugger
RemoveAllBreakPoints
DetachDebuggerEx
SetBPX
DeleteBPX
SetHardwareBreakPoint
DeleteHardwareBreakPoint
GetContextData
SetContextData
SetNextDbgContinueStatus
StepInto
StepOver
GetUnusedHardwareBreakPointRegister

As said in the first post please send me a PM if you are interested including your expectations of payment.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!


Register a new account

Sign in

Already have an account? Sign in here.


Sign In Now