parent
787376101b
commit
7cef008c4b
@ -0,0 +1,13 @@
|
|||||||
|
#include "Theodosius.h"
|
||||||
|
|
||||||
|
void UsermodeNoObfuscation()
|
||||||
|
{
|
||||||
|
for (auto idx = 0u; idx < 5; ++idx)
|
||||||
|
MessageBoxA(0, "Demo", "Hello From Non-Obfuscated Routine!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
MutateRoutine
|
||||||
|
void UsermodeMutateDemo()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "Demo", "Hello From Mutated Routine!", 0);
|
||||||
|
}
|
@ -0,0 +1,46 @@
|
|||||||
|
#include "ClassDemo.hpp"
|
||||||
|
|
||||||
|
VirtualFuncDemo::VirtualFuncDemo()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "VirtualFuncDemo (Base Class)", "Virtual Func Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
VirtualFuncDemo::~VirtualFuncDemo()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "VirtualFuncDemo (Base Class)", "Virtual Destructor Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void VirtualFuncDemo::PrintTest()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "VirtualFuncDemo (Base Class)", "Virtual Func Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Demo::Demo()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "Demo", "Virtual Func Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Demo::~Demo()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "Demo", "Virtual Destructor Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Demo::PrintTest()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "PrintTest", "Hello World!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Demo2::Demo2()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "Demo2", "Virtual Func Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
Demo2::~Demo2()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "Demo2", "Virtual Destructor Demo!", 0);
|
||||||
|
}
|
||||||
|
|
||||||
|
void Demo2::PrintTest()
|
||||||
|
{
|
||||||
|
MessageBoxA(0, "PrintTest2", "Hello World!", 0);
|
||||||
|
}
|
@ -0,0 +1,29 @@
|
|||||||
|
#pragma once
|
||||||
|
#include "Theodosius.h"
|
||||||
|
|
||||||
|
class VirtualFuncDemo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MutateRoutine
|
||||||
|
explicit VirtualFuncDemo();
|
||||||
|
virtual ~VirtualFuncDemo();
|
||||||
|
virtual void PrintTest();
|
||||||
|
};
|
||||||
|
|
||||||
|
class Demo : public VirtualFuncDemo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MutateRoutine
|
||||||
|
explicit Demo();
|
||||||
|
~Demo() override;
|
||||||
|
void PrintTest() override;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Demo2 : public VirtualFuncDemo
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
MutateRoutine
|
||||||
|
explicit Demo2();
|
||||||
|
~Demo2() override;
|
||||||
|
void PrintTest() override;
|
||||||
|
};
|
@ -1,3 +1,13 @@
|
|||||||
#pragma once
|
#pragma once
|
||||||
#define ObfuscateRoutine __declspec(code_seg(".theo"), noinline)
|
#define ObfuscateRoutine __declspec(code_seg(".theo"), noinline)
|
||||||
#define MutateRoutine __declspec(code_seg(".theo1"), noinline)
|
#define MutateRoutine __declspec(code_seg(".theo1"), noinline)
|
||||||
|
|
||||||
|
extern "C" int MessageBoxA(
|
||||||
|
unsigned hWnd,
|
||||||
|
char* lpText,
|
||||||
|
char* lpCaption,
|
||||||
|
unsigned uType
|
||||||
|
);
|
||||||
|
|
||||||
|
void UsermodeNoObfuscation();
|
||||||
|
void UsermodeMutateDemo();
|
Loading…
Reference in new issue