# Reverse Engineering Resources | Beginners To Intermediate Guide/Links 💯

**URL:** <https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763>\
**Category:** Give-Away and Freebies\
**Tags:** learning, hacking, freebies, streaming\
**Created:** [April 23, 2020, 9:41am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763 "2020-04-23T09:41:08Z")\
**Posts on this page:** 11\
**Page:** 1

<div class="post-metadata">

**Author:** ![Aina](https://onehack.st/user_avatar/onehack.st/aina/32/167469_2.png) [@Aina](https://onehack.st/u/Aina)\
**Post date:** [April 23, 2020, 9:41am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/1 "2020-04-23T09:41:08Z")

</div>

![image](https://onehack.st/uploads/default/original/3X/7/f/7fe004ef06d5f59fb516edd169eed1d6ccdd0018.jpeg)

**What is reverse engineering:**

**Reverse engineering** may refer to any of the following: 1. When referring to **computer science** / **programming** , **reverse engineering** means to “break down” the **programming** code. … Generally speaking, the purpose is to fix errors in the software **engineer’s** code, or create a program like the one being deconstructed.

**Are reverse engineering and decompilation the same**?

Decompilation is just one method of reverse engineering.

From the [decompilation](https://reverseengineering.stackexchange.com/questions/tagged/decompilation) description:

_Decompiling is the process of analyzing an executable or object code binary and outputting source code in a programming language such as C. The process involves translating a file from a low level of abstraction to a higher level of abstraction.Decompilation is usually carried out using a decompiler._ From [Wikipedia’s article on reverse engineering](http://en.wikipedia.org/wiki/Reverse_engineering):

> _Reverse engineering is the process of discovering the technological principles of a device, object, or system through analysis of its structure, function, and operation._
> 
> Software can be reverse engineered and decompiled. A lot of other things (such as hardware, door locks) can be reverse engineered but not decompiled, because their software/firmware is written in low level languages without a higher-level representation, or, more radically, they don’t _have_ any firmware in the first place.

Whenever we begin up reverse engineering Two things will come up in mind :

> _ **Dynamic program analysis** _ _is the analysis of computer software that is performed by executing programs on a real or virtual processor._
> 
> _ **Static program analysis** _ _is the analysis of computer software that is performed without actually executing programs._

In other words :

- The **static analysis** is usually based on analyzing the program without the need to execute it. It is mostly based on finding patterns, counting memory references, … The Wikipedia page about _Static program analysis_ is, from my point of view, incomplete but still a good read.

- The **dynamic analysis** , on the other hand, involves executing the program and requires instrumentation of basic blocks such as loops, functions, … The instrumentation consists of inserting probes at the entry and exit of a basic block which will measure the time according to a certain metric (CPU cycles, time in µs, …). The information gathered after the analysis is usually used to optimize the application by performing loop unrolling with a suitable unroll factor, vectorization if possible (SSE, AVX, Altivec, …), etc.

**Ok let’s Jump into resources, Please note that the following collection is collected by various professionals I just summarize it up here. All credits go to original authors.**

_ **Assembly Fundamentals** _

1. [LiveOverflow Binary Hacking](https://www.youtube.com/watch?v=iyAyN3GFM7A&list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN)🌟💬

2. [OpenSecurityTraining.info: Introductory Intel x86](http://opensecuritytraining.info/IntroX86.html)🌟

3. [Practical Reverse Engineering](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-1118787315,subjectCd-CSJ0.html)🌟💬

4. [Practical Malware Analysis](https://www.nostarch.com/malware)🌟💬

5. [Assembly Language Step-by-Step: Programming with Linux](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0470497025.html)

6. [Wikibooks: x86 Disassembly](https://en.wikibooks.org/wiki/X86_Disassembly)

7. [Eli Bendersky: Where the top of the stack is on x86](https://eli.thegreenplace.net/2011/02/04/where-the-top-of-the-stack-is-on-x86/)

8. [Eli Bendersky: Stack frame layout on x86–64](https://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64)

9. [x86 Assembly Guide (CS216 ‘06)](http://www.cs.virginia.edu/~evans/cs216/guides/x86.html)

_ **C Fundamentals :** _

1. [The C Programming Language (K&R)](https://en.wikipedia.org/wiki/The_C_Programming_Language)

2. [The GNU C Reference Manual](https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html)

3. [Learn C the Hard Way](https://learncodethehardway.org/c/)

4. [Learn C in Y Minutes](https://learnxinyminutes.com/docs/c/)

5. [Beej’s Guide to C Programming](http://beej.us/guide/bgc/)💬

**Reverse engineering Fundamentals :**

1. [LiveOverflow Binary Hacking](https://www.youtube.com/watch?v=iyAyN3GFM7A&list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN)🌟💬

2. [OpenSecurityTraining.info: Introduction to Reverse Engineering Software](http://opensecuritytraining.info/IntroductionToReverseEngineering.html)

3. [RPISEC: Modern Binary Exploitation](http://security.cs.rpi.edu/courses/binexp-spring2015/)🌟

4. [Practical Reverse Engineering](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-1118787315,subjectCd-CSJ0.html)🌟💬

5. [A Bug Hunter’s Diary](https://www.nostarch.com/bughunter)🌟💬

6. [Reversing: Secrets of Reverse Engineering](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0764574817.html)💬

7. [Basic Dynamic Analysis with IDA Pro and WinDbg](https://youtu.be/_ACDiW2I4ns)💬

8. [Ben Hawkes: What makes software exploitation hard?](https://www.youtube.com/watch?v=ZKIIPu1wqHs)

9. [GynvaelEN Hacking Livestreams](https://www.youtube.com/user/GynvaelEN/videos?sort=dd&view=0&flow=list&live_view=500)

10. [The Art of Fuzzing: Slides and Demos](https://sec-consult.com/en/blog/2017/11/the-art-of-fuzzing-slides-and-demos/index.html)

11. [Malware Unicorn: Reverse Engineering Malware 101](https://securedorg.github.io/RE101/)🌟

12. [sploitF-U-N: Linux (x86) Exploit Development Series](https://sploitfun.wordpress.com/2015/06/26/linux-x86-exploit-development-tutorial-series/)

13. [Gynvael Coldwind: How to find vulnerabilities?](http://gynvael.coldwind.pl/?id=659)

14. [High-Level Approaches for Finding Vulnerabilities](http://jackson.thuraisamy.me/finding-vulnerabilities.html)

15. [FuzzySecurity Tutorials](http://www.fuzzysecurity.com/tutorials.html)🌟💬

16. [GitHub CTF Write-ups](https://github.com/ctfs/)💬

17. [Dennis Yurichev’s Reversing Challenges](https://challenges.re/)

# General

_Articles_

- [Reverse Engineering — Wikipedia](https://en.wikipedia.org/wiki/Reverse_engineering)

- [High Level view of what Reverse Engineering is](http://www.program-transformation.org/Transform/DecompilationAndReverseEngineering)

- [What is Reverse Engineering?](http://www.program-transformation.org/Transform/DecompilationAndReverseEngineering)

_Educational_

- [Introduction to Reverse Engineering Software — Dartmouth](http://althing.cs.dartmouth.edu/local/www.acm.uiuc.edu/sigmil/RevEng/)

- [CSCI 4974 / 6974 Hardware Reverse Engineering](http://security.cs.rpi.edu/courses/hwre-spring2014/)

- [Starting from Scratch?](http://www.reddit.com/r/ReverseEngineering/comments/smf4u/reverser_wanting_to_develop_mathematically/)

- [Introduction to Reverse Engineering Software](http://althing.cs.dartmouth.edu/local/www.acm.uiuc.edu/sigmil/RevEng/)

- [Reverse History Part Two — Research](http://jakob.engbloms.se/archives/1554)

- [mammon\_’s tales to his grandson](https://mammon.github.io/tales/)

- [Reversing Prince Harming’s Kiss of Death](https://reverse.put.as/2015/07/01/reversing-prince-harmings-kiss-of-death/)

- [Theorem prover, symbolic execution and practical reverse-engineering](https://doar-e.github.io/presentations/securityday2015/SecDay-Lille-2015-Axel-0vercl0k-Souchet.html#/)

- [Jailbreaks and Pirate Tractors: Reverse Engineering Do’s and Don’ts](https://www.youtube.com/watch?v=8_mMTVsOM6Y)

_Timelines_

- [Symbolic execution timeline](https://github.com/enzet/symbolic-execution)

_Videos_

- [The Best Campfire Tales that Reverse Engineers Tell — Travis Goodspeed with Sergey Bratus](https://www.youtube.com/watch?v=l39OVRDvN9w)

- [Jailbreaks and Pirate Tractors: Reverse Engineering Do’s and Don’ts](https://www.youtube.com/watch?v=8_mMTVsOM6Y)

- [Introduction to Reversing and Pwning — David Weinman — BsidesLV ProvingGrounds17](https://www.youtube.com/watch?v=4rjWlOvbz7U&app=desktop)

# Things that are interesting/don’t fit elsewhere

Things that Don’t fit elsewhere

- [SyntaxHighlighter](http://alexgorbatchev.com/SyntaxHighlighter/)

- [linguist](https://github.com/github/linguist)

- [Ohcount — Ohloh’s source code line counter.](https://github.com/blackducksoftware/ohcount)

- [Detecting programming language from a snippet](https://stackoverflow.com/questions/475033/detecting-programming-language-from-a-snippet)

_Comparison Tools_

- [binwally](https://github.com/bmaia/binwally)

- [Using binwally — a directory tree diff tool](http://w00tsec.blogspot.com/2013/12/binwally-directory-tree-diff-tool-using.html)

- [Diaphora](https://github.com/joxeankoret/diaphora)

_References_

- [FCC ID Lookup](http://transition.fcc.gov/oet/ea/fccid/)

- [x86 opcode structure and instruction overview](http://pnx.tf/files/x86_opcode_structure_and_instruction_overview.pdf)

# General Research/Stuff

- [TAMPER (Tamper And Monitoring Protection Engineering Research)](http://www.cl.cam.ac.uk/research/security/tamper/)

# Tools

_ **Binary Visualization Tools** _

- [binglide](https://github.com/wapiflapi/binglide) [& binvis.io](http://binvis.io/#/)

- visual analysis of binary files

- [cantor.dust](https://sites.google.com/site/xxcantorxdustxx/home)

_ **General** _

- [Binwalk](https://github.com/devttys0/binwalk)

- [Pip3line, the Swiss army knife of byte manipulation](https://nccgroup.github.io/pip3line/index.html)

- [Frida](http://www.frida.re/docs/home/)

- [Binacle](https://github.com/ANSSI-FR/Binacle)

- [Construct2](https://github.com/construct/construct)

**De/Obfuscators/Unpackers**

- [de4dot](https://github.com/0xd4d/de4dot)

- [Universal Extractor](http://www.legroom.net/software/uniextract)

- [Stunnix C/C++ Obfuscator](http://stunnix.com/prod/cxxo/)

- [asar](https://github.com/electron/asar)

**ELF/Related Tools**

- [Rdis](https://github.com/endeav0r/rdis)

- [readelf](https://sourceware.org/binutils/docs/binutils/readelf.html)

**Emulators**

- [Unicorn-Engine](http://www.unicorn-engine.org/)

- [pegasus — Windbg extension DLL for emulation](https://github.com/0a777h/pegasus)

**Packers**

- [UPX — the Ultimate Packer for eXecutables](https://github.com/upx/upx)

**PE32/Related Tools**

- [Dependency Walker](http://www.dependencywalker.com/)

- [PPEE(puppy)](https://www.mzrst.com/#top)

- [PEStudio](http://www.winitor.com/)

- [PEview](http://wjradburn.com/software/)

**OLE**

- [python-oletools](https://github.com/decalage2/oletools)

- python-oletools is a package of python tools to analyze Microsoft OLE2 files (also called Structured Storage, Compound File Binary Format or Compound Document File Format), such as Microsoft Office documents or Outlook messages, mainly for malware analysis, forensics and debugging. It is based on the olefile parser. See [http://www.decalage.info/python/oletools](http://www.decalage.info/python/oletools) for more info.

**Searching Through Binaries**

- [bingrep](https://github.com/m4b/bingrep)

**Static Analysis Tools**

- [Bindead — static binary binary analysis tool](https://bitbucket.org/mihaila/bindead/wiki/Home)

- [Static binary analysis tool](https://github.com/bdcht/amoco)

- [Statically Linked Library Detector](https://github.com/arvinddoraiswamy/slid)

**OS X**

- [Instruments — OS X system analysis](https://developer.apple.com/library/mac/documentation/DeveloperTools/Conceptual/InstrumentsUserGuide/Introduction/Introduction.html)

- [Reversing iOS/OS X](http://newosxbook.com/forum/viewforum.php?f=8)

**Linux**

- [Statically Linked Library Detector](https://github.com/arvinddoraiswamy/slid)

- [Rdis](https://github.com/endeav0r/rdis)

**Windows**

- [PolyHook — x86/x64 Hooking Library](https://github.com/stevemk14ebr/PolyHook)

- [EasyHook](https://easyhook.github.io/)

- [Microsoft Message Analyzer](http://www.microsoft.com/en-us/download/details.aspx?id=40308)

- [API Monitor](http://www.rohitab.com/apimonitor)

- [SpyStudio](http://www.nektra.com/products/spystudio-api-monitor/)

- [SpyStudio Tutorials](http://whiteboard.nektra.com/spystudio-2-0-quickstart)

- [Fibratus](https://github.com/rabbitstack/fibratus)

- [Deviare2](https://github.com/nektra/Deviare2)

- [Deviare In-Pro](https://github.com/nektra/Deviare-InProc)

## Debuggers

Debuggers

All platforms

- [Voltron](https://github.com/snare/voltron)

- [GDB — GNU Debugger](https://www.gnu.org/software/gdb/)

- GDB Addons

- [PEDA](https://github.com/longld/peda)

- PEDA — Python Exploit Development Assistance for GDB

- [gdbgui](https://github.com/cs01/gdbgui)

- [GEF — GDB Enhanced Features](https://github.com/hugsy/gef)

- [Docs](https://gef.readthedocs.org/en/latest/)

- [edb](https://github.com/eteran/edb-debugger)

- [LLDB](https://lldb.llvm.org/)

- Linux

- [PulseDBG](https://github.com/honorarybot/PulseDBG)

_Hypervisor-based debugger_

- [xnippet](https://github.com/isislab/xnippet)

- [OllyDbg](http://www.ollydbg.de/)

- [OllyDbg Tricks for Exploit Development](http://resources.infosecinstitute.com/in-depth-seh-exploit-writing-tutorial-using-ollydbg/)

- [WinDbg](https://msdn.microsoft.com/en-us/library/windows/hardware/ff551063(v=vs.85).aspx)

- [Excellent Resource Site](http://www.windbg.org/)

- [Crash Dump Analysis Poster](http://www.dumpanalysis.org/CDAPoster.html)

- [Getting Started with WinDbg (User-Mode)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn745911(v=vs.85).aspx)

- [Getting Started with WinDbg (Kernel-Mode)](https://msdn.microsoft.com/en-us/library/windows/hardware/dn745912(v=vs.85).aspx)

- [REhints MEX — WinDBG addons](https://github.com/REhints/WinDbg/tree/master/MEX)

- [pykd](https://pypi.python.org/pypi/pykd)

- [WinAppDbg](http://winappdbg.sourceforge.net/)

- [Open Source Windows x86/x64 Debugger](http://x64dbg.com/)

- [HyperDbg](https://github.com/rmusser01/hyperdbg/)

- [Paper](http://roberto.greyhats.it/pubs/ase10.pdf)

_Debugging Writeups/Papers_

- [BugNet: Continuously Recording Program Execution for Deterministic Replay Debugging](https://cseweb.ucsd.edu/~calder/papers/ISCA-05-BugNet.pdf)

- [Back to the Future: Omniscient Debugging](https://pleiad.cl/papers/2009/pothierTanter-software2009.pdf)

- [A REVIEW OF REVERSE DEBUGGING — Jakob Engblom (2012?)](http://citeseerx.ist.psu.edu/viewdoc/download?doi=10.1.1.338.3420&rep=rep1&type=pdf)

- [Binary Hooking Problems](http://www.ragestorm.net/blogs/?p=348)

- [Hyper-V debugging for beginners](http://hvinternals.blogspot.com/2015/10/hyper-v-debugging-for-beginners.html?m=1)

_Decompilers & Disassemblers_

- [IDA](https://www.hex-rays.com/products/ida/)

[Overview & Tutorials](https://www.hex-rays.com/products/ida/debugger/index.shtml)

- fREedom is a primitive attempt to provide an IDA Pro independent means of extracting disassembly information from executables for use with binnavi ([https://github.com/google/binnavi](https://github.com/google/binnavi)).

- [Hopper](http://www.hopperapp.com/)

- [Reverse](https://github.com/joelpx/reverse)

- [Medusa](https://github.com/wisk/medusa)

- [PLASMA](https://github.com/plasma-disassembler/plasma)

- [Snowman decompiler](https://github.com/yegord/snowman)

**Java**

- [Procyon — Java Decompiler](https://bitbucket.org/mstrobel/procyon/wiki/Java%20Decompiler)

- [Luyten](https://github.com/deathmarine/Luyten)

- Java Decompiler Gui for Procyon

- [JavaSnoop](https://www.aspectsecurity.com/tools/javasnoop)

- [Blackhat — 2010 JavaSnoop: How to hack anything written in Java](https://www.youtube.com/watch?v=ipuSmbxBxKw)

- [JavaSnoop — Debugging Java applications](https://www.securityartwork.es/2013/02/20/javasnoop-debugging-java-applications/)

- [Krakatau](https://github.com/Storyyeller/Krakatau)

- [Bytecode Viewer](https://github.com/Konloch/bytecode-viewer)

**.NET**

- [DotPeek](http://www.jetbrains.com/decompiler/features/)

- [dnSpy](https://github.com/0xd4d/dnSpy)

- [ILSpy](https://github.com/icsharpcode/ILSpy) [& Shed](https://github.com/enkomio/shed)

**IDA specific Stuff**

IDA Extensions

- [BAP-IDA](https://github.com/BinaryAnalysisPlatform/bap-ida-python)

- [funcap — IDA Pro script to add some useful runtime info to static analysis](https://github.com/deresz/funcap)

**IDA Plugins**

- [A list of IDA Plugins](https://github.com/onethawt/idaplugins-list)

- [IDA Python — Ero Carrer](http://www.offensivecomputing.net/papers/IDAPythonIntro.pdf)

- [Kam1n0-Plugin-IDA-Pro](https://github.com/McGill-DMaS/Kam1n0-Plugin-IDA-Pro)

- [FLARE-Ida](https://github.com/fireeye/flare-ida)

- [toolbag](https://github.com/aaronportnoy/toolbag)

- [Dynamic IDA Enrichment (aka. DIE)](https://github.com/ynvb/DIE)

- [HexRaysCodeXplorer](https://github.com/REhints/HexRaysCodeXplorer)

- [Ida Pomidor](https://thesprawl.org/projects/ida-pomidor/).

- [idaConsonance](https://github.com/eugeii/ida-consonance)

- [Lighthouse — Code Coverage Explorer for IDA Pro](https://github.com/gaasedelen/lighthouse)

- [NRS](https://github.com/isra17/nrs)

- [Ponce](https://github.com/illera88/Ponce) **r**

**IDA Tutorials/Help**

- [TiGa’s Video Tutorial Series on IDA Pro](http://woodmann.com/TiGa/idaseries.html)

- [IDA PLUG-IN WRITING IN C/C++](http://www.binarypool.com/idapluginwriting/idapw.pdf)

- [How to Identify Virtual Table Functions with IDA Pro and the VTBL Plugin](https://www.youtube.com/watch?v=XHW9Akb4KLI&app=desktop)

- [Reversing C++ programs with IDA pro and Hex-rays](https://blog.0xbadc0de.be/archives/67)

- [IDAPython The Wonder Woman of Embedded Device Reversing Maddie Stone — Derbycon7](https://www.youtube.com/watch?v=HRwfRrmPAHI&index=2&list=PLNhlcxQZJSm-PKUZTYe1C94ymf0omysM3)

- [IDA FLIRT In Depth](https://www.hex-rays.com/products/ida/tech/flirt/in_depth.shtml)

## File Formats

- [Encyclopedia of Graphics File Formats](http://fileformats.archiveteam.org/wiki/Encyclopedia_of_Graphics_File_Formats)

- [PE File Format Graphs](http://blog.dkbza.org/2012/08/pe-file-format-graphs.html?view=mosaic)

- [PNG File Format](http://fileformats.archiveteam.org/wiki/PNG)

- [Tour of Win32 Executable format](http://msdn.microsoft.com/en-us/magazine/ms809762.aspx)

## Flash Player

- [#Fldbg](https://github.com/offensive-security/fldbg)

- [SWFRETools](https://github.com/sporst/SWFREtools)

## Frameworks

- [angr](http://angr.io/)

- Radare2 — unix-like reverse engineering framework and commandline tools ]([http://www.radare.org/y/?p=features](http://www.radare.org/y/?p=features))

- [Github](https://github.com/radare/radare2)

- [Radare2 Book(free)](https://maijin.github.io/radare2book/index.html)

- [Radare2 Documentation](http://www.radare.org/y/?p=documentation)

- [Reverse engineering embedded software using Radare2 — Talk/Tutorial](https://www.youtube.com/watch?v=R3sGlzXfEkU)

- [Notes and Demos for above video](https://github.com/pastcompute/lca2015-radare2-tutorial)

- [radare2 cheat sheet](https://github.com/pwntester/cheatsheets/blob/master/radare2.md)

- [radare2 as an alternative to gdb-peda](https://monosource.github.io/2016/10/radare2-peda)

- [Radare2 in 0x1E minutes](https://blog.techorganic.com/2016/03/08/radare-2-in-0x1e-minutes/)

- [cutter](https://github.com/radareorg/cutter)

- [BitBlaze](http://bitblaze.cs.berkeley.edu/)

- [Platform for Architecture-Neutral Dynamic Analysis](https://github.com/moyix/panda)

- [BARF-Project](https://github.com/programa-stic/barf-project)

- BARF : A multiplatform open source Binary Analysis and Reverse engineering Framework

- [Presentation: Barfing Gadgets — Ekoparty 2014](https://github.com/programa-stic/barf-project/raw/master/documentation/presentations/barfing-gadgets.ekoparty2014.es.pdf)

## Programming Language Specifics/Libraries

Programming Language Specific Stuff/Useful/Related Libraries

- [openreil](https://github.com/Cr4sh/openreil)

- [PortEx](https://github.com/katjahahn/PortEx)

- [Equip: python bytecode instrumentation](https://github.com/neuroo/equip)

GO

- [Reversing GO binaries like a pro](https://rednaga.io/2016/09/21/reversing_go_binaries_like_a_pro/)

Python

- Bytecode

- [Gynvael’s Mission 11 (en): Python bytecode reverse-engineering](https://chriswarrick.com/blog/2017/08/03/gynvaels-mission-11-en-python-bytecode-reverse-engineering/)

- [Deobfuscating Python Bytecode](https://www.fireeye.com/blog/threat-research/2016/05/deobfuscating_python.html)

Decompiler

- [python-uncompyle6](https://github.com/rocky/python-uncompyle6)

- A native Python cross-version Decompiler and Fragment Decompiler. The successor to decompyle, uncompyle, and uncompyle2.

- [Decompyle++](https://github.com/zrax/pycdc)

- C++ python bytecode disassembler and decompiler

- [Python Decompiler](https://github.com/alex/python-decompiler)

- This project aims to create a comprehensive decompiler for CPython bytecode (likely works with PyPy as well, and any other Python implementation that uses CPython’s bytecode)

[PyInstaller Extractor](https://sourceforge.net/p/pyinstallerextractor/tickets/5/)

- Extract contents of a Windows executable file created by pyinstaller

[Easy Python Decompiler](https://sourceforge.net/projects/easypythondecompiler/)

- Python 1.0–3.4 bytecode decompiler

- [Python RE tools list](http://pythonarsenal.erpscan.com/)

# Anti-Reverse Engineering Techniques & Countermeasures

Anti-Reverse Engineering Techniques & Countermeasures

Talks

- [Trolling reverse\_engineers with math — frank² — part.mov](https://www.youtube.com/watch?v=y124L75ZKAc)

- Techniques

- [The “Ultimate”Anti-Debugging Reference — Peter Ferrie 2011/4](http://pferrie.host22.com/papers/antidebug.pdf)

- [Android Reverse Engineering Defenses](https://bluebox.com/wp-content/uploads/2013/05/AndroidREnDefenses201305.pdf)

- [Anti-RE A collection of Anti-Reverse Engineering Techniques](http://pnx.tf/files/spring7_antire_plohmann_kannen.pdf)

- [Anti Reverse Engineering](http://www.codeproject.com/Articles/30815/An-Anti-Reverse-Engineering-Guide)

- [Fun combining anti-debugging and anti-disassembly tricks](http://blog.sevagas.com/?Fun-combining-anti-debugging-and)

- [simpliFiRE.AntiRE — An Executable Collection of Anti-Reversing Techniques](https://bitbucket.org/fkie_cd_dare/simplifire.antire)

- [OpenRCE Anti Reverse Engineering Techniques Database](http://www.openrce.org/reference_library/anti_reversing)

- [Windows Anti-Debugging Reference](http://www.symantec.com/connect/articles/windows-anti-debug-reference)

- [Windows Anti-Debug techniques — OpenProcess filtering](https://blog.xpnsec.com/anti-debug-openprocess/)

- [Detecting debuggers by abusing a bad assumption within Windows](http://www.triplefault.io/2017/08/detecting-debuggers-by-abusing-bad.html)

- [Dangers of the Decompiler — A Sampling of Anti-Decompilation Techniques](https://blog.ret2.io/2017/11/16/dangers-of-the-decompiler/)

**IDA specific Stuff**

IDA Extensions

- [BAP-IDA](https://github.com/BinaryAnalysisPlatform/bap-ida-python)

- [funcap - IDA Pro script to add some useful runtime info to static analysis.](https://github.com/deresz/funcap)

- [DAPython Embedded Toolkit](https://github.com/maddiestone/IDAPythonEmbeddedToolkit)

**IDA Plugins**

- [A list of IDA Plugins](https://github.com/onethawt/idaplugins-list)

- [IDA Python - Ero Carrera](http://www.offensivecomputing.net/papers/IDAPythonIntro.pdf)

- [Kam1n0-Plugin-IDA-Pro](https://github.com/McGill-DMaS/Kam1n0-Plugin-IDA-Pro)

- [FLARE-Ida](https://github.com/fireeye/flare-ida)

- [toolbag](https://github.com/aaronportnoy/toolbag)

- [Dynamic IDA Enrichment (aka. DIE)](https://github.com/ynvb/DIE)

- [HexRaysCodeXplorer](https://github.com/REhints/HexRaysCodeXplorer)

- [Ida Pomidor](https://thesprawl.org/projects/ida-pomidor/)

- [Lighthouse - Code Coverage Explorer for IDA Pro](https://github.com/gaasedelen/lighthouse)

- [NRS](https://github.com/isra17/nrs)

- [Ponce](https://github.com/illera88/Ponce)

- [IDASkins](https://github.com/zyantific/IDASkins)

- [Ida Sploiter](https://thesprawl.org/projects/ida-sploiter/)

- [vtbl-ida-pro-plugin](https://github.com/nektra/vtbl-ida-pro-plugin)

- [virusbattle-ida-plugin](https://github.com/moghimi/virusbattle-ida-plugin)

- [ida-batch\_decompile](https://github.com/tintinweb/ida-batch_decompile)

- [IdaRef](https://github.com/nologic/idaref)

- [YaCo])([https://github.com/DGA-MI-SSI/YaCo](https://github.com/DGA-MI-SSI/YaCo))

**IDA Tutorials/Help**

- [TiGa’s Video Tutorial Series on IDA Pro](http://woodmann.com/TiGa/idaseries.html)

- [IDA PLUG-IN WRITING IN C/C++](http://www.binarypool.com/idapluginwriting/idapw.pdf)

- [How to Identify Virtual Table Functions with IDA Pro and the VTBL Plugin](https://www.youtube.com/watch?v=XHW9Akb4KLI&app=desktop)

- [Reversing C++ programs with IDA pro and Hex-rays](https://blog.0xbadc0de.be/archives/67)

- [IDAPython The Wonder Woman of Embedded Device Reversing Maddie Stone - Derbycon7](https://www.youtube.com/watch?v=HRwfRrmPAHI&index=2&list=PLNhlcxQZJSm-PKUZTYe1C94ymf0omysM3)

- [IDA FLIRT In Depth](https://www.hex-rays.com/products/ida/tech/flirt/in_depth.shtml)

## File Formats

- [Encyclopedia of Graphics File Formats](http://fileformats.archiveteam.org/wiki/Encyclopedia_of_Graphics_File_Formats)

- [PE File Format Graphs](http://blog.dkbza.org/2012/08/pe-file-format-graphs.html?view=mosaic)

- [PNG File Format](http://fileformats.archiveteam.org/wiki/PNG)

- [Tour of Win32 Executable format](http://msdn.microsoft.com/en-us/magazine/ms809762.aspx)

## Flash Player

- [#Fldbg](https://github.com/offensive-security/fldbg)

- [SWFRETools](https://github.com/sporst/SWFREtools)

## Frameworks

- [angr](http://angr.io/)

- Radare2 - unix-like reverse engineering framework and commandline tools ]([http://www.radare.org/y/?p=features](http://www.radare.org/y/?p=features))

- [Github](https://github.com/radare/radare2)

- [Radare2 Book(free)](https://maijin.github.io/radare2book/index.html)

- [Radare2 Documentation](http://www.radare.org/y/?p=documentation)

- [Reverse engineering embedded software using Radare2 - Talk/Tutorial](https://www.youtube.com/watch?v=R3sGlzXfEkU)

- [Notes and Demos for above video](https://github.com/pastcompute/lca2015-radare2-tutorial)

- [radare2 cheat sheet](https://github.com/pwntester/cheatsheets/blob/master/radare2.md)

- [radare2 as an alternative to gdb-peda](https://monosource.github.io/2016/10/radare2-peda)

- [Radare2 in 0x1E minutes](https://blog.techorganic.com/2016/03/08/radare-2-in-0x1e-minutes/)

- [cutter](https://github.com/radareorg/cutter)

- A Qt and C++ GUI for radare2 reverse engineering framework

- [BitBlaze](http://bitblaze.cs.berkeley.edu/)

- [Platform for Architecture-Neutral Dynamic Analysis](https://github.com/moyix/panda)

- [BARF-Project](https://github.com/programa-stic/barf-project)

- BARF : A multiplatform open source Binary Analysis and Reverse engineering Framework

- [Presentation: Barfing Gadgets - Ekoparty 2014](https://github.com/programa-stic/barf-project/raw/master/documentation/presentations/barfing-gadgets.ekoparty2014.es.pdf)

## Programming Language Specifics/Libraries

Programming Language Specific Stuff/Useful/Related Libraries

- Libraries

- [openreil](https://github.com/Cr4sh/openreil)

- [PortEx](https://github.com/katjahahn/PortEx)

- [Equip: python bytecode instrumentation](https://github.com/neuroo/equip)

- [Reversing GO binaries like a pro](https://rednaga.io/2016/09/21/reversing_go_binaries_like_a_pro/)

- Python

- Bytecode

- [Gynvael’s Mission 11 (en): Python bytecode reverse-engineering](https://chriswarrick.com/blog/2017/08/03/gynvaels-mission-11-en-python-bytecode-reverse-engineering/)

- [Deobfuscating Python Bytecode](https://www.fireeye.com/blog/threat-research/2016/05/deobfuscating_python.html)

- Decompiler

- [python-uncompyle6](https://github.com/rocky/python-uncompyle6).

- [Decompyle++](https://github.com/zrax/pycdc)

- [Python Decompiler](https://github.com/alex/python-decompiler)

- [PyInstaller Extractor](https://sourceforge.net/p/pyinstallerextractor/tickets/5/)

- Extract contents of a Windows executable file created by pyinstaller

- [Easy Python Decompiler](https://sourceforge.net/projects/easypythondecompiler/)

- [Python RE tools list](http://pythonarsenal.erpscan.com/)

# Anti-Reverse Engineering Techniques & Countermeasures

Anti-Reverse Engineering Techniques & Countermeasures

- Talks

- [Trolling reverse\_engineers with math - frank^2 - part.mov](https://www.youtube.com/watch?v=y124L75ZKAc)

**Techniques**

- [The “Ultimate”Anti-Debugging Reference - Peter Ferrie 2011/4](http://pferrie.host22.com/papers/antidebug.pdf)

- [Android Reverse Engineering Defenses](https://bluebox.com/wp-content/uploads/2013/05/AndroidREnDefenses201305.pdf)

- [Anti-RE A collection of Anti-Reverse Engineering Techniques](http://pnx.tf/files/spring7_antire_plohmann_kannen.pdf)

- [Anti Reverse Engineering](http://www.codeproject.com/Articles/30815/An-Anti-Reverse-Engineering-Guide)

- [Fun combining anti-debugging and anti-disassembly tricks](http://blog.sevagas.com/?Fun-combining-anti-debugging-and)

- [simpliFiRE.AntiRE - An Executable Collection of Anti-Reversing Technique](https://bitbucket.org/fkie_cd_dare/simplifire.antire)

- [OpenRCE Anti Reverse Engineering Techniques Database](http://www.openrce.org/reference_library/anti_reversing)

- [Windows Anti-Debugging Reference](http://www.symantec.com/connect/articles/windows-anti-debug-reference)

- [Windows Anti-Debug techniques - OpenProcess filtering](https://blog.xpnsec.com/anti-debug-openprocess/)

- [Detecting debuggers by abusing a bad assumption within Windows](http://www.triplefault.io/2017/08/detecting-debuggers-by-abusing-bad.html)

- [Dangers of the Decompiler - A Sampling of Anti-Decompilation Techniques](https://blog.ret2.io/2017/11/16/dangers-of-the-decompiler/)

# .NET Related

- [Getting Started with CLR MD](https://github.com/Microsoft/clrmd/blob/master/Documentation/GettingStarted.md)

- [Microsoft.Diagnostics.Runtime.dll(CLR MD)](https://github.com/Microsoft/clrmd)

- Microsoft.Diagnostics.Runtime.dll (nicknamed “CLR MD”) is a process and crash dump introspection library. This allows you to write tools and debugger plugins which can do thing similar to SOS and PSSCOR.

- [Reflexil](https://github.com/sailro/Reflexil)

# Writeups

Writeups(Papers/Videos)

- [Defeating ioli with radare2](https://dustri.org/b/defeating-ioli-with-radare2.html)

**Binary & Code Analysis**

- [Byteweight: Learning to Recognize Functions in Binary Code](https://www.usenix.org/system/files/conference/usenixsecurity14/sec14-paper-bao.pdf)

- [Memalyze: Dynamic Analysis of Memory Access Behavior in Software](http://uninformed.org/?v=all&a=31&t=sumry)

- [How to Grow a TREE from CBASS - Interactive Binary Analysis for Security Professionals](https://media.blackhat.com/us-13/US-13-Li-How-to-Grow-a-TREE-Slides.pdf)

- [Reversing Monkey](http://cheeky4n6monkey.blogspot.com/2015/02/reversing-monkey.html?m=1)

- [How to RE data files?](https://www.reddit.com/r/ReverseEngineering/comments/l8ac0/how_to_re_data_files/)

**Firmware**

- [Reverse Engineering Firmware Primer](https://wiki.securityweekly.com/Reverse_Engineering_Firmware_Primer)

- [The Empire Strikes Back Apple – how your Mac firmware security is completely broken](https://reverse.put.as/2015/05/29/the-empire-strikes-back-apple-how-your-mac-firmware-security-is-completely-broken/)

- [Hacking Linksys E4200v2 firmware](https://blog.bramp.net/post/2012/01/24/hacking-linksys-e4200v2-firmware/)

- [Multiple vulnerabilities found in the Dlink DWR-932B (backdoor, backdoor accounts, weak WPS, RCE …)](https://pierrekim.github.io/blog/2016-09-28-dlink-dwr-932b-lte-routers-vulnerabilities.html)

- [Reverse Engineering Qualcomm Baseband](http://events.ccc.de/congress/2011/Fahrplan/attachments/2022_11-ccc-qcombbdbg.pdf)

**General**

- [Reverse Engineering Flash Memory for Fun and Benefit - BlackHat 2014](https://www.youtube.com/watch?v=E8BSnS4-Kpw)

- [Getting access to your own Fitbit data](https://www.cs.ru.nl/bachelorscripties/2016/Maarten_Schellevis ___4142616___ Getting_access_to_your_own_Fitbit_data.pdf)

- [Screwdriving. Locating and exploiting smart adult toys](https://www.pentestpartners.com/security-blog/screwdriving-locating-and-exploiting-smart-adult-toys/)

- [Hacking travel routers like it’s 1999](https://media.defcon.org/DEF%20CON%2025/DEF%20CON%2025%20presentations/DEFCON-25-Mikhail-Sosonkin-Hacking-Travel-Routers-Like-1999.pdf)

- [Reverse Engineering IoT Devices](https://iayanpahwa.github.io/Reverse-Engineering-IoT-Devices/)

- [How I Reverse Engineered and Exploited a Smart Massager](https://medium.com/@arunmag/how-i-reverse-engineered-and-exploited-a-smart-massager-ee7c9f21bf33)

- [Make Confide great again? No, we cannot](http://blog.quarkslab.com/make-confide-great-again-no-we-cannot.html)

- RE’ing an electron based “secure communications” app

- [The Three Billion Dollar App - Vladimir Wolstencroft -Troopers14](https://www.youtube.com/watch?v=5Duc-uUFzoU)

- Talk about reverse engineering SnapChat and Wickr Messaging apps.

- [A Practical-Time Attack on the A5/3 Cryptosystem Used in Third Generation GSM Telephony](https://eprint.iacr.org/2010/013)

- [Reverse engineering HID iClass Master keys](https://blog.kchung.co/reverse-engineering-hid-iclass-master-keys/)

- [Reversing EVM bytecode with radare2](https://blog.positive.com/reversing-evm-bytecode-with-radare2-ab77247e5e53)

**OS X**

- [Reverse Engineering Mac OS X](http://reverse.put.as/papers/)

- Excellent source of papers from 2003-2013 all with a focus on reversing either iOS or OS X.

- [osx & ios re 101](https://github.com/michalmalik/osx-re-101)

**Packers**

- [A Brief Examination of Hacking Team’s Crypter: core-packer.](http://ethanheilman.tumblr.com/post/128708937890/a-brief-examination-of-hacking-teams-crypter)

- [The Art of Unpacking - Paper](https://www.blackhat.com/presentations/bh-usa-07/Yason/Whitepaper/bh-usa-07-yason-WP.pdf)

- [Paper on Manual unpacking of UPX packed executable using Ollydbg and Importrec](http://www.iosrjournals.org/iosr-jce/papers/Vol16-issue1/Version-1/L016117177.pdf)

PDF

- [Advanced PDF Tricks - Ange Albertini, Kurt Pfeifle - Troopers1](https://www.youtube.com/watch?v=k9g9jZdjRcE)

**Process Hooking**

- [Software Hooking methods reveiw(2016)](([https://www.blackhat.com/docs/us-16/materials/us-16-Yavo-Captain-Hook-Pirating-AVs-To-Bypass-Exploit-Mitigations-wp.pdf](https://www.blackhat.com/docs/us-16/materials/us-16-Yavo-Captain-Hook-Pirating-AVs-To-Bypass-Exploit-Mitigations-wp.pdf))

- [PolyHook](https://www.codeproject.com/articles/1100579/polyhook-the-cplusplus-x-x-hooking-library)

**Protocols**

- [Somfy Smoove Origin RTS Protocol](https://pushstack.wordpress.com/somfy-rts-protocol/)

- [Reverse Engineering The eQSO Protocol](https://gist.github.com/anonymous/7a9d713e61ba990a3a17)

- [Cyber Necromancy - Reverse engineering dead protocols - Defcamp 2014](https://www.youtube.com/watch?v=G0v2FO2Ru0w&index=6&list=PLnwq8gv9MEKgSryzYIFhpmCcqnVzdUWfH)

- [Reverse Engineering of Proprietary Protocols, Tools and Techniques - Rob Savoye - FOSDEM 2009](https://www.youtube.com/watch?v=t3s-mG5yUjY)

- [Netzob](http://www.netzob.org/)

- [Netzob Documentation](http://netzob.readthedocs.org/en/latest/overview/index.html)

**Satellites**

- [SATCOM Terminals Hacking by Air, Sea, and Land - Black Hat USA 2014](https://www.youtube.com/watch?v=tRHDuT__GoM)

**Windows**

- [Windows for Reverse Engineers](http://www.cse.tkk.fi/fi/opinnot/T-110.6220/2014_Reverse_Engineering_Malware_AND_Mobile_Platform_Security_AND_Software_Security/luennot-files/T1106220.pdf)

- [Introduction to Reverse Engineering Win32 Applications](http://uninformed.org/?v=all&a=7&t=sumry)

- [Reverse Engineering Windows AFD.sys](https://recon.cx/2015/slides/recon2015-20-steven-vittitoe-Reverse-Engineering-Windows-AFD-sys.pdf)

- [Event Tracing for Windows and Network Monitor](http://blogs.technet.com/b/netmon/archive/2009/05/13/event-tracing-for-windows-and-network-monitor.aspx)

- [Improving Automated Analysis of Windows x64 Binaries](http://uninformed.org/?v=all&a=18&t=sumry)

- [Microsoft Patch Analysis for Exploitation](https://www.irongeek.com/i.php?page=videos/bsidescharm2017/bsidescharm-2017-t111-microsoft-patch-analysis-for-exploitation-stephen-sims)

Wireless

- [Reverse engineering radio weather station](http://blog.atx.name/reverse-engineering-radio-weather-station/)

- [You can ring my bell! Adventures in sub-GHz RF land…](http://adamsblog.aperturelabs.com/2013/03/you-can-ring-my-bell-adventures-in-sub.html)

- [Reverse engineering walk through; guy REs alarm system from shelf to replay](https://www.reddit.com/r/ReverseEngineering/comments/1hb7oy/a_series_about_basics_of_hardware_reverse/)

- [Part 1:](http://cybergibbons.com/uncategorized/)reverse-engineering-a-wireless-burglar-alarm-system-part-1/

- [Part 2:](http://cybergibbons.com/uncategorized/)reverse-engineering-a-wireless-burglar-alarm-part-2/)

- [Part 3:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-3/)

- [Part 4:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-4/)

- [Part 5:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-5/)

- [Part 6:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-6/)

- [Part 7:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-7/)

- [Part 8:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-8/)

- [Blackbox Reversing an Electric Skateboard Wireless Protocol](https://blog.lacklustre.net/posts/Blackbox_Reversing_an_Electric_Skateboard_Wireless_Protocol/)

- [Reverse Engineering a 433MHz Motorised Blind RF Protocol](https://nickwhyte.com/post/2017/reversing-433mhz-raex-motorised-rf-blinds/)

- [Flipping Bits and Opening Doors: Reverse Engineering the Linear Wireless Security DX Protocol](https://duo.com/blog/flipping-bits-and-opening-doors-reverse-engineering-the-linear-wireless-security-dx-protocol)

- [SATCOM Terminals Hacking by Air, Sea, and Land — Black Hat USA 2014](https://www.youtube.com/watch?v=tRHDuT__GoM)

**Windows**

- [Windows for Reverse Engineers](http://www.cse.tkk.fi/fi/opinnot/T-110.6220/2014_Reverse_Engineering_Malware_AND_Mobile_Platform_Security_AND_Software_Security/luennot-files/T1106220.pdf)

- [Introduction to Reverse Engineering Win32 Applications](http://uninformed.org/?v=all&a=7&t=sumry)

- [Reverse Engineering Windows AFD.sys](https://recon.cx/2015/slides/recon2015-20-steven-vittitoe-Reverse-Engineering-Windows-AFD-sys.pdf)

[Event Tracing for Windows and Network Monitor](http://blogs.technet.com/b/netmon/archive/2009/05/13/event-tracing-for-windows-and-network-monitor.aspx)

[Improving Automated Analysis of Windows x64 Binaries](http://uninformed.org/?v=all&a=18&t=sumry)

[Microsoft Patch Analysis for Exploitation](https://www.irongeek.com/i.php?page=videos/bsidescharm2017/bsidescharm-2017-t111-microsoft-patch-analysis-for-exploitation-stephen-sims)

- [Reverse engineering radio weather station](http://blog.atx.name/reverse-engineering-radio-weather-station/)

- [You can ring my bell! Adventures in sub-GHz RF land…](http://adamsblog.aperturelabs.com/2013/03/you-can-ring-my-bell-adventures-in-sub.html)

- [Reverse engineering walk through; guy REs alarm system from shelf to replay](https://www.reddit.com/r/ReverseEngineering/comments/1hb7oy/a_series_about_basics_of_hardware_reverse/)

- [Part 1:](http://cybergibbons.com/uncategorized/)reverse-engineering-a-wireless-burglar-alarm-system-part-1/

- [Part 2:](http://cybergibbons.com/uncategorized/)reverse-engineering-a-wireless-burglar-alarm-part-2/)

- [Part 3:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-3/)

- [Part 4:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-4/)

- [Part 5:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-5/)

- [Part 6:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-6/)

- [Part 7:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-7/)

- [Part 8:](http://cybergibbons.com/uncategorized/reverse-engineering-a-wireless-burglar-alarm-part-8/)

- [Blackbox Reversing an Electric Skateboard Wireless Protocol](https://blog.lacklustre.net/posts/Blackbox_Reversing_an_Electric_Skateboard_Wireless_Protocol/)

- [Flipping Bits and Opening Doors: Reverse Engineering the Linear Wireless Security DX Protocol](https://duo.com/blog/flipping-bits-and-opening-doors-reverse-engineering-the-linear-wireless-security-dx-protocol)

Apart From The above Valuable links ,Other Uncategorized would be

1. [LiveOverflow Binary Hacking](https://www.youtube.com/watch?v=iyAyN3GFM7A&list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN)🌟💬

2. [OpenSecurityTraining.info: Introduction to Reverse Engineering Software](http://opensecuritytraining.info/IntroductionToReverseEngineering.html)

3. [RPISEC: Modern Binary Exploitation](http://security.cs.rpi.edu/courses/binexp-spring2015/)🌟

4. [OpenSecurityTraining.info: Introductory Intel x86](http://opensecuritytraining.info/IntroX86.html)🌟

5. [OpenSecurityTraining.info: The Life of Binaries](http://opensecuritytraining.info/LifeOfBinaries.html)

6. [OpenSecurityTraining.info: Reverse Engineering Malware](http://opensecuritytraining.info/ReverseEngineeringMalware.html)

7. [RPISEC: Malware Analysis](https://github.com/RPISEC/Malware/)

8. [Practical Reverse Engineering](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-1118787315,subjectCd-CSJ0.html)🌟💬

9. [A Bug Hunter’s Diary](https://www.nostarch.com/bughunter)🌟💬

10. [Reversing: Secrets of Reverse Engineering](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0764574817.html)💬

11. [Practical Malware Analysis](https://www.nostarch.com/malware)🌟💬

12. [Assembly Language Step-by-Step: Programming with Linux](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-0470497025.html)

13. [Wikibooks: x86 Disassembly](https://en.wikibooks.org/wiki/X86_Disassembly)

14. [The C Programming Language (K&R)](https://en.wikipedia.org/wiki/The_C_Programming_Language)

15. [The GNU C Reference Manual](https://www.gnu.org/software/gnu-c-manual/gnu-c-manual.html)

16. [Learn C the Hard Way](https://learncodethehardway.org/c/)

17. [Learn C in Y Minutes](https://learnxinyminutes.com/docs/c/)

18. [Beej’s Guide to C Programming](http://beej.us/guide/bgc/)💬

19. [The Shellcoder’s Handbook: Discovering and Exploiting Security Holes](http://ca.wiley.com/WileyCDA/WileyTitle/productCd-047008023X.html)💬

20. [Windows Internals](https://technet.microsoft.com/en-us/sysinternals/bb963901.aspx)🌟

21. [Rootkits and Bootkits: Reversing Modern Malware and Next Generation Threats](https://www.nostarch.com/rootkits)

22. [Rootkits: Subverting the Windows Kernel](https://dl.acm.org/citation.cfm?id=1076346)

23. [Basic Dynamic Analysis with IDA Pro and WinDbg](https://youtu.be/_ACDiW2I4ns)💬

24. [Ben Hawkes: What makes software exploitation hard?](https://www.youtube.com/watch?v=ZKIIPu1wqHs)

25. [GynvaelEN Hacking Livestreams](https://www.youtube.com/user/GynvaelEN/videos?sort=dd&view=0&flow=list&live_view=500)

26. [The Art of Fuzzing: Slides and Demos](https://sec-consult.com/en/blog/2017/11/the-art-of-fuzzing-slides-and-demos/index.html)

27. [A Link to the Past: Abusing Symbolic Links on Windows](https://vimeo.com/album/3416096/video/133002251)

28. [Abusing GDI for Ring0 Exploit Primitives (Slides)](https://www.coresecurity.com/system/files/publications/2016/10/Abusing%20GDI%20for%20ring0%20exploit%20primitives-2015.pdf)

29. [Abusing GDI for Ring0 Exploit Primitives: Reloaded (Slides)](https://www.coresecurity.com/system/files/publications/2016/10/Abusing-GDI-Reloaded-ekoparty-2016_0.pdf)

30. [Modern Kernel Pool Exploitation: Attacks and Techniques](https://infiltratecon.com/archives/kernelpool_infiltrate2011.pdf)

31. [Finding And Exploiting Token Handling Vulnerabilities in the Windows Kernel](https://www.youtube.com/watch?v=QRpfvmMbDMg)

32. [James Forshaw: Process Failure Modes](https://www.youtube.com/watch?v=dB3seu4o24A)

33. [MalwareAnalysisForHedgehogs Video Tutorials](https://www.youtube.com/channel/UCVFXrUwuWxNlm6UNZtBLJ-A/videos?flow=list&sort=dd&view=0)

34. [AVLeak: Fingerprinting Antivirus Emulators through Black-Box Testing](https://www.usenix.org/conference/woot16/workshop-program/presentation/blackthorne)

35. [Windows Kernel Graphics Driver Attack Surface](https://www.youtube.com/watch?v=uzPTyXQ1Oys)

36. [bee13oy: Attacking Antivirus Software’s Kernel Driver](https://github.com/bee13oy/AV_Kernel_Vulns/tree/master/Zer0Con2017)💬

37. [Direct X: Direct Way to Microsoft Windows Kernel](https://www.youtube.com/watch?v=XfG1lu1oqrE)

38. [A Window Into Ring 0](https://www.youtube.com/watch?v=DLND8bKv27w)

39. [Windows Drivers Attack Surface](https://www.youtube.com/watch?v=qk-OI8Z-1To)

40. [Malware Unicorn: Reverse Engineering Malware 101](https://securedorg.github.io/RE101/)🌟

41. [sploitF-U-N: Linux (x86) Exploit Development Series](https://sploitfun.wordpress.com/2015/06/26/linux-x86-exploit-development-tutorial-series/)

42. [Gynvael Coldwind: How to find vulnerabilities?](http://gynvael.coldwind.pl/?id=659)

43. [High-Level Approaches for Finding Vulnerabilities](http://jackson.thuraisamy.me/finding-vulnerabilities.html)

44. [Eli Bendersky: Where the top of the stack is on x86](https://eli.thegreenplace.net/2011/02/04/where-the-top-of-the-stack-is-on-x86/)

45. [Eli Bendersky: Stack frame layout on x86–64](https://eli.thegreenplace.net/2011/09/06/stack-frame-layout-on-x86-64)

46. [x86 Assembly Guide (CS216 ‘06)](http://www.cs.virginia.edu/~evans/cs216/guides/x86.html)

47. [HumbleSec: Assembly to Pseudocode Manually](https://webcache.googleusercontent.com/search?q=cache:JTkf6Wuc348J:https://humblesec.wordpress.com/2017/07/05/assemby-to-pseudo-code-manually/)💬

48. [Mozilla: A Crash Course in Memory Management](https://hacks.mozilla.org/2017/06/a-crash-course-in-memory-management/)

49. [Corelan Team Exploit Writing](https://www.corelan.be/index.php/category/security/exploit-writing-tutorials/)

50. [Hacking the PS4: Userland ROP](https://cturt.github.io/ps4.html)💬

51. [What is a “good” memory corruption vulnerability?](https://googleprojectzero.blogspot.ca/2015/06/what-is-good-memory-corruption.html)🌟

52. [Attacking JavaScript Engines: A case study of JavaScriptCore and CVE-2016–4622](http://www.phrack.org/papers/attacking_javascript_engines.html)

53. [The Stack Clash (Qualys Security Advisory)](https://www.qualys.com/2017/06/19/stack-clash/stack-clash.txt)

54. [Microsoft Security Research & Defense Blog](https://blogs.technet.microsoft.com/srd/)💬

55. [Abusing Token Privileges For Windows Local Privilege Escalation](https://foxglovesecurity.com/2017/08/25/abusing-token-privileges-for-windows-local-privilege-escalation/)

56. [GhostHook: Bypassing PatchGuard with Processor Trace Based Hooking](https://www.cyberark.com/threat-research-blog/ghosthook-bypassing-patchguard-processor-trace-based-hooking/)

57. [“Wild” Pool Overflow on Win10 x64 RS2 (CVE-2016–3309 Reloaded)](https://siberas.de/blog/2017/10/05/exploitation_case_study_wild_pool_overflow_CVE-2016-3309_reloaded.html)

58. [Abusing GDI for Ring0 Exploit Primitives](https://www.coresecurity.com/blog/abusing-gdi-for-ring0-exploit-primitives)

59. [Tarjei Mandt: Kernel Pool Exploitation on Windows 7](https://media.blackhat.com/bh-dc-11/Mandt/BlackHat_DC_2011_Mandt_kernelpool-wp.pdf)

60. [Alternative methods of becoming SYSTEM](https://blog.xpnsec.com/becoming-system/)

61. [A Technical Survey of 10 Common and Trending Process Injection Techniques](https://www.endgame.com/blog/technical-blog/ten-process-injection-techniques-technical-survey-common-and-trending-process)

62. [Shut Up and Hack: Inject All the Things](http://blog.deniable.org/blog/2017/07/16/inject-all-the-things/)

63. [Dangers of the Decompiler: A Sampling of Anti-Decompilation Techniques](https://blog.ret2.io/2017/11/16/dangers-of-the-decompiler/)

64. [Software Protection via Obfuscation](http://files.meetup.com/13958872/Virtualization_Obfuscation_meetup_CiprianLucaci%20-%20split.pdf)

65. [What steps can I take to make my C++ app harder to RE?](https://reverseengineering.stackexchange.com/a/119)

66. [hasherezade: Starting with Windows Kernel Exploitation](https://hshrzd.wordpress.com/2017/05/28/starting-with-windows-kernel-exploitation-part-1-setting-up-the-lab/)

67. [Windows Kernel Exploitation Series with HEVD](https://samdb.xyz/windows-kernel-exploitation-part-0-kernel-debugging/)

68. [User-Mode Interactions: Guidelines for Kernel-Mode Drivers (Microsoft, 2006)](http://download.microsoft.com/download/e/b/a/eba1050f-a31d-436b-9281-92cdfeae4b45/KM-UMGuide.doc)

69. [DR. CHECKER: A Soundy Analysis for Linux Kernel Drivers](https://www.usenix.org/system/files/conference/usenixsecurity17/sec17-machiry.pdf)

70. [Cure53 Browser Security White Paper](https://cure53.de/browser-security-white-paper.pdf)

71. [X41 Browser Security White Paper](https://browser-security.x41-dsec.de/X41-Browser-Security-White-Paper.pdf)

72. [The Great DOM Fuzz-off of 2017 (DOM Fuzzing Methodology)](https://googleprojectzero.blogspot.ca/2017/09/the-great-dom-fuzz-off-of-2017.html)

73. [The Apple of Your EFI: Findings from an Emprical Study of EFI Security](https://duo.com/assets/ebooks/Duo-Labs-The-Apple-of-Your-EFI.pdf)

74. [HexType: Efficient Detection of Type Confusion Errors for C++](https://nebelwelt.net/publications/files/17CCS.pdf)

75. [A Generic Approach to Automatic Deobfuscation of Executable Code](https://www2.cs.arizona.edu/people/debray/Publications/generic-deobf.pdf)

76. [Anti-Unpacker Tricks](https://repo.palkeo.com/repositories/mirror7.meh.or.id/Reverse86%20Engineering/unpackers.pdf)🌟

77. [The “Ultimate” Anti-Debugging Reference](http://anti-reversing.com/Downloads/Anti-Reversing/The_Ultimate_Anti-Reversing_Reference.pdf)

78. [FuzzySecurity Tutorials](http://www.fuzzysecurity.com/tutorials.html)🌟💬

79. [GitHub CTF Write-ups](https://github.com/ctfs/)💬

80. [phoenhex team write-ups](https://phoenhex.re/)🌟💬

81. [Project Zero Issue Tracker](https://bugs.chromium.org/p/project-zero/issues/list?can=1&q=&sort=-id&colspec=ID%20Type%20Status%20Priority%20Milestone%20Owner%20Summary)🌟💬

82. [Cisco Talos Vulnerability Reports](https://www.talosintelligence.com/vulnerability_reports#disclosed)🌟

83. [Flare-On Challenge Solutions: 2015](https://www.fireeye.com/blog/threat-research/2015/09/flare-on_challenges.html)

84. [Flare-On Challenge Solutions: 2016](https://www.fireeye.com/blog/threat-research/2016/11/2016_flare-on_challe.html)

85. [Exploiting a Firefox UAF with Shared Array Buffers](https://phoenhex.re/2017-06-21/firefox-structuredclone-refleak)

86. [Analysis and Exploitation of an ESET Vulnerability](https://googleprojectzero.blogspot.ca/2015/06/analysis-and-exploitation-of-eset.html)

87. [Attacking the Windows NVIDIA Driver](https://googleprojectzero.blogspot.ca/2017/02/attacking-windows-nvidia-driver.html)

88. [Kernel Exploit Demo: Windows 10 (x86) PrivEsc via WARBIRD](https://blog.xpnsec.com/windows-warbird-privesc/)

89. [Windows Kernel Resources](https://github.com/sam-b/windows_kernel_resources)💬

90. [Dennis Yurichev’s Reversing Challenges](https://challenges.re/)

91. [Exploit Exercises](https://exploit-exercises.com/)🌟

92. [Flare-On Challenges](http://flare-on.com/)

93. [ROP Emporium](https://ropemporium.com/)

94. [HackSys Extreme Vulnerable Windows Driver](https://github.com/hacksysteam/HackSysExtremeVulnerableDriver)

95. [Compiler Explorer](https://godbolt.org/)🌟💬

_Source: Meduim_

## HAPPY LEARNING! 👍

---

<div class="post-metadata">

**Author:** ![Hyperdemongod](https://onehack.st/user_avatar/onehack.st/hyperdemongod/32/26170_2.png) [@Hyperdemongod](https://onehack.st/u/Hyperdemongod)\
**Post date:** [April 23, 2020, 9:44am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/2 "2020-04-23T09:44:48Z")

</div>

Thanks for Sharing!! @Aina  
👌 👍

---

<div class="post-metadata">

**Author:** ![dydx](https://onehack.st/user_avatar/onehack.st/dydx/32/36729_2.png) [@dydx](https://onehack.st/u/dydx)\
**Post date:** [April 23, 2020, 9:48am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/3 "2020-04-23T09:48:23Z")

</div>

really so much information  
 ![](https://media4.giphy.com/media/v1.Y2lkPTc5MGI3NjExNDJzd2drZWh3bWdqcHJiNHhvM2VqOTJ4azdkZ2Q3bGhoZ2tsYW14dyZlcD12MV9pbnRlcm5hbF9naWZfYnlfaWQmY3Q9Zw/IcGkqdUmYLFGE/giphy.webp "Sad The Office GIF - Find & Share on GIPHY")

---

<div class="post-metadata">

**Author:** ![Aj\_senpai](https://onehack.st/user_avatar/onehack.st/aj_senpai/32/29680_2.png) [@Aj\_senpai](https://onehack.st/u/Aj_senpai)\
**Post date:** [April 23, 2020, 10:45am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/4 "2020-04-23T10:45:33Z")

</div>

you ask for a book and @Aina will give you the entire library 😳 🤓

---

<div class="post-metadata">

**Author:** ![Arthur\_Morgan](https://onehack.st/user_avatar/onehack.st/arthur_morgan/32/35962_2.png) [@Arthur\_Morgan](https://onehack.st/u/Arthur_Morgan)\
**Post date:** [April 23, 2020, 11:12am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/5 "2020-04-23T11:12:18Z")

</div>

I was struggling on getting resource to learn assembly ! Guess, this is a jack pot ☺ \<3 ty

---

<div class="post-metadata">

**Author:** ![Wasim\_RoXx](https://onehack.st/user_avatar/onehack.st/wasim_roxx/32/25533_2.png) [@Wasim\_RoXx](https://onehack.st/u/Wasim_RoXx)\
**Post date:** [April 24, 2020, 7:54am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/6 "2020-04-24T07:54:34Z")

</div>

That’s alooot @Aina

---

<div class="post-metadata">

**Author:** ![29rohitkr](https://onehack.st/user_avatar/onehack.st/29rohitkr/32/30930_2.png) [@29rohitkr](https://onehack.st/u/29rohitkr)\
**Post date:** [April 25, 2020, 8:21am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/7 "2020-04-25T08:21:53Z")

</div>

# **AMAZING**

---

<div class="post-metadata">

**Author:** ![freetut](https://onehack.st/user_avatar/onehack.st/freetut/32/3577_2.png) [@freetut](https://onehack.st/u/freetut)\
**Post date:** [April 25, 2020, 10:09am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/8 "2020-04-25T10:09:36Z")

</div>

make this page as pdf along with links .. if done it would be nice.

---

<div class="post-metadata">

**Author:** ![darekingdom](https://onehack.st/user_avatar/onehack.st/darekingdom/32/36081_2.png) [@darekingdom](https://onehack.st/u/darekingdom)\
**Post date:** [April 25, 2020, 11:48am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/9 "2020-04-25T11:48:53Z")

</div>

WOW. This really is a huge list. Thanks for the compiled list.

---

<div class="post-metadata">

**Author:** ![Mesh\_Chopra](https://onehack.st/user_avatar/onehack.st/mesh_chopra/32/24597_2.png) [@Mesh\_Chopra](https://onehack.st/u/Mesh_Chopra)\
**Post date:** [April 25, 2020, 11:56am UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/10 "2020-04-25T11:56:37Z")

</div>

**A large choice of information. It’s up to everyone to choose what suits them.**

---

<div class="post-metadata">

**Author:** ![Nemesis\_X](https://onehack.st/user_avatar/onehack.st/nemesis_x/32/32747_2.png) [@Nemesis\_X](https://onehack.st/u/Nemesis_X)\
**Post date:** [April 26, 2020, 2:29pm UTC](https://onehack.st/t/reverse-engineering-resources-beginners-to-intermediate-guide-links/81763/11 "2020-04-26T14:29:28Z")

</div>

OMG Thank You very much @Aina for posting all these resources on a very interresting topic like reverse eng. . It is going to be very helpfull as i am doing cs eng.
