Flag: Tornado! Hurricane!

OpenRCE Articles

The Molecular Virology of Lexotan32: Metamorphism Illustrated Created: Thursday, August 16 2007 16:58.00 CDT
Author: orr # Views: 10472

This paper is a direct descendent of my previous one regarding the metamorphic engine of the W32.Evol virus. I advise you to take a look at it before reading this one, or at least be acquainted with the subject of metamorphism. The focus of this paper is the special engine of the Lexotan32 virus.

The virus was released in 29A#6 Virus Magazine in 2002, the Annus Mirabilis of metamorphic viruses. The virus was created by the prolific VX coder, Vecna, and was one of the last complex creations of this kind. I could further elaborate on the genealogy of this virus, but I think it is sufficient to say that this virus is a culmination of many of the techniques developed throughout the author's career.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
m4dnut it's so cool~! thnaks for your effots. i alway... Wednesday, July 9 2008 20:32.17 CDT
c0ck3dpist0l it's cool! Thanks for sharing! Tuesday, April 29 2008 07:54.10 CDT
adityaks nicely driven , very well Sunday, September 23 2007 23:40.22 CDT
  vecna Congratulations for the article - its exact Thursday, August 23 2007 20:03.45 CDT
baibhav Gud work ! Thanks for sharing ! Friday, August 17 2007 10:48.22 CDT

Defeating HyperUnpackMe2 With an IDA Processor Module Created: Thursday, February 22 2007 19:21.58 CST
Author: RolfRolles # Views: 17827

This article is about breaking modern executable protectors. The target, a crackme known as HyperUnpackMe2, is modern in the sense that it does not follow the standard packer model of yesteryear wherein the contents of the executable in memory, minus the import information, are eventually restored to their original forms.

Modern protectors mutilate the original code section, use virtual machines operating upon polymorphic bytecode languages to slow reverse engineering, and take active measures to frustrate attempts to dump the process. Meanwhile, the complexity of the import protections and the amount of anti-debugging measures has steadily increased.

This article dissects such a protector and offers a static unpacker through the use of an IDA processor module and a custom plugin. The commented IDB files and the processor module source code are included. In addition, an appendix covers IDA processor module construction. In short, this article is an exercise in overkill.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
h4x0r comprehensive analysis, thanks. for those no... Tuesday, May 15 2007 04:15.56 CDT
  PoincareLei good analysis.. expecting RolfRolles to wri... Wednesday, April 4 2007 06:26.45 CDT
bLaCkeye Impressive display of reverse engineering and c... Friday, February 23 2007 19:47.13 CST
nico Good job Bro, as i told you already when i firs... Friday, February 23 2007 13:53.15 CST

The Viral Darwinism of W32.Evol Created: Tuesday, February 6 2007 14:26.08 CST
Author: Orr # Views: 18948

The W32.Evol virus was discovered around July 2000. Its name is derived from a string found in the virus, but much more can be implied from the name. Up until then, most of the viruses were using Polymorphic engines in order to hide themselves from Anti-Virus scanners. The engine would encrypt the virus with a different key on every generation, and would generate a small, variant decryptor that would consist of different operations but remain functionally equivalent. This technique was beginning to wear out as AV scanners would trace virus-decryption until it was decrypted in memory, visible and clear.

This article explores the features and functionality of the metamorphic engine of the Evol virus, the first virus to utilize a 'true' metamorphic engine according to Symantec.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
adityaks nice one man Wednesday, June 20 2007 06:07.58 CDT
Orr The mistake is in the paper and not in the engi... Friday, April 6 2007 16:02.00 CDT
eraser You are right MazeGen. [code] EB cb JMP cb ... Wednesday, April 4 2007 13:33.07 CDT
MazeGen Very interesting article, thanks. There's on... Friday, March 30 2007 02:57.38 CDT
eraser Many thanks for your valuable contribution. Monday, March 12 2007 11:13.59 CDT

Kernel User-Mode Debugging Support (Dbgk) Created: Wednesday, January 31 2007 12:05.10 CST
Author: AlexIonescu # Views: 12146

In part three of this three part article series, the kernel-mode interface to Windows debugging is dissected in detail. The reader is expected to have some basic knowledge of C and general NT Kernel architecture and semantics. Also, this is not an introduction on what debugging is or how to write a debugger. It is meant as a reference for experienced debugger writers, or curious security experts. The reader is expected to have some basic knowledge of C and general NT Kernel architecture and semantics. Also, this is not an introduction on what debugging is or how to write a debugger. It is meant as a reference for experienced debugger writers, or curious security experts.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
flyingkisser very good,very powerful!So,where is part I and ... Tuesday, January 15 2008 20:17.43 CST
anonymouse so this is how some of the functions in syser o... Thursday, February 1 2007 23:35.29 CST
MohammadHosein thank you for these excellent series of articles Thursday, February 1 2007 15:29.03 CST
JasonGeffner Awesome job! I want a "part four"! :) Thursday, February 1 2007 13:56.34 CST

Windows Native Debugging Internals Created: Monday, November 13 2006 13:14.18 CST
Author: AlexIonescu # Views: 9320

In part two of this three part article series, the native interface to Windows debugging is dissected in detail. The reader is expected to have some basic knowledge of C and general NT Kernel architecture and semantics. Also, this is not an introduction on what debugging is or how to write a debugger. It is meant as a reference for experienced debugger writers, or curious security experts.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
halsten Thanks for sharing this! Keep it up (Y). -- ... Monday, January 22 2007 01:55.32 CST
msuiche That's a very pretty paper you wrote again ther... Monday, November 13 2006 15:40.46 CST

Windows User Mode Debugging Internals Created: Tuesday, October 31 2006 18:02.31 CST
Author: AlexIonescu # Views: 11052

The internal mechanisms of what allows user-mode debugging to work have rarely ever been fully explained. Even worse, these mechanisms have radically changed in Windows XP, when much of the support was re-written, as well as made more subsystem portable by including most of the routines in ntdll, as part of the Native API. This three part series will explain this functionality, starting from the Win32 (kernel32) viewpoint all the way down (or up) to the NT Kernel (ntoskrnl) component responsible for this support, called Dbgk, while taking a stop to the NT System Library (ntdll) and its DbgUi component.

The reader is expected to have some basic knowledge of C and general NT Kernel architecture and semantics. Also, this is not an introduction on what debugging is or how to write a debugger. It is meant as a reference for experienced debugger writers, or curious security experts.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
NeOXQuiCk Nice,thx for sharing.. its helped me a lot.. ... Tuesday, April 3 2007 17:55.47 CDT
tinybyte Nice stuff! Waiting for the sequels :) Friday, December 8 2006 15:25.33 CST
chip Thanks, It's great Monday, November 20 2006 01:07.46 CST
mxatone I start making userland tracer using PaiMei fra... Friday, November 10 2006 02:29.04 CST
mugg Thanks for the great article! Wednesday, November 1 2006 10:45.07 CST

Reversing Microsoft Visual C++ Part II: Classes, Methods and RTTI Created: Thursday, September 21 2006 15:56.06 CDT
Author: igorsk # Views: 20145

Microsoft Visual C++ is the most widely used compiler for Win32 so it is important for the Win32 reverser to be familiar with its inner working. Being able to recognize the compiler-generated glue code helps to quickly concentrate on the actual code written by the programmer. It also helps in recovering the high-level structure of the program.

In part II of this 2-part article (see also: Part I: Exception Handling), I will cover how C++ machinery is implemented in MSVC, including classes layout, virtual functions, RTTI. Familiarity with basic C++ and assembly language is assumed.

Full Article ...    Printer Friendly ...    Write Comment    |    View Complete Comments

    Username Comment Excerpt Date
  dnix wonder whether these structures found by these ... Tuesday, August 19 2008 03:32.23 CDT
igorsk Well, I was disassembling c1xx to check how it ... Friday, September 22 2006 16:30.48 CDT
MohammadHosein actually didnt read the whole article yet , but... Friday, September 22 2006 15:23.54 CDT
linestyle great work!!:) Thursday, September 21 2006 20:02.11 CDT

Archived Articles

Archived
Title   Author # Views Publish Date
Microsoft Patching Internals EliCZ 11889 April 26 2006
Reversing Microsoft Visual C++ Part I: Exception Handling igorsk 31070 March 6 2006
Technical Analysis of MS06-001 stephanc 7247 February 6 2006
FUTo peter 10873 January 5 2006
Plausible Deniability joestewart 8321 November 17 2005
Reverse Engineering Microsoft OLE joestewart 13366 September 12 2005
File Format Reversing - EverQuest II VPK daeken 16207 September 6 2005
WINLDRA.EXE: Reversing a Basic Encryption Algorithm Gerry 16156 August 23 2005
Reversing HDSpoof - A Tutorial smidgeonsoft 23061 August 2 2005
Creating IDA Plug-ins with C# or VB6 dzzie 15341 July 15 2005
Process Stalker vs. MS05-030 pedram 19273 July 6 2005
Introduction to IDAPython ero 16172 June 24 2005
OpenRCE Site Launch pedram 5062 June 17 2005
Active in Last 5 Minutes
Wannabe
linhanshi

There are 8,335 total registered users.


Recently Created Topics
Reverse Engineering ...
Aug/28
How to find function...
Aug/27
Detect Weather in Li...
Aug/27
Nice Process editing...
Aug/27
Help in PESniffer.dl...
Aug/27
SoftICE or alternati...
Aug/23
Translate Virtual Ad...
Aug/23
goto an expression?
Aug/23
Arm and Com interfaces.
Aug/23
pcap diff , anyone ?
Aug/22


Recent Forum Posts
Reverse Engineering ...
noglorp
Detect Weather in Li...
noglorp
Reverse Engineering ...
neoxfx
Detect Weather in Li...
bunn
Reverse Engineering ...
igorsk
Translate Virtual Ad...
staticares
Detect Weather in Li...
Gynvael...
Detect Weather in Li...
noglorp
Detect Weather in Li...
noglorp
Detect Weather in Li...
Gynvael...


Recent Blog Entries
ilfak
Aug/26
The IDA Pro book

ilfak
Aug/26
The IDA Pro book

ilfak
Aug/21
Mr. Bachaalany joins Hex-Rays

stevefewer
Aug/21
OllySocketTrace

bushing
Aug/20
forum and logs

More ...


Recent Blog Comments
bunn on:
Aug/27
OllySocketTrace

GynvaelColdwind on:
Aug/26
Fighting Oreans' VM (code ...

Kendiv on:
Aug/23
OllySocketTrace

NeOXQuiCk on:
Aug/22
OllySocketTrace

Sellmi on:
Aug/21
Fighting Oreans' VM (code ...

More ...


Imagery
SoySauce Blueprint
Jun 6, 2008

[+] expand

View Gallery (11) / Submit