# Assembly Language / Reversing / Malware Analysis -resources
## [![Twitter: Muffin](https://img.shields.io/twitter/follow/navneetmuffin?style=social)](https://twitter.com/navneetmuffin) # ⭐Assembly Language ## Modern x64 Assembly https://www.youtube.com/playlist?list=PLKK11Ligqitg9MOX3-0tFT1Rmh3uJp7kA ## Intro to x86 Assembly Language https://www.youtube.com/playlist?list=PLmxT2pVYo5LB5EzTPZGfFN0c2GDiSXgQ ## x86_64 Linux Assembly https://www.youtube.com/playlist?list=PLetF-YjXm-sCH6FrTz4AQhfH6INDQvQSn ## Intro x86 (32 bit) https://www.youtube.com/playlist?list=PL038BE01D3BAEFDB0 ## Assembly Programming Tutorial https://www.tutorialspoint.com/assembly_programming/index.html ## Practical x64 Assembly and C++ Tutorials https://www.youtube.com/playlist?list=PL0C5C980A28FEE68D ## Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration http://opensecuritytraining.info/IntroX86.html ## LINUX SYSTEM CALL TABLE FOR X86 64 https://blog.rchapman.org/posts/Linux_System_Call_Table_for_x86_64/ ## Learning assembly for linux-x64 https://github.com/0xAX/asm ## x86-assembly-cheat https://github.com/cirosantilli/x86-assembly-cheat ## x86 Assembly Guide https://www.cs.virginia.edu/~evans/cs216/guides/x86.html ## Assembly’s Perspective https://blog.stephenmarz.com/2020/05/20/assemblys-perspective/ ## A Crash Course in x86 Assembly for Reverse Engineers https://sensepost.com/blogstatic/2014/01/SensePost_crash_course_in_x86_assembly-.pdf ## Understanding C by learning assembly https://www.recurse.com/blog/7-understanding-c-by-learning-assembly ## x86 Assembly Crash Course → YouTube https://www.youtube.com/watch?v=75gBFiFtAb8 ## x86 and amd64 instruction reference https://www.felixcloutier.com/x86/index.html ## Learn x86_64 Assembly https://gpfault.net/posts/asm-tut-0.txt.html https://gpfault.net/posts/asm-tut-1.txt.html https://gpfault.net/posts/asm-tut-2.txt.html ## x86-64 Assembly Programming with Ubuntu http://www.egr.unlv.edu/~ed/assembly64.pdf ## Assembly for beginners https://pacman128.github.io/pcasm/ ## Assembly Language Succinctly https://www.syncfusion.com/ebooks/assemblylanguage ## Everything you want to know about x86 microcode, but might have been afraid to ask https://media.ccc.de/v/34c3-9058-everything_you_want_to_know_about_x86_microcode_but_might_have_been_afraid_to_ask ## Beginner Write your first Assembly Language program – Hello World!! [explained] http://cssimplified.com/computer-organisation-and-assembly-language-programming/beginner-write-your-first-assembly-language-program-hello-world-explained ## Assembly Language: How To Learn To Code Assembly Today https://www.whoishostingthis.com/resources/assembly-language/ ## Quick Guide to Assembly in 161 - Berkeley https://inst.eecs.berkeley.edu/~cs161/sp15/discussions/dis06-assembly.pdf ## godbolt.org - Code ↔ Assembly https://godbolt.org/ ## A gentle introduction into ARM assembly https://www.shadowinfosec.io/2018/05/a-gentle-introduction-into-arm-assembly.html ## Introduction to ARM http://opensecuritytraining.info/IntroARM.html ## Introductory Intel x86: Architecture, Assembly, Applications, & Alliteration http://opensecuritytraining.info/IntroX86.html ## INTRODUCTION TO ARM ASSEMBLY BASICS https://azeria-labs.com/writing-arm-assembly-part-1/ # ⭐Reverse Engineering ## Reverse engineering focusing on x64 Windows. https://github.com/0xZ0F/Z0FCourse_ReverseEngineering ## Applied Reverse Engineering Series https://revers.engineering/applied-reverse-engineering-series/ ## Nightmare is an intro to binary exploitation / reverse engineering course based around ctf challenges. https://guyinatuxedo.github.io/index.html ## Reverse Engineering Resources-Beginners to intermediate Guide/Links https://medium.com/@vignesh4303/reverse-engineering-resources-beginners-to-intermediate-guide-links-f64c207505ed ## ReversingHero Learn Reverse Engineering by solving 15 challenges https://www.reversinghero.com/ ## Introduction to Reverse Engineering https://youtu.be/7v7UaMsgg_c ## Introduction to Reverse Engineering | Ollydbg Tutorial https://youtu.be/D6mVIos-S2M ## Ghidra quickstart & tutorial: Solving a simple crackme https://youtu.be/fTGTnrgjuGA ## Reverse Engineering Basics https://youtu.be/a2EkORFcSZo ## Some Reverse Engineering Tutorials for Beginners https://github.com/GeoSn0w/Reverse-Engineering-Tutorials ## Introduction to Reverse Engineering with Ghidra https://hackaday.io/project/172292-introduction-to-reverse-engineering-with-ghidra ## Reverse engineering tools review https://www.pelock.com/articles/reverse-engineering-tools-review ## TiGa's Video Tutorial Series on IDA Pro http://www.woodmann.com/TiGa/idaseries.html ## Introduction to Windbg and debugging windows https://www.youtube.com/playlist?list=PLhx7-txsG6t6n_E2LgDGqgvJtCHPL7UFu ## Using Frida For Windows Reverse Engineering https://darungrim.com/research/2020-06-17-using-frida-for-windows-reverse-engineering.html ## SecurityTube GDB Expert Playlist https://www.youtube.com/playlist?list=PLiP0FxVgYuUz0kdK7L7YaI5n4qkOuymue ## Binary Exploitation / Memory Corruption by LiveOverflow https://www.youtube.com/playlist?list=PLhixgUqwRTjxglIswKp9mpkfPNfHkzyeN ## Reverse Engineering Reading List https://github.com/onethawt/reverseengineering-reading-list ## Reverse Engineering 101 by MalwareUnicorn https://malwareunicorn.org/workshops/re101.html#0 ## IDA Pro Reverse Engineering Tutorial for Beginners https://www.youtube.com/playlist?list=PLKwUZp9HwWoDDBPvoapdbJ1rdofowT67z ## Reverse Engineering with IDA PRO from scratch #1 https://www.youtube.com/watch?v=bYDK5IJphPU ## Patching Binaries (with vim, Binary Ninja, Ghidra and radare2) https://youtu.be/LyNyf3UM9Yc ## Reversing Statically-Linked Binaries with Function Signatures https://youtu.be/CgGha_zLqlo ## Modern Binary Exploitation http://security.cs.rpi.edu/courses/binexp-spring2015/ ## How to Reverse Engineer an iOS App and macOS Software https://www.apriorit.com/dev-blog/363-how-to-reverse-engineer-os-x-and-ios-software ## CPU Adventure – Unknown CPU Reversing https://www.robertxiao.ca/hacking/dsctf-2019-cpu-adventure-unknown-cpu-reversing/ ## List of awesome reverse engineering resources https://github.com/wtsxDev/reverse-engineering ## Modern Debugging with WinDbg Preview https://github.com/hugsy/defcon_27_windbg_workshop/ ## Reverse Engineering for Beginners https://www.begin.re/ ## Reverse engineering an Android Application https://epic.blog/reverse-engineering/2020/07/27/reverse-engineering-android-app.html ## Debugging with GDB https://sourceware.org/gdb/onlinedocs/gdb/ ## GDB Cheatsheet https://gist.github.com/r1walz/64babc526d4e6f753c0821e46211dd30 ## Index of the training Reversing & Exploiting with Free Tools https://docs.google.com/document/d/18FBSpnPrduNidGS4SAQreXITHMz6PyYfx2nqlcTKDSM/edit#heading=h.uzujihnza7no ## ANDROID APPLICATIONS REVERSING 101 https://www.evilsocket.net/2017/04/27/Android-Applications-Reversing-101/ ## Introduction to Reverse Engineering with Ghidra: A Four Session Course https://wrongbaud.github.io/ghidra-training/ ## A Reverse Engineering Tool Kit for Go, Written in Go. https://go-re.tk/ ## Reverse engineering course (with radare2) https://artik.blue/reversing ## Reverse Engineering 101 https://prezi.com/a5tm-lf0879-/reverse-engineering-101-nyupoly-2010/ ## DEBUGGING WITH GDB https://azeria-labs.com/debugging-with-gdb-introduction/ ## Reverse engineering tools review https://www.pelock.com/articles/reverse-engineering-tools-review ## Reverse Engineering for Beginners https://beginners.re/ ## Ghidra Cheatsheet https://ghidra-sre.org/CheatSheet.html ## Reverse Engineering 101 https://vimeo.com/6764570 ## Reverse Engineering https://old.liveoverflow.com/binary_hacking/reverse_engineering.html ## [RE Useful Links & Resources] https://www.notion.so/806c7afcbce24dc19e26fcd4b9c84f7b?v=ee1e96f93aaa46e2a2d11c9d70ed3a8b ## Linux Reverse Engineering CTFs for Beginners https://osandamalith.com/2019/02/11/linux-reverse-engineering-ctfs-for-beginners/ ## Introduction To Reverse Engineering With Radare2 https://www.youtube.com/watch?v=LAkYW5ixvhg ## Reverse Engineering Quick Tip - Unpacking Process Injection With a Single Breakpoint https://youtu.be/Min6DWTHDBw ## Simple Tools and Techniques for Reversing a binary https://youtu.be/3NTXFUxcKPc ## A journey into Radare 2 – Part 1: Simple crackme https://www.megabeets.net/a-journey-into-radare-2-part-1/ ## 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 ## Linux Binary Exploitation Series (with pwnable.kr) https://www.taintedbits.com/2020/04/28/linux-binary-exploitation-series-with-pwnable-kr/ ## Reverse Engineering https://ctf101.org/reverse-engineering/overview/ ## Binary Exploitation https://ctf101.org/binary-exploitation/overview/ ## WinDbg — the Fun Way: Part 1 https://medium.com/@yardenshafir2/windbg-the-fun-way-part-1-2e4978791f9b ## Reverse Engineering Lecture https://www.youtube.com/watch?v=nf7yj51WkUA ## Python for Reverse Engineering #1: ELF Binaries https://icyphox.sh/blog/python-for-re-1/ ## Binary exploitation slides https://www.slideshare.net/AngelBoy1/presentations ## Video lectures, tools, and papers on reversing https://reversing.io/resources/ ## Reverse Engineering Beta https://reverseengineering.stackexchange.com/ ## Becoming a full-stack reverse-engineer https://youtu.be/9vKG8-TnawY ## Binary Analysis Course https://maxkersten.nl/binary-analysis-course/ ## Lenas Reversing for Newbies https://forum.tuts4you.com/files/file/1307-lenas-reversing-for-newbies/ ## Introduction to Ghidra Student Guide https://ghidra.re/courses/GhidraClass/Beginner/Introduction_to_Ghidra_Student_Guide_withNotes.html ## Reverse Engineering Starling Bank (Part I): Obfuscation Techniques https://hot3eed.github.io/2020/07/30/starling_p1_obfuscations.html ## Reverse Engineering Starling Bank (Part II): Jailbreak & Debugger Detection, Weaknesses & Mitigations https://hot3eed.github.io/2020/08/02/starling_p2_detections_mitigations.html ## BUFFER OVERFLOW 7 The Stack Operation https://www.tenouk.com/Bufferoverflowc/Bufferoverflow3.html ## Introduction To Reverse Engineering Software http://opensecuritytraining.info/IntroductionToReverseEngineering.html ## Intro to Reverse Engineering https://medium.com/swlh/intro-to-reverse-engineering-45b38370384 ## Intro to Reverse Engineering, Part 2 https://medium.com/swlh/intro-to-reverse-engineering-part-2-4087a70104e9 # ⭐Malware Analysis ## So You Want To Be A Malware Analyst https://blog.malwarebytes.com/security-world/2012/09/so-you-want-to-be-a-malware-analyst/ ## How to start RE/malware analysis? https://hshrzd.wordpress.com/how-to-start/ ## Introduction to Malware Analysis and Reverse Engineering https://class.malware.re/ ## The Road To Reverse Engineering Malware https://medium.com/secjuice/the-road-to-reverse-engineering-malware-7c0bc1bda9d2 ## The Basics of Packed Malware: Manually Unpacking UPX Executables https://kindredsec.wordpress.com/2020/01/07/the-basics-of-packed-malware-manually-unpacking-upx-executables/ ## Awesome Malware Analysis https://github.com/rshipp/awesome-malware-analysis ## Best Malware Analysis Tools | Learn Malware Analysis https://www.youtube.com/watch?v=Wh_DJTaDq6U ## Malware Analysis Tutorials: a Reverse Engineering Approach https://fumalwareanalysis.blogspot.com/p/malware-analysis-tutorials-reverse.html ## Malware, IR - Tools & Resources https://docs.google.com/spreadsheets/d/13wBzwmfAoEBPUgcYM4CgSoj--xLicPz777IQ6iSUlNk/edit#gid=1407551440 ## WinDbg Basics for Malware Analysis https://www.youtube.com/watch?v=QuFJpH3My7A ## Reverse Engineering Windows Malware with Ghidra https://www.youtube.com/watch?v=NuSdV8t3S4I ## Fifty Shades of Malware Strings https://medium.com/@tom_rock/fifty-shades-of-malware-strings-d33b0c7bee99 ## GETTING STARTED | Reverse Engineering Android Malware https://www.youtube.com/playlist?list=PLz8CtXWiXoXnpw41rMRjFOkgO0jxpOf7n ## Beginner Malware Reversing Challenges https://www.malwaretech.com/beginner-malware-reversing-challenges ## Creating a Simple Free Malware Analysis Environment https://www.malwaretech.com/2017/11/creating-a-simple-free-malware-analysis-environment.html ## Malware Analysis for noobs https://drive.google.com/file/d/1lSEps7jDX6an_iXJ0Wokdjh0rnBgY9l7/view ## How to become the best Malware Analyst E-V-E-R http://www.hexacorn.com/blog/2018/04/14/how-to-become-the-best-malware-analyst-e-v-e-r/ ## Malware Dynamic Analysis http://opensecuritytraining.info/MalwareDynamicAnalysis.html ## Reverse Engineering Malware http://opensecuritytraining.info/ReverseEngineeringMalware.html ## malware analysis https://www.youtube.com/playlist?list=PLOIa0J36PkUhKKjREFKzDo4DAP0W_Wce4 ## Malware Unpacking Tutorials https://www.youtube.com/playlist?list=PLynb9SXC4yER8NinXJwV4GHUM9-jaIsN_ ## Misc Malware Analysis https://www.youtube.com/playlist?list=PLynb9SXC4yEQFbBGoLy9yGaHM_71RoTG4 ## Malware Theory on Blackboard https://www.youtube.com/playlist?list=PLynb9SXC4yETaQYYBSg696V77Ku8TOM8- ## Malware Analysis Techniques https://www.youtube.com/playlist?list=PLVMLi-YiSh3zR9hSGWxhBXGFrZ19jvDdm ## Malware Analysis https://www.youtube.com/playlist?list=PLVMLi-YiSh3yKO06HnnT3OJXbAVfNWySF ## malware unpacking https://www.youtube.com/playlist?list=PL3CZ2aaB7m83eYTAVV2knNglB8I4y5QmH ## malware https://www.youtube.com/playlist?list=PL3CZ2aaB7m81OSOJ5Go-2sBbFcVVxX9Xu ## Malware Analysis Tutorials https://www.youtube.com/playlist?list=PLPsJIruML_Zg_iLA2bfoAPCo5d2aEuuV8 ## Engineering antivirus evasion https://blog.scrt.ch/2020/06/19/engineering-antivirus-evasion/ ## Training 1: File Type Analysis and Code Extraction from Malicious Document https://struppigel.blogspot.com/2017/06/training-1-file-type-analysis-and-code.html?view=sidebar ## Malware Noob2Ninja Course https://www.youtube.com/playlist?list=PLiFO-R_BI-kAqDPqtnOq2n70mtAZ6xg5N ## Analyzing Modern Malware Techniques Part 1 https://danusminimus.github.io/Analyzing-Modern-Malware-Techniques-Part-1/ ## Analyzing Modern Malware Techniques Part 2 https://danusminimus.github.io/Analyzing-Modern-Malware-Techniques-Part-2/ ## Analyzing Modern Malware Techniques Part 3 https://danusminimus.github.io/Analyzing-Modern-Malware-Techniques-Part-3/ ## Analyzing Modern Malware Techniques Part 4 https://danusminimus.github.io/Analyzing-Modern-Malware-Techniques-Part-4/ ## Rotkits: What they are, and how to find them http://opensecuritytraining.info/Rootkits.html ## Reverse Engineering Anti-VM Detections in Malware https://www.youtube.com/watch?v=8yHLqZ3k1Xs ## IDA Pro Tutorial - Reverse Engineering Dynamic Malware Imports https://www.youtube.com/watch?v=hM2Zvsak3GM ## IDA Pro Scripting Intro - Automate Dynamic Import Resolving for REvil Ransomware https://youtu.be/R4xJou6JsIE ## Analysing a Firefox Malware browserassist.dll - FLARE-On 2018 https://youtu.be/5cvpGSSUZI0 ## Reversing WannaCry https://www.youtube.com/playlist?list=PLniOzp3l9V83Yf52IXJTvW9rjstdqkduP ## Wireshark display filters which can be used in malware analysis https://www.securityinbits.com/malware-analysis/tools/wireshark-filters/ # ⭐Tools # Disassemblers and decompilers ## Binary Ninja https://binary.ninja/ ## IDA and Hex-Rays https://www.hex-rays.com ## Ghidra https://ghidra-sre.org/ ## radare2 https://www.radare.org/n/radare2.html ## Cutter https://cutter.re/ ## dnSpy https://github.com/0xd4d/dnSpy ## Java Decompiler http://jd.benow.ca/ ## onlinedisassembler.com https://onlinedisassembler.com/static/home/index.html ## IDR http://kpnc.org/idr32/en/ ## VB Decompiler https://www.vb-decompiler.org/ # Debuggers ## OllyDbg http://www.ollydbg.de/ ## x64dbg http://x64dbg.com/ ## Immunity Debugger https://www.immunityinc.com/products/debugger/ ## WinDbg https://docs.microsoft.com/en-us/windows-hardware/drivers/debugger/debugger-download-tools ## GDB https://www.gnu.org/software/gdb/ # Hex Editor ## Hex Workshop http://www.bpsoft.com/ ## HxD Hex Editor https://mh-nexus.de/en/hxd/ ## 010 Editor https://www.sweetscape.com/010editor/ ## Hexinator https://hexinator.com/ # Identifiers ## Detect It Easy http://ntinfo.biz/ ## ProtectionID http://pid.gamecopyworld.com/ # ⭐Practice ## crackmes.one https://crackmes.one/ ## Reverse Engineering challenges https://challenges.re/ ## Embedded Security CTF https://microcorruption.com/ ## Beginner Malware Reversing Challenges https://www.malwaretech.com/beginner-malware-reversing-challenges ## RingZer0 https://ringzer0ctf.com/challenges ## Reversing.kr http://reversing.kr/index.php ## CTF Reversing Challenges List https://github.com/N4NU/Reversing-Challenges-List ## Reverse engineering challenges https://github.com/3XPL017/Reversing-Challenges ## Latest Reverse Engineering Challenges https://0x00sec.org/c/reverse-engineering/challenges/ ## RE CTFd https://reversing.ctfd.io/challenges ## Flare-On6 challenges http://flare-on.com/files/Flare-On6_Challenges.zip