From 324c2882991183c2fe6c7f81fd720960c8916e47 Mon Sep 17 00:00:00 2001 From: ALittlePatate Date: Mon, 21 Oct 2024 22:49:56 +0200 Subject: [PATCH] add: latest article and bug fix to the article generator --- images/reversing_guardianrs1/VMArch.png | Bin 0 -> 33809 bytes images/reversing_guardianrs1/calc_entry.png | Bin 0 -> 2412 bytes .../reversing_guardianrs1/calc_function.png | Bin 0 -> 38901 bytes .../calc_function_asm.png | Bin 0 -> 30037 bytes .../disassembled_bytecode_sample.png | Bin 0 -> 42884 bytes .../function_bytecode.png | Bin 0 -> 14347 bytes .../vmentry_firstblock.png | Bin 0 -> 17923 bytes .../vmentry_secondblock.png | Bin 0 -> 24232 bytes misc/reversing_guardianrs1/disassembler.py | 153 ++++++++++++++++++ pages/blog.html | 20 +++ pages/reversing_guardianrs1.html | 62 +++++++ python_script/generate_article.py | 5 +- 12 files changed, 238 insertions(+), 2 deletions(-) create mode 100644 images/reversing_guardianrs1/VMArch.png create mode 100644 images/reversing_guardianrs1/calc_entry.png create mode 100644 images/reversing_guardianrs1/calc_function.png create mode 100644 images/reversing_guardianrs1/calc_function_asm.png create mode 100644 images/reversing_guardianrs1/disassembled_bytecode_sample.png create mode 100644 images/reversing_guardianrs1/function_bytecode.png create mode 100644 images/reversing_guardianrs1/vmentry_firstblock.png create mode 100644 images/reversing_guardianrs1/vmentry_secondblock.png create mode 100644 misc/reversing_guardianrs1/disassembler.py create mode 100644 pages/reversing_guardianrs1.html diff --git a/images/reversing_guardianrs1/VMArch.png b/images/reversing_guardianrs1/VMArch.png new file mode 100644 index 0000000000000000000000000000000000000000..99aeeecc555b3ff2102137fa37fc8014cc337905 GIT binary patch literal 33809 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 ummVHgU=}&nA;{_M&46HIS#kbc!~YNZ{HF8( literal 0 HcmV?d00001 diff --git a/images/reversing_guardianrs1/calc_entry.png b/images/reversing_guardianrs1/calc_entry.png new file mode 100644 index 0000000000000000000000000000000000000000..f61631d86fe01a524d7f2f9fe94d6b64f8c82ed1 GIT binary patch literal 2412 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 literal 0 HcmV?d00001 diff --git a/images/reversing_guardianrs1/calc_function_asm.png b/images/reversing_guardianrs1/calc_function_asm.png new file mode 100644 index 0000000000000000000000000000000000000000..e8ac3498dc558f92c0d6dc056f9cd66ee17544f1 GIT binary patch literal 30037 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 rVf4B~lUni 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®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�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 literal 0 HcmV?d00001 diff --git a/images/reversing_guardianrs1/function_bytecode.png b/images/reversing_guardianrs1/function_bytecode.png new file mode 100644 index 0000000000000000000000000000000000000000..fe9958f885c33ad135610d4731570f8800dbb4d0 GIT binary patch literal 14347 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 z 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 literal 0 HcmV?d00001 diff --git a/images/reversing_guardianrs1/vmentry_firstblock.png b/images/reversing_guardianrs1/vmentry_firstblock.png new file mode 100644 index 0000000000000000000000000000000000000000..f79bd89d8f664bfc0ee2e664f1e65852c180bab1 GIT binary patch literal 17923 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 diff --git a/pages/reversing_guardianrs1.html b/pages/reversing_guardianrs1.html new file mode 100644 index 0000000..e7ad691 --- /dev/null +++ b/pages/reversing_guardianrs1.html @@ -0,0 +1,62 @@ + + +
+

Reverse engineering Guardian-rs's virtualization

+ + + +
+

I always wanted to analyze a binary file protected with virtualization, I've read a few papers (some of them I will link at the end of the article). But it always seemed way too hard for me, especially with all of the obfuscation and code mutation commercial virtualizer use.

I needed something I could learn from and that didn't add much obfuscation to the PE, introducing Guardian-rs

This open source project is written in rust and implements a simple stack-based VM.

Let's begin !

+

+ Protecting a function +

+

I created this simple test function that will be virtualized :

+

+ +

+

Notice the #pragma optimize("", off), this way the compiler doesn't optimize out the function. +

Loading up the code in IDA I can see the following assembly code for the calc function :

+

+ +

+

So far, so good.

After protecting the function with Guardian-rs (which was actually pretty fast) :

+

+ +

+

We can see that the code of the function got replaced with a jmp preceded by a push .

What could this possibly mean ??

+

+ Understanding the VM structure +

+

A typical Virtual machine usually follows this architecture (I stole the image from msreverseengineering's blog) :

+

+ +

+

Following this pattern, we can enter in the VMEntry function and continue our analysis :

+

+ +

+

We can see that the flags and the registers are pushed onto the stack to keep the program state as it was.

Then the VM will initialize its internal structures, mainly the Machine structure which mainly holds :

  • The program counter
  • The stack pointer
  • The registers
  • The flags

Note that the VM uses syscalls to NtAllocateVirtualMemory to allocate its context.

Then the VM pops the registers and copies them to its internal context structure, this way, the interpreted bytecode can inherit from the "normal" context of the program.

+

+ +

+

And finally the VM calls the VMDispatcher . The role of this function is to read, decode and interpret the opcodes of the function. In its most primitive implementation, it's as simple as a function pointer.

Before calling the function, the VM pushes the address of the first instruction to be executed onto the stack. Which is the offset pushed by the calc function (just before the jmp ), plus the base address of the program (fetched using the Thread Environement Block).

Following this address we can find the bytecode for our function !

+

+ +

+

+

+ Writing a bytecode disassembler +

+

At this stage, we'd have to reverse engineer the VMDispatcher to understand how the bytecode is encoded but I instead decided to cheat and look at the source code of the virtualizer (lol).

The bytecode follows this simple format :

Mnemonic (1 byte)Size of the data (1 byte) Argument (1 byte or more)
0x16 (Vmctx)0x08 (Qword)None
0x00 (Const)0x08 (Qword)0x20 (Rdx)

Following this example, we can retrieve the first instructions of our function !

Using this simple logic and by looking at the existing code of Guardian-rs I could write a disassembler (code here ).

It gave me the following code :

+

+ +

+

We can see a few Vmctx which pushes a pointer to the Machine struct onto the stack.

Basically in 8 lines it has copied the content of ~Rdx~ and ~Rsp~ at the top of the stack.

+

+ Conclusion and todo list +

+

Todo :

  • Translate the disassembly into intel x86 assembly
  • Automate the process
  • Optimize the code

There is still work to be done but i'm pretty proud of what I did, especially considering it's my first time reversing a VM.

I want to thank the author of the Guardian-rs project who kindly responded to my questions and to the people who made the articles I based my work on :

To be continued...

+

+ + + \ No newline at end of file diff --git a/python_script/generate_article.py b/python_script/generate_article.py index 239bb69..ed20911 100644 --- a/python_script/generate_article.py +++ b/python_script/generate_article.py @@ -72,11 +72,12 @@ def generate_image(path) : write_file(base) def set_foldername(name) : - os.mkdir("../images/"+name) + try : os.mkdir("../images/"+name) + except: pass onlyfiles = [f for f in listdir(".") if isfile(join(".", f))] for f in onlyfiles : if f.endswith(".jpg") or f.endswith(".jpeg") or f.endswith(".png") or f.endswith(".ico") or f.endswith(".gif") : - shutil.move(f, "../images/"+name+"/"+f) + shutil.copy(f, "../images/"+name+"/"+f) def main() : Tk().withdraw() # we don't want a full GUI, so keep the root window from appearing