Subscribe to receive all latest blog updates
In terms of software, reverse engineering is the process of researching programs to obtain some closed information and algorithms of their work. While software reversing results can be used for legal purposes, it is generally considered that they are...
In this article, I will tell about the main tools that a modern software reverser uses in his work. This article is for readers, who are familiar with the Assembler language, network interaction principles, and have experience of programming for...
This article considers common tasks, main tools, and basic principles of how to reverse engineer a software, specifically, Windows software. We also discuss a small step-by-step example of reverse engineering an application to illustrate discribed...
The aim of this article is to describe reverse engineering for OS X software and iOS apps in general terms. My goal was to provide a wide coverage of Objective-C and Swift code reversing, without going too much into details, in order to describe how to...
This article is intended to be a kind of tutorial for reversers, as its author is one of our software reverse engineers. It describes how to restore classes using software reverse engineering. In our development blog, you can learn more about Windows...
In this article, I will tell you how to write an anti-debug plugin for OllyDbg v. 2.01. The task is to prevent the application being debugged from detecting the debugger.
In this white paper, we will examine one of the modern antidebugging methods that is based on software nanomites technology. It’s also an effecient method of the process antidumping. This approach was first introduced in the Armadillo protector for...
There are situations when you really need to know how an application works, how it implements such and such functionality. For example, you want to integrate your software with some popular system; learn how existent solutions of your problem work;...
This article describes the protocol of data exchange that is the modification of the well-known OBEX protocol used in the GSM Samsung phones from the SHP family. The described modification of this protocol lets you write data to the phone and also get...
This presentation is made by one of our leading Research Specialists and devoted to the Reverse Engineering tip. It shows how to recognize C++ FOR operator in Assembler code.  
Once long time ago I was curious how to get a descriptor of the module mapped into memory (.exe or .dll), if its name and other attributes needed for using special API functions are unknown. If in the case of GetModuleHandle with zero parameter value...
Long time ago we started publishing here the articles written by developers and reversers from our team. Here is the new one - our reverser gives some advices on reversing for Symbian. Any comments are appreciated.  
Once we faced the need to investigate how Samsung cellular phones work; we required some information from them, which is not documented (and will never be, for sure). So this article is about interesting points our reverser had met while working with...
RISC processors are used in many small devices such as PDA, mobile phones, clever coffee-machines etc. There is a big variety of assemblers for RISC processors, but the most frequent one now is ARM. I am going to talk about ARM 7 since I had dealt with...