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
|
||||
#define ObfuscateRoutine __declspec(code_seg(".theo"), 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