Category Archives: Assembler

New x64dbg debugger released.

Today, January 4, 2017 come with new released version of x64dbg debugger application.
This is a open-source x64/x32 debugger for windows and is under constant active development.
The x64dbg can debug both x64 and x32 applications and used Qt, TitanEngine, capstone, Yara, Scylla, Jansson, lz4, XEDParse, Keystone, asmjit and snowman.
Simple, powerful development this debugger come with many features.
You can download ths application from here.

Posted in All, Assembler, Windows 10. Tagged with , , , .

fasm about format ELF executable 3 – part 002 .

If you read fasm-about-format-elf-executable-3 tutorial then you will have some errors.
It’s just a simple example to show you how to deal with .inc files in your project.
You need to have func.inc and date.inc files to run fasm with proj.asm.
This tow files will come with date and functions for your project.
First the proj.asm file :

The next two .inc files  …first date.inc come with :

and the func.inc file come with :

And the result is:

Posted in All, Assembler, Linux. Tagged with , , , .

fasm about format ELF executable 3 – part 001 .

The Executable and Linking Format named ELF providing developers with a set of
binary interface definitions that extend across multiple operating environments.

This is one simple example using fasm and ELF executable 3 .

Let’s run it:

Using format ELF executable 3 I can create segment readable executable and use it.

Also this allow me to set the aligned in the memory.

You can come with more infos about this issue.

Posted in All, Assembler, Linux, Programming. Tagged with , , .

Display one message using assembly code under linux os.

The source code it’s very simple.

The message it’s show using int 80 and eax with function 4.

We need the message and length of this message.

See next the source code and comments:

Posted in All, Assembler, Linux, Programming. Tagged with , , , .

Programming with FASM – first steps .

The FASM is a self-assembling open-source 80×86 assembler for

DOS, Windows and Linux. It supports all 8086-80486/Pentium instructions

with MMX, SSE, SSE2 and with more features.

FASM contains many programming options and features.

The source code can be written in different ways because of control

directives, macros and management of resources.

FASM, by default uses the Intel syntax for the assembly

instructions

You can go on and download it.

Below we see the files that are used by fasm.

The FASMW is a GUI to help in programming, as shown here.

fasmw GUI

Let’s see some example and how this working…

In this first example you will see a message box.

See result in image show below:

fasm message box

First line include some macro – functions.

If the source code is another folder, like for example in a folder

named asm in same folder with INCLUDE, then you need to declare this

macros in this way:

As you see the fasm is not case sensitive , in this case.

The next two lines are data declarations.

Code execution takes place between the two labels:

Code between these labels is written in assembler and can be easy

recognized.

If you think it is easy then let’s see a second example, here’s the

source code:

It seemed more complicated and structured differently from the first

example.

Let’s see the result.

fasm another example

As I said above, fasm – The flat assembler is a series of directives

and special words.

That help us if we know, if not then we use what we know.

Let’s look the source code of the second example and try to understand

it a bit.

Tihis tell us about creating PE file for the x86-64 architecture or if

you want use PE64 keyword instead of PE in the format declaration

This select the Portable Executable output format and will be a console

application.

Also can be console or GUI for Windows applications,

native for Windows drivers, EFI, EFIboot or

EFIruntime for the UEFI or optional DLL and

WDM.

Next entry directive sets the entry point for MZ executable.

The section directive defines a new section and it should be

followed by flags.

We have three sections in this instance one for data, one for code and

one for other data

Other source code lines are easily recognized by how they were reported

in these sections.

I hope you enjoyed the tutorial, I will expect you to come and other

tutorials.

Use the contact page to write

Posted in Assembler, Programming, Windows 7. Tagged with , , , , .