Browsing Author

Dejan Lukan


Dejan Lukan is a security researcher for InfoSec Institute and penetration tester from Slovenia. He is very interested in finding new bugs in real world software products with source code analysis, fuzzing and reverse engineering. He also has a great passion for developing his own simple scripts for security related problems and learning about new hacking techniques. He knows a great deal about programming languages, as he can write in couple of dozen of them. His passion is also Antivirus bypassing techniques, malware research and operating systems, mainly Linux, Windows and BSD. He also has his own blog available here: http://seternity.com/.



sysenter-instruc-internals-feature 0

The Sysenter Instruction Internals

Introduction In the previous article we’ve seen that whether we’re using the int 0x2e interrupt or sysenter instruction, the same method in kernel is being

May 16, 2013 Reverse Engineering
debug-Windbg-feature 1

Introduction to Kernel Debugging with Windbg

Introduction You’ve probably heard about Windbg before, right? It’s a Windows debugger written by Microsoft that’s used by developers and hackers for debugging the OS.

May 10, 2013 Reverse Engineering
PE-Header 4

Presenting the PE Header

Let’s present the whole PE file structure with the picture below (taken from [5]): At the beginning there’s a DOS header, which is an MS-DOS

May 08, 2013 Reverse Engineering
The Import Directory 2

The Import Directory: Part 2

You can take a look at the previous article before reading this one. If you already understand the basics of IAT table, then you can skip

April 29, 2013 Hacking, Reverse Engineering
The Import Directory 1

The Import Directory: Part 1

We know that when the operating system loads the executable, it will scan through its IAT table to locate the DLLs and functions the executable

April 24, 2013 Reverse Engineering
The Export Directory 2

The Export Directory

Simple Example of Export Directory Let’s take a look at a simple example to understand how the export directory is used by the executables/libraries. Let’s

April 18, 2013 Reverse Engineering
2

Loading the Windows Kernel Driver

In the previous part of the article, we’ve explained how to compile the Windows kernel driver. Now that we know how to compile the driver,

April 12, 2013 Reverse Engineering
3

Compiling the Windows Kernel Driver

Introduction In the previous article, I’ve written and described a kernel mode driver, but I haven’t actually done anything with it. There’s something missing in that

April 11, 2013 Reverse Engineering
2

Writing a Windows Kernel Driver

Introduction If you haven’t read the first two articles yet, here and here, then you probably should, because they are essential to understanding what we’ll

April 10, 2013 Reverse Engineering
0

Windows Building Environment for Kernel Driver Development

Details of Driver Development Environment In the previous article , we saw that upon installing WDK 7.1.0, we got build environments for Windows 7, Windows

April 09, 2013 Reverse Engineering
4

Writing Windows Kernel Mode Driver

Introduction In this tutorial, we’re going to use the Windows Driver Mode (WDM) which provides us greater flexibility than other modes while being harder to

April 08, 2013 Reverse Engineering
windowsBootProcess-04042013 2

Windows Booting Process

Introduction In the previous tutorial, we’ve seen how one would go about booting the Linux operating system by using GRUB. We presented the basic overview

April 04, 2013 Reverse Engineering
linuxBooting-04032013 7

Linux Booting Process

Introduction In this article, we’ll take a closer look at the booting process of the Linux operating system. We’ve already described the booting process in

April 03, 2013 Reverse Engineering
kernal-debug-symbol-04012013 7

Windows Kernel Debugging Symbols and Commands

Introduction In this tutorial, we’ll introduce a few basic tools that we need to have available when doing kernel debugging on Windows. Besides that, we’ll

April 01, 2013 Reverse Engineering
Sysenter-03292013 0

The Sysenter Instruction and 0x2e Interrupt

In this article, we’ll present a couple of examples where we’ll be using the 0x2e int instruction to interrupt the kernel and call some interrupt

March 29, 2013 Reverse Engineering
UDT-03282013 2

Protected Mode and the IDT

Introduction The MSDOS system uses IVT (Interrupt Vector Table) to hold the interrupt vectors that are called whenever some action occurs: like an interrupt is

March 28, 2013 Reverse Engineering
Kernel-Mode-03262013 0

Windows Architecture and User/Kernel Mode

Introduction Each process started on x86 version of Windows uses a flat memory model that ranges from 0×00000000 – 0xFFFFFFFF. The lower half of the

March 27, 2013 Reverse Engineering
protected-memory-03252013 2

Handling Memory in Protected Mode

Introduction In the past, systems such as MSDOS used the real mode, and it had no protections against accessing any memory address. Programs then were

March 25, 2013 Reverse Engineering
Physical-Address-03202013 0

Translating Virtual to Physical Address on Windows: Physical Addresses

Getting the Physical Address Manually So far we’ve figured that the virtual address is the same as linear address, so in the next part of

March 22, 2013 Reverse Engineering
Physical-Address-03202013 0

Translating Virtual to Physical Address on Windows: PAE, Virtual and Linear Addresses

Checking if PAE is Enabled This was discussed in the first portion of this tutorial: please review before proceeding. Getting the Virtual Address The next

March 21, 2013 Reverse Engineering
Back to Top Copyright © 2012 - InfoSec Institute