Tag Archives: assembler

Assembly language x64: The System V ABI – part 001.

The System V Application Binary Interface named ABI defines a system interface for compiled application programs.
This System V Application Binary Interface is a set of specifications that detail calling conventions, object file formats, executable file formats, dynamic linking semantics, and much more.
The ABI defines a binary interface for application programs that are compiled for System V implementations on many different hardware architectures.
Also the System V ABI is a family of specifications composed of two basic parts:
– a generic part of the specification ( describes those parts of the interface that remain constant across all hardware implementations of System V;
– a processor-specific part ( the specification describes the parts of the specification that are specific to a particular processor architecture ).
Example:
Virtual addresses and file offsets for the 64-bit PowerPC processor family segments are congruent modulo 64
Kbytes (0x10000) or larger powers of 2. Although 4096 bytes is currently the 64-bit PowerPC page size, this
allows files to be suitable for paging even if implementations appear with larger page sizes. The value of the
p_align member of each program header in a shared object file must be 0x10000.
You need to put segments with different characteristics in separate 256 Mbyte portions of the address space, to give the operating system full paging flexibility in the 64-bit address space.
One example of an executable file (the program linked with a base address of 0x10000000):

The possible corresponding program header segments:

The memory image of virtual adress for the program above is shown here, assuming 4096 (0x1000) byte pages.

Documents about: System V ABI
TODO:Ensure whether these are the latest official links.

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

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 , , , .

News: FASMW64 with more examples.

The FASM come with great examples. If you get a look on this topic, you will see the news about FASM.
The news are:
[FASMW64\FASMW32.EXE] – 32bit asm development
[FASMW64\FASMW64.EXE] – 64bit asm development
[FASMW64\DLL] – 32bit DLL’s required by most programs
[FASMW64\DLL64] – 64bit DLL’s requred by some programs
[FASMW64\fasmw16935] – Original FasmW package un-modified
[FASMW64\Resources] – audio/image/etc.. required by some programs
[FASMW64\SOURCE] – Changes to the source code made by me (currently only fasmw.asm)
[FASMW64\V7 Examples 32bit] – 32bit example code, includes: DX7, DX8, DX9, DX10, Windows (use FASMW32.EXE to compile)
[FASMW64\V7 Examples 64bit] – 64bit example code, includes: DX9, DX10, Windows (use FASMW64.EXE to comile)
[FASMW64\V7INCLUDE32 32bit] – Vista/Win7 include files and api’s
[FASMW64\V7SHELLS32 32bit] – Window Shells
[FASMW64\V7INCLUDE64 64bit] – Vista/Win7 include files and api’s
[FASMW64\V7SHELLS64 64bit] – Window Shells

The FASMW is a great way to learn and deal with assembly language.
The forum has many users to help you.
The goal to understand assembly language is to learn the basic and then to start to put questions.

Posted in news. 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 , , .