Malware have been evolving by adding new techniques to evade anti-virus and reverse engineering. These techniques include process hollowing, process injection, process doppelganging, code anti-debugging, and anti-analysis. Process hollowing and process doppelganging techniques basically overwrites the image of a legit process with a malicious image. This masks the malicious program with a legit process. Process injection, on the other hand, inserts and runs code in a remote process space.
Anti-debugging, anti-analysis, and the other tricks discussed in this chapter are obstacles for reverse engineering. But knowing the concept for these tricks enables us to overcome them. Doing static analysis with deadlisting, we can identify and then skip the tricky code, or in the case of SEH, place a breakpoint at the handler.
We discussed anti-debugging tricks...