-
Notifications
You must be signed in to change notification settings - Fork 33
Introduction
Here is a simple introduction to this hack.
QTRHacker is made up of 3 main levels:
-
QHackLib
andQHackCLR
: the lowest level to provide BASIC operations on games on.net framework
. -
QTRHacker.Functions
: the library to perform specialized hack operations on Terraria, contains most hack logic. -
QTRHacker
: UI implementation, contains little hack logic.
QHackLib
is designed to perform low level actions such as inline-hook, aobscan and so on.
QHackCLR
is a part of QHackLib
and used to fetch CLR information from a process. It's a replacement of clrMD
. There's no need to look into QHackCLR
if you don't have any knowledge of CLR. QHackLib.CLRHelper
is a lightweight wrapper for QHackCLR
that should be enough in most cases.
QHackLib.HackObject
represents a ref object or boxed value in CLR and QHackLib.HackValue
represents a unboxed value. Both of them inherits QHackLib.Entity
and in turns inherits DynamicObject
.
Unlike QHackCLR.Common.ClrObject
and QHackCLR.Common.ClrValue
, these two wrappers provide syntax convenience to field and array access. You just need to convert a HackObject
to dynamic
like: dynamic obj = hackObject;
then you can access its field like: int v = obj.field;
. The type to be converted to could be inferred by C# compiler.
QHackLib.QHackContext
provide context for a .netfx process.
TO BE CONTINUE