Click here to Skip to main content
14,546,611 members


Great Reads

by codestarman
X86/ARM emulator written using C++ and assembler for the .NET environment.
by Ryan S White
CudaPAD is a PTX/SASS viewer for NVIDIA Cuda kernels and provides an on-the-fly view of your Cuda code.
by CMalcheski
How to Create a Complete DirectX Game in Assembly Language
by Dr. Song Li
This is a note on how compilers implement function calls to pass the parameters to and get the return value from the called functions.

Latest Articles

by Alex Rakov, Alexandre Bencz
ELENA is a general-purpose, object-oriented, polymorphic language with late binding
by Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET
by Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET.
by Jeremy Likness
Blazor and WebAssembly examples (part of a Blazor presentation)

All Articles

Sort by Score


3 Sep 2008
An extendable report editor. You can simply add your own controls without recompiling the program or writing annoying plug-ins.
30 Jun 2009
How to use debug
15 Apr 2012
Russ Osterlund
A totally new version of the article I wrote many years ago called "There and Back Again or Stepping Through the JIT Thunk Layer" but this time examines 64-bit processes and V4.0 of Microsoft's .NET runtime.
9 Jul 2012
A simple technique to integrate a custom build tool in VS 2010.
1 May 2014
X86/ARM emulator written using C++ and assembler for the .NET environment.
27 Mar 2013
Usage of Intel/AMD extended processor features.
13 Feb 2013
Working alongside Windows KPP (patchguard) and hooking system services.
4 Nov 2013
Dave Butler, VP and Senior Business Leader at MasterCard, offers developers insight into the company’s worldwide OpenAPI platform.
1 Jul 2014
This article introduces a handy way to get the calling Testing Assembly from a called Assembly
12 Jul 2016
David A. Gray
Share Win32 string resources without the risk of conflicting resource IDs
3 Jan 2017
Ryan S White
CudaPAD is a PTX/SASS viewer for NVIDIA Cuda kernels and provides an on-the-fly view of your Cuda code.
27 Feb 2016
John Jiyang Hou
A List data structure implementation in MASM Assembly with C function realloc
4 Mar 2016
This article is based on Chapter 2 of my unpublished textbook “Applied Algorithms and Data Structures.”
26 Apr 2016
Dr. Song Li
This is a note on how compilers implement function calls to pass the parameters to and get the return value from the called functions.
4 Mar 2016
John Jiyang Hou
An algorithm to determine if a point is inside a 3D convex polygon for a given polygon vertices in MASM Assembly.
31 Aug 2016
Sheshnath Kumar
This article will find out a solution to serialize/deserialize object by reference at server and client, also will serialize/deserialize objects having circular references.
11 Dec 2016
Russ Osterlund
Code Obfuscation in 64-Bit Land
18 Jan 2017
leon de boer
Third in the series of frustrations and adventures with the Raspberry Pi
5 Feb 2017
Gregory Morse
UTM based on mov is Turing-complete paper x86 and x86-64
27 Feb 2017
To fully take advantage of parallelization features, developers have to change how they code. But a great deal of optimizations can be made through Intel’s parallelization tool, Intel Advisor.
17 Sep 2017
leon de boer
Introducing SmartStart something like a BIOS for the Pi
28 Mar 2017
Kristoffer Blasiak
Automated proxy DLL generation with 64 and 32 bit DLL support
8 Jun 2017
How to Create a Complete DirectX Game in Assembly Language
8 Jun 2017
David A. Gray
Historically, ETW has been portrayed as having a very steep learning curve, along the lines of the effort required to summit Everest. Realizing its potential value, I set about to reduce the effort to that required to summit Pike's Peak.
14 Jun 2017
Part II - Laying the Foundation for the Migration to Assembly
31 Mar 2018
David O'Neil
Everybody Loves the Mandelbrot Set! Here's a browser for it!
8 Nov 2018
Member 13737597
This article shows you how to implement trampolines on x64, introduces the idea of sync and async hooks, and dynamically added runtime filters and loggers.
14 Dec 2019
Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET.
23 Apr 2019
Member 13737597
This article shows how to automatically catch memory access (read /write) for some memory region and log these changes into file
14 Nov 2019
An assembly implementation of the AES-128 cipher algorithm for the 8051 microcontroller
24 Sep 2008
Ever wanted to know how to call internal functions of other processes? This is an article on just that -- you'll learn how to read disassembled code in a project where the source code is known, and then apply that knowledge on an application where it isn't.
2 Aug 2019
Michael Chourdakis
All in one: x86, x64, Virtualization, multiple cores, along with new additions
23 Jun 2009
Ziad Elmalki
Replace any method with another method at runtime. Updated for 3.5 SP1.
4 Jan 2013
Colin Eberhardt
This article describes the development of a Windows Phone 8 Run Tracking application that uses a number of the new Windows Phone 8 features.
2 Apr 2010
Nish Nishant, Professor Cuthbert Calculus, Glenn Quagmire
This paper is a summary of a research exercise conducted in conjunction by Nish Sivakumar, Professor Cuthbert Calculus, and Glenn Quagmire.
5 Aug 2014
A Simple Profiler for C++ apps on x64 platform
27 Aug 2007
This is a complete beginners guide to codecaves that covers the main topics of: what a codecave is, what a codecave can be used for, and how to use a codecave.
31 Dec 2008
Stepper motor And seven-segment display control with parallel port using Assembly Language
10 Jul 2017
App Initialization and Main Window Creation
7 Aug 2014
Modify methods' IL codes on runtime even if they have been JIT-compiled, supports release mode / x64 & x86, and variants of .NET versions, from 2.0 to 4.5.
17 Nov 2009
Descriptor tables and interrupts.
8 Dec 2009
Apriorit Inc, Eugene Wineblat
In this article, we continue investigation in the field of hiding application in the system. This article will tell where Windows OS stores the services and how uses them. We’ll discuss how this knowledge can be applied to finding our custom service and hiding it.
30 Dec 2018
Michael Chourdakis
Immerse yourself in system programming!
3 Nov 2008
An article explaining several Win32 reverse engineering techniques applied to Live Messenger research and plug-in development.
13 Mar 2014
Understanding FAT file system and kernel programming in C/C++
5 May 2010
An article on Windows XP logon process modification
3 Dec 2009
Tomek Kawecki
An article which describes how to implement a fast polymorphic math parser using machine code generation methods.
16 Oct 2013
Reading the contents of a floppy disk using BIOS interrupts and Services.
27 Dec 2005
Ashkbiz Danehkar
This article demonstrates five steps to inject your code in a portable executable (EXE, DLL, OCX,...) file without recompiling source code.
15 Feb 2012
Sasha Goldshtein
This article shows several examples of situations where understanding assembly language helps debug seemingly impossible problems with .NET applications.
7 Oct 2016
digital performance
This article shows how to access Windows API with plain x64 assembly programming language (MASM style). It shall also give an overview, how to apply some programming techniques like OOP and multithreading on a low level.
23 Feb 2016
Zuoliu Ding
A discussion on some MASM Macro usages, including ECHO directive, parameter type/size check, and repetitions with location counter $.
23 Jul 2009
Apriorit Inc, Alex Kolesnyk
This article describes the first steps in low-level programming on the example of developing of simple boot loader
9 Nov 2008
Joshua Tully
A look into what goes into the area of preventing reverse engineering, and gives developers some functions and ideas about preventing reversing engineering of their programs.
29 Jan 2019
Zuoliu Ding
A discussion on some basic practices highly recommended in Assembly Language Programming.
4 May 2008
Sasha Goldshtein
In this article, we will look into JIT optimizations, with specific focus on inlining.
4 Oct 2017
Ditching the slowdowns and applying a little elbow grease can create dramatic speed improvements in GDI image blending.
16 May 2014
Jan Dolinay
This article explains why the Arduino digital I/O functions are slow and compares them with faster implementation used in Wiring framework.
23 Apr 2017
Zuoliu Ding
A discussion on how Visual C/C++ code works with bit-wise logical and shift operators, as well as a loop optimization.
7 Nov 2011
Antonio Feijao
A library that implements remote code injection for all Windows versions.
5 Mar 2014
Mike Hankey
Learn the basic of the AVR micro controller and the assembly language
21 Aug 2009
Werner Willemsens
An article on analysing a program exception or software crash.
17 Dec 2019
Alexandre Bencz
With this new OrangeC/C++ compiler back-end, you can compile your C code to .NET
1 Oct 2009
C++ support code and the console.
13 Jan 2018
Pritam Zope
In this article we will create a simple kernel such as printing HelloWorld first and then writing functions for printing numbers, Keyboard I/O, Box Drawing GUI, and Tic-Tac-Toe game in kernel in C
19 Jan 2016
David A. Gray
This article documents issues that I have identified in the new secure overloads of the CRT buffered print routines.
28 Mar 2004
Toby Opferman
Introduction to the most important ally in the fight against bugs, the stack.
2 Oct 2013
Nitay Artenstein
An in-depth look at how to disassemble the x86 instruction set, and how to put it to good use in your own code injections
29 Jan 2006
Toby Opferman
Introduction to the Windows display driver model.
16 Jan 2012
Tomas "Frooxius" Mariancik
Explanation of the basic workings of the computer in simple language.
14 Oct 2008
In this article, I will talk about the theories and implementations of API hooking. API hooking is a powerful technique that allows someone to hijack a function and redirect it to a custom one. Anything can be done in these functions before passing control back to the original API.
1 Dec 2012
Nicolas Dorier
Debugger API, explore and modify running program easily
27 Apr 2005
Toby Opferman
Introduction to TDI Client drivers and more IRP handling.
1 Jan 2013
Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use.
22 Sep 2015
Jerry Evans
Adding cross-platform round-trip JSON serialization to C++ classes
22 Jul 2010
An I/O port sniffer using hardware debug registers.
29 Sep 2014
Ben M Watson
Understand exactly what happens during object allocation in .NET, why it's extremely efficient in the common case, and how to trigger slower code paths
12 Jul 2016
David A. Gray
The Excel powered resource generator, version 2, is vastly improved and better documented.
12 Feb 2009
Gregory Shpitalnik
How to inject some code into running Linux application
29 Jul 2009
Introduce the algorithm and technique for pre-drawing process speed up.
10 Apr 2008
Daniel Pistelli
1 alternative  
A powerful x86/x64 Hook-Engine
24 Nov 2014
Jeremy Falcon
A beginner's guide to talking like a computer.
20 May 2009
Inject user mode routine into kernel space and execute
3 Jul 2011
Chad Z. Hower aka Kudzu
A quick view under the hood of Cosmos and how it works
31 Dec 2018
Michael Chourdakis
Curious on how you create a hypervisor app? Read mode!
7 Aug 2004
Toby Opferman
Learn the basics of debugging deadlocks and other issues.
5 Sep 2017
Brian Aberle
XMLFoundation is the fastest XML Parser available. It is also a framework foundation for an application that uses XML to enable Object-XML mappings and Application Layer binding to XML Data objects.
1 Nov 2017
Jose A Pascoa
Rolling up a practical solution.
14 Jan 2014
When discussing VB6, we should look at the reality of the situation and not on preconceived opinions. New source code projects are made daily in Visual Basic 6.0. The paper proposes the reintroduction of Visual Basic 6.0 on the market, in parallel with Visual Studio line.
17 Aug 2009
Michael Mangelsdorf
A DLL implemented in assembler featuring a console GUI component.
17 Feb 2015
Jan Dolinay
This article describes software library for the FRDM-KL25Z board which allows writing programs for this board using the Arduino API.
26 Dec 2011
ASM.Net a assembly x86 emulator which emulates the language the managed way
9 Aug 2012
Dr. APo
This article presents an experimental platform consisting of two computers to conduct hardware programming and research, unrestricted by any Operating System.
2 Nov 2011
Rene Pally
Advanced .NET Debugging Extracting Information from Memory
10 May 2012
This article takes you through a step-by-step process of creating your own virtual machine.
10 Feb 2005
Russ Osterlund
This article examines the JIT thunk layers that your code executes when a method is run for the first time.
1 Jan 2013
Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use.
9 Mar 2015
Jan Dolinay
This article describes faster but still easy-to-use version of digital I/O for Arduino
17 Oct 2011
Jose A Pascoa
This article deals with building a standalone 64-bit .NET .exe file that is statically linked with an Assembly Language compiled object file.
20 Apr 2015
How to boot a floppy image with your own hand written code in C and Assembly
19 Feb 2008
How much faster will implementing "the generic bad algorithm" in SSE2 make it?
12 May 2014
Compiling and running C# code from your application.
11 Oct 2006
S Keller
Writing your own operating system.
15 Dec 2016
leon de boer
More playing, crying and laughing with the Raspberry Pi
4 Apr 2005
Elias Bachaalany
An article showing how you can programmatically check if your code is running inside a virtual machine (such as VPC or VMWare).
10 Dec 2008
The first part of a two-part article which will illustrate how to redirect the PLT of a process through the injection of a shared object into its address space.
19 Dec 2012
Zuoliu Ding
A discussion on how switch/case is executed, by reverse engineering in VC++
1 Jan 2013
Dávid Kocsis
A new general purpose language that aims to be fast, high level and simple to use. (I renamed it from Anonymus)
24 Mar 2004
Toby Opferman
This tutorial we will attempt to write a simple debug extension.
15 Dec 2008
Murali Kartha
How to get the virtual address of an API in a user land process from Ring0
7 Mar 2008
Jeffrey Walton
Add functionality to a project using existing compiled machine code.
16 Aug 2010
Rene Pally
Intercepting .NET SQL queries at runtime - SQL Management Studio case.
11 Jul 2013
Matthew Faithfull
Querysoft Open Runtime: Architecture compatibility aspect.
8 Jan 2019
Michael Chourdakis
All in one article about raw CPU technologies, access multiple cores and protected or long mode from DOS while still having access to DOS interrupts
8 May 2004
Toby Opferman
Learn how to debug handle leaks in Windows.
5 Apr 2005
Don Clugston
A comprehensive tutorial on member function pointers, and an implementation of delegates that generates only two ASM opcodes!
26 Dec 2018
Michael Chourdakis
Trigger all your cores from DOS
18 Jul 2008
An introduction to thunk and its uses in callback handling, interface marshaling, and supporting multiple inheritance in C++.
6 Feb 2012
How to write a reliable shellcode on win32, how to bypass the obstacles that you will face in writing a win32 shellcode and how to implement your shellcode into Metasploit
22 Jan 2017
Kewin Rausch
How an application performs metamorphism to adapt and survive in an "hostile" environment.
18 Sep 2008
Joshua Tully
A brief introduction into Windows anti-debugging techniques.
22 Aug 2016
Tuned function for searching a needle in a haystack
4 Jun 2016
An intensive research is given on this topic. A handy utility tool is built to check if an assembly unmanaged or managed, built for 32-bit or 64-bit Windows.
5 Jul 2016
T. Herselman
2 years ago I went OCD on memcpy/memmove; and wrote over 140 variations (80,000 lines of code) of memmove; testing, disassembling, optimizing and benchmarking them on multiple machines. I never released the article or the code; until now! So I need to do it before I loose my mind!
16 Sep 2015
Masm code editor with syntax highlighting, etc.
23 Mar 2015
An heavily optimized LZSS decompression etude in C
20 Sep 2012
x8086 assembly program that encrypts/decrypts text input from the keyboard by using basic assembly language ideas
22 Sep 2013
The CNativeInvoke class generates x86 function calling code at runtime and executes it.
2 Jun 2015
David A. Gray
Use static buffers to guarantee that error message reporting succeeds, even when token replacement is required, and memory is low.
25 Jan 2011
Creating a project with Keil for a 32KB program space
11 Feb 2019
Sarthak S
Assembly inspection and hacking with windbg
20 Oct 2007
A processes and threads manager application.
30 Jun 2015
Toby Opferman
Building your own 64-bit Windows Extender
19 Sep 2005
Doga Arinir
Calling C++ operations from assembler code using member function pointers.
4 Jul 2011
Chad Z. Hower aka Kudzu
Several users have written to me requesting information on the new Cosmos X86 assembly level debugger. Because of the great interest I have written this short preview article.
30 Dec 2009
Review of Randall Hyde's Write Great Code Vol. 2
20 Jul 2017
Jose A Pascoa
The much talked about Kernel data structures
5 Mar 2007
Optimized implementation of a readers/writers-lock sync object.
28 Jun 2010
An article explaining the benefits of learning assembly language
27 Feb 2010
This article takes you through a step-by-step process of creating your own virtual machine.
6 Jul 2016
Victor Soldatov
A coarse approach to operate huge integers.
26 May 2019
Part 1 of this article discussed an algorithm for addressing all pixels within a circle with surgical precision, optionally expanded to filling in those pixels as required to create a color wheel; this is part 2 of 2, covering the actual implementation.
27 Jan 2010
Rajasekharan Vengalil
How to write a program that deletes itself
29 Nov 2006
S Keller
How to build and test your own Operating System.
7 Jul 2018
Programming Microchip PIC32MM microcontrollers in C++ and assembly
26 Aug 2015
Christophe Duparquet
This article introduces a hardware abstraction tool for microcontroller programming.
10 Oct 2013
Code Artist
Example implementation of dynamic assembly loading in C#
3 Oct 2011
Jose A Pascoa
Using Borland Assembler Language in 32-bit and 64-bit Delphi programs.
1 Jun 2020U
Alex Rakov, Alexandre Bencz
ELENA is a general-purpose, object-oriented, polymorphic language with late binding
15 Aug 2012
Arman Aşçı
Time division multiplexing between 6 x 7-Segment displays control with Parallel Port and x86 assembly.
8 Jul 2013
JP van Mackelenbergh
Abstracting the ORM Framework via Repository/Unit Of Work patterns
11 Apr 2019
Jose A Pascoa
Although most Windows programmers have already used the RichEdit Control, many of them are not aware of all its capabilities. One such capability is image embedding.
5 Jun 2008
Maruf Maniruzzaman
Environment settings for OS development
4 Oct 2009
Nathan Campos
Shows how to create a simple DLL and invoke it in another program
2 May 2009
Tolga Birdal
Fast image inversion forms a good basis for optimizing pixel wise operations. We will discuss the ways to achieve the best speed on this inversion operator.
26 Jun 2010
Learn the benefits of using this simple technique to design and document your code
25 Aug 2007
The Ultimate Toolbox
COXDateTimeCtrl provides a handy and flexible method of Date/Time entry and display.
3 Oct 2004
A beginner's introduction to one of the optimization methods.
23 Jul 2008
Here I will present a simple "Hello World" application that you can boot into from Floppy Drive, like an Operating System.
19 Jan 2013
An Image fader application. This hides information behinde an image and fades it out onMouseOver to display the content behind the image. Useful for hiding something, or as a stylish accessory.
26 Jun 2009
An quick introduction to ResEdit resource editor
19 Nov 2011
Review about the Creating Your Own Freaking Awesome Programming Language Book
27 Sep 2005
Peregrine Falcon
Disabling tooltips system-wide - efficiently!
5 Apr 2007
Display simple, animated GIFs in your applications using the AniGIF custom control (packaged as a DLL and a static library).
18 Jul 2011
Hubert Haien
Presentation of a memory-wrapper class written in ASM that provides methods to organize and serialize data. Comes with its own 32 bit algorithm.
8 Sep 2008
Introducing a simple method to display a transparent PNG file.
9 Sep 2016
Jose A Pascoa
SIMD instruction sets may expect a special alignment of memory, but when that memory is on the stack MASM does not provide alignment facilities.
26 Dec 2004
Peter Kankowski
Optimizing string-manipulation functions.
1 Feb 2005
Sachin R Sangoi
Difference between different the calling conventions.
19 Jul 2005
Nadeem Afana
An article on mixed-language programming.
30 Dec 2006
Maximum performance, reduced size applications using 32-bit assembly is easy
8 Sep 2004
Marcello Cantelmo
Simple check for break-points on eXecution of a system debugger!
19 Aug 2007
This article supplies the source code of the _ValidateEH3RN function in Structured Exception Handling.
19 Sep 2004
A Smallest Game Demo Code
12 Sep 2008
A very simple way of doing it.
8 Apr 2009
Loader snaps