SlideShare a Scribd company logo
1 of 54
BASIC
ASSEMBLY
FOR REVERSE ENGINEERING
ABOUT
ME
email : sven@unlogic.co.uk
web: https://unlogic.co.uk
twatter : @binaryheadache
freenode : unlogic
you can find github and the rest from there
ABOUT
THIS SESSION
▸x86 arch
▸Calling conventions
▸Basic ops
▸Identify some constructs
▸Cats
// If you have questions at any point, ask ‘em
ABOUT
WHY RE?
▸interoperability
▸figure out how stuff works
▸keygen/cracks
▸exploit development
▸propriety fileformats
ASSUME
MAKING AN ASS OUT OF U AND ME
‣ You know data types and sizes
‣ 0xDEADBEEF isn’t a deceased cow to you
‣ You understand endianness
‣ Intel syntax
‣ Have programmed before
THE BASICS
THE STACK
▸area of memory given to the program by the OS
▸LIFO data structure
▸Grows to lower memory addresses
▸Remember ESP
▸keeps track of prior called functions, holds local vars, and
used to pass args to functions
THE BASICS
THE HEAP & THE REST
▸Dynamic memory allocation
▸grows towards the stack
THE BASICS
REGISTERS
▸4 general purpose registers
▸6 segment registers
▸5 index and pointer registers
THE BASICS
REGISTERS
general purpose
EAX : return values
EBX : base register for memory access
ECX : loop counter
EDX : data register user for I/O
THE BASICS
REGISTERS
segment
CS : stores code segment
DS : stores data segment
ES, FS, GS : far addressing (video mem etc)
SS : Stack segment - usually same as ds
THE BASICS
REGISTERS
indexes and pointers
EDI : destination index register. Array ops
ESI : source index register. Array ops
EBP : base pointer
ESP : stack pointer
EIP : instruction pointer
THE BASICS
32/16/8 BIT REGISTERS
some registers can be accessed with 8 and 16bit instructions.
Most commonly used
THE BASICS
64 BIT
▸twice as good as 32bit
▸extended registers become really extended
rax, rip, rcx, rbp, etc
THE BASICS
FLAGS
Flags holds a number of one bit flags, but for now:
‣ ZF : zero flag
‣ SF : sign flag
CALLING
CONVEN
CALLING CONVENTIONS
CDECL
▸Arguments are passed on the stack in Right-to-Left order,
return values are passed in eax
▸The calling function cleans the stack
CALLING CONVENTIONS
STDCALL (AKA WINAPI)
▸Arguments are passed right-to-left, and return value passed
in eax
▸The called function cleans the stack
CALLING CONVENTIONS
FASTCALL
▸The first 2 or 3 32-bit (or smaller) arguments are passed in
registers, with the most commonly used registers being edx,
eax, and ecx
▸The calling function (usually) cleans the stack
CALLING CONVENTIONS
THISCALL (C++)
▸Only non-static member functions. Also no variadics
▸Pointer to the class object is passed in ecx, the arguments
are passed right-to-left on the stack and return value is
passed in eax
▸the called function cleans the stack
ASM BASICS
OPERAND TYPES
▸immediates : 0x3f
▸registers : eax
▸memory : [0x80542a], [eax]
▸offset : [eax + 0x4]
▸sib : [eax * 4 + 0x53], [eax * 2 + ecx]
ASM BASICS
THE OPS YOU NEED TO KNOW (FOR
NOW)
▸mov
▸add, sub
▸cmp
▸test
▸jcc/jmp
▸push/pop
▸bitwise ops (and, xor, or)
ASM BASICS
MOV
▸mov eax, ecx
▸mov eax, [ecx]
▸mov [ecx], 0x44
▸mov edx, 0x34
▸mov edx, [0x6580fe]
▸mov [0x8045fe], eax
ASM BASICS
ADD
▸add eax, 1
▸add edx, eax
ASM BASICS
CMP
▸cmp eax, ecx
▸cmp eax, 0x45
ASM BASICS
TEST
▸test eax, ecx
▸test edx, 0x12
ASM BASICS
JCC
▸jz/jnz
▸ja/jae
▸jb/jbe/bjnb
…
ASM BASICS
PUSH & POP
▸push eax
▸pop ecx
▸push 0x32
ASM BASICS
BITWISE
▸and edx, ecx
▸and eax, 0x43
▸xor eax, eax
▸or edx, edx
▸not al
RECOGNISING
SOME
COMMON
COMMON CONSTRUCTS
FUNCTION PROLOGUE AND EPILOGUE
push ebp
mov ebp, esp
sub esp, N
.
.
.
mov esp, ebp
pop ebp
ret
COMMON CONSTRUCTS
ABOUT CALL & RET
▸have have an implicit op
▸call will push eip on the stack
▸ret will pop it
COMMON CONSTRUCTS
LOOPS
▸ecx is usually loop counter
▸conditional jumps based on loop counter
▸easier to spot in call graphs
int main() {
int x = 0;
int i = 0;
for (i = 20; i > 0; i--) {
x += i;
}
return 0;
}
COMMON CONSTRUCTS
LOOPS
0x00001f82 837df400 cmp dword [ebp - local_ch], 0
0x00001f86 0f8e17000000 jle 0x1fa3 ;[1]
0x00001f8c 8b45f4 mov eax, dword [ebp - local_ch]
0x00001f8f 0345f8 add eax, dword [ebp - local_8h]
0x00001f92 8945f8 mov dword [ebp - local_8h], eax
0x00001f95 8b45f4 mov eax, dword [ebp - local_ch]
0x00001f98 83c0ff add eax, -1
0x00001f9b 8945f4 mov dword [ebp - local_ch], eax
0x00001f9e e9dfffffff jmp 0x1f82 ;[2]
0x00001fa3 31c0 xor eax, eax
0x00001fa5 83c40c add esp, 0xc
0x00001fa8 5d pop ebp
0x00001fa9 c3 ret
COMMON CONSTRUCTS
LOOPS
SWITCH STATEMENTS
▸different ways to do it depending on compiler settings and
what the cases are
▸the interesting one to me is the look up table
COMMON CONSTRUCTS
SWITCH STATEMENTS
COMMON CONSTRUCTS
ff2485e89704. jmp dword [eax*4 + 0x80497e8]
0x080497e8 e08b 0408 008c 0408 168c 0408 288c 0408 ............(...
0x080497f8 408c 0408 528c 0408 648c 0408 768c 0408 @...R...d...v...
0x08049808 2564 00
meanwhile, at 0x80497e8
#include <stdio.h>
int main(int argc, char **argv) {
switch (argv[1][0]) {
case 'a':
printf("Selected an");
break;
case 'b':
printf("Selected bn");
break;
case 'c':
printf("Selected cn");
break;
default:
printf("poopn");
break;
}
return 0;
}
COMMON CONSTRUCTS
SWITCH STATEMENTS
THE
THE BASICS
THE STACK
int add(int a, int b) {
int r;
r = a + b;
return r;
}
int main () {
int x = 19;
int y = 23;
int result = 0;
result = add(x, y);
return 0;
}
;— add
55 push ebp
89e5 mov ebp, esp
83ec08 sub esp, 8
8b450c mov eax, dword [ebp + arg_ch] ; [0xc:4]=2
8b4d08 mov ecx, dword [ebp + arg_8h] ; [0x8:4]=3
894dfc mov dword [ebp - local_4h], ecx
8945f8 mov dword [ebp - local_8h], eax
8b45fc mov eax, dword [ebp - local_4h]
0345f8 add eax, dword [ebp - local_8h]
83c408 add esp, 8
5d pop ebp
c3 ret
;— main
55 push ebp
89e5 mov ebp, esp
83ec18 sub esp, 0x18
c745fc000000. mov dword [ebp - local_4h], 0
c745f8130000. mov dword [ebp - local_8h], 0x13
c745f4170000. mov dword [ebp - local_ch], 0x17
c745f0000000. mov dword [ebp - local_10h], 0
8b45f8 mov eax, dword [ebp - local_8h]
8b4df4 mov ecx, dword [ebp - local_ch]
890424 mov dword [esp], eax
894c2404 mov dword [esp + local_4h_2], ecx
e8acffffff call sym._add
31c9 xor ecx, ecx
8945f0 mov dword [ebp - local_10h], eax
89c8 mov eax, ecx
83c418 add esp, 0x18
5d pop ebp
c3 ret
gcc -m32 -O0 -masm-intel -S main.c
THE STACK
IN ACTION
THE BASICS
THE STACK
EBP
0x000000
0xffffff
stack growth
EBP
ESP
push ebp
mov ebp, espEAX
EBX
ECX
EDX
THE BASICS
THE STACK 0x000000
0xffffff
stack growth
sub esp, 0x18
EAX
EBX
ECX
EDX
EBP
ESP
THE BASICS
THE STACK
0
0x13
0x17
0
0x000000
0xffffff
stack growth
mov dword [ebp - 0x4], 0
mov dword [ebp - 0x8], 0x13
mov dword [ebp - 0xc], 0x17
mov dword [ebp - 0x10], 0
-0x4
-0x8
-0xc
-0x10
EAX
EBX
ECX
EDX
EBP
ESP
THE BASICS
THE STACK
0
0x13
0x17
0
0x000000
0xffffff
stack growth
EAX
mov eax, dword [ebp - 0x8]
mov ecx, dword [ebp - 0xc]
0X13
EBX
ECX
0X17
EDX
-0x4
-0x8
-0xc
-0x10
EBP
ESP
THE BASICS
THE STACK
0
0x13
0x17
0
0x17
0x13
0x000000
0xffffff
stack growth
EAX
EBP
ESP
mov dword [esp], eax
mov dword [esp + 0x4], ecx
call sym._add
0X13
EBX
ECX
0X17
EDX
-0x4
-0x8
-0xc
-0x10
THE BASICS
THE STACK
0
0x13
0x17
0
0x17
0x13
[eip]
0x000000
0xffffff
stack growth
EAX
EBP
ESP
mov dword [esp], eax
mov dword [esp + 0x4], ecx
call sym._add
0X13
EBX
ECX
0X17
EDX
-0x4
-0x8
-0xc
-0x10
THE BASICS
THE STACK
0
0x13
0x17
0
0x17
0x13
[eip]
ebp
0x000000
0xffffff
stack growth
EAX
EBP
ESP
push ebp
mov ebp, esp
0X13
EBX
ECX
0X17
EDX
-0x4
-0x8
-0xc
-0x10
THE BASICS
THE STACK
[eip]
ebp
0x17
0x13
0x000000
0xffffff
stack growth
EAX
EBP
ESP
sub esp, 8
mov eax, dword [ebp + 0xc]
mov ecx, dword [ebp + 0x8]
mov dword [ebp - local_4h], ecx
mov dword [ebp - local_8h], eax
0X13
EBX
ECX
0X17
EDX
THE BASICS
THE STACK
[eip]
ebp
0x17
0x13
0x000000
0xffffff
stack growth
EAX
EBP
ESP
mov eax, dword [ebp - local_4h]
0X17
EBX
ECX
0X17
EDX
THE BASICS
THE STACK
[eip]
ebp
0x17
0x13
0x000000
0xffffff
stack growth
EAX
EBP
ESP
add eax, dword [ebp - local_8h]
add esp, 8
pop ebp
ret0X2A
EBX
ECX
0X17
EDX
THE BASICS
THE STACK
0
0x13
0x17
0x2a
0x17
0x13
[eip]
0x000000
0xffffff
stack growth
EAX
EBP
ESP
xor ecx, ecx
mov dword [ebp - local_10h], eax
mov eax, ecx
add esp, 0x18
pop ebp
ret
0X0
EBX
ECX
0X0
EDX
-0x4
-0x8
-0xc
-0x10
WE’RE

More Related Content

What's hot

Design of air conditioning and ventilation system for a multi storey office b...
Design of air conditioning and ventilation system for a multi storey office b...Design of air conditioning and ventilation system for a multi storey office b...
Design of air conditioning and ventilation system for a multi storey office b...eSAT Journals
 
Urban morphology LONDON
Urban morphology LONDONUrban morphology LONDON
Urban morphology LONDONManas Murthy
 
Performing Iterations in EES
Performing Iterations in EESPerforming Iterations in EES
Performing Iterations in EESNaveed Rehman
 
B.tech ii unit-5 material vector integration
B.tech ii unit-5 material vector integrationB.tech ii unit-5 material vector integration
B.tech ii unit-5 material vector integrationRai University
 
Computational Method to Solve the Partial Differential Equations (PDEs)
Computational Method to Solve the Partial Differential  Equations (PDEs)Computational Method to Solve the Partial Differential  Equations (PDEs)
Computational Method to Solve the Partial Differential Equations (PDEs)Dr. Khurram Mehboob
 
B.tech ii unit-4 material vector differentiation
B.tech ii unit-4 material vector differentiationB.tech ii unit-4 material vector differentiation
B.tech ii unit-4 material vector differentiationRai University
 
Medival Europe - Town Planning
Medival Europe - Town PlanningMedival Europe - Town Planning
Medival Europe - Town PlanningDhanya Pravin
 
Lesson 6: Polar, Cylindrical, and Spherical coordinates
Lesson 6: Polar, Cylindrical, and Spherical coordinatesLesson 6: Polar, Cylindrical, and Spherical coordinates
Lesson 6: Polar, Cylindrical, and Spherical coordinatesMatthew Leingang
 
Camillo sitte - Urban designer
Camillo sitte - Urban designerCamillo sitte - Urban designer
Camillo sitte - Urban designerM.I.T.,AURANGABAD
 
08 interpolation lagrange
08 interpolation   lagrange08 interpolation   lagrange
08 interpolation lagrangeMohammad Tawfik
 
Giáo trình dầu mỡ và phụ gia - www.khodaumo.com
Giáo trình dầu mỡ và phụ gia - www.khodaumo.comGiáo trình dầu mỡ và phụ gia - www.khodaumo.com
Giáo trình dầu mỡ và phụ gia - www.khodaumo.comĐỗ Bá Tùng
 
[CDA] Sustainable Architecture Presentation
[CDA] Sustainable Architecture Presentation [CDA] Sustainable Architecture Presentation
[CDA] Sustainable Architecture Presentation Leon Barnard
 
Linear transformation.ppt
Linear transformation.pptLinear transformation.ppt
Linear transformation.pptRaj Parekh
 
Жилищна среда - L12
Жилищна среда - L12Жилищна среда - L12
Жилищна среда - L12Aleksandar Slaev
 
Mcconkey Chapter 9 solution
Mcconkey Chapter 9 solutionMcconkey Chapter 9 solution
Mcconkey Chapter 9 solutionAzeem Waqar
 
Solving linear equation system
Solving linear equation   systemSolving linear equation   system
Solving linear equation systemsulaiman_karim
 
Simpson’s one third and weddle's rule
Simpson’s one third and weddle's ruleSimpson’s one third and weddle's rule
Simpson’s one third and weddle's rulezahid6
 

What's hot (20)

Design of air conditioning and ventilation system for a multi storey office b...
Design of air conditioning and ventilation system for a multi storey office b...Design of air conditioning and ventilation system for a multi storey office b...
Design of air conditioning and ventilation system for a multi storey office b...
 
Urban morphology LONDON
Urban morphology LONDONUrban morphology LONDON
Urban morphology LONDON
 
Compact city
Compact cityCompact city
Compact city
 
Performing Iterations in EES
Performing Iterations in EESPerforming Iterations in EES
Performing Iterations in EES
 
B.tech ii unit-5 material vector integration
B.tech ii unit-5 material vector integrationB.tech ii unit-5 material vector integration
B.tech ii unit-5 material vector integration
 
Coordinate system 1st
Coordinate system 1stCoordinate system 1st
Coordinate system 1st
 
Computational Method to Solve the Partial Differential Equations (PDEs)
Computational Method to Solve the Partial Differential  Equations (PDEs)Computational Method to Solve the Partial Differential  Equations (PDEs)
Computational Method to Solve the Partial Differential Equations (PDEs)
 
B.tech ii unit-4 material vector differentiation
B.tech ii unit-4 material vector differentiationB.tech ii unit-4 material vector differentiation
B.tech ii unit-4 material vector differentiation
 
Medival Europe - Town Planning
Medival Europe - Town PlanningMedival Europe - Town Planning
Medival Europe - Town Planning
 
Lesson 6: Polar, Cylindrical, and Spherical coordinates
Lesson 6: Polar, Cylindrical, and Spherical coordinatesLesson 6: Polar, Cylindrical, and Spherical coordinates
Lesson 6: Polar, Cylindrical, and Spherical coordinates
 
Camillo sitte - Urban designer
Camillo sitte - Urban designerCamillo sitte - Urban designer
Camillo sitte - Urban designer
 
Tciap 2017 toeic 2016
Tciap 2017 toeic 2016Tciap 2017 toeic 2016
Tciap 2017 toeic 2016
 
08 interpolation lagrange
08 interpolation   lagrange08 interpolation   lagrange
08 interpolation lagrange
 
Giáo trình dầu mỡ và phụ gia - www.khodaumo.com
Giáo trình dầu mỡ và phụ gia - www.khodaumo.comGiáo trình dầu mỡ và phụ gia - www.khodaumo.com
Giáo trình dầu mỡ và phụ gia - www.khodaumo.com
 
[CDA] Sustainable Architecture Presentation
[CDA] Sustainable Architecture Presentation [CDA] Sustainable Architecture Presentation
[CDA] Sustainable Architecture Presentation
 
Linear transformation.ppt
Linear transformation.pptLinear transformation.ppt
Linear transformation.ppt
 
Жилищна среда - L12
Жилищна среда - L12Жилищна среда - L12
Жилищна среда - L12
 
Mcconkey Chapter 9 solution
Mcconkey Chapter 9 solutionMcconkey Chapter 9 solution
Mcconkey Chapter 9 solution
 
Solving linear equation system
Solving linear equation   systemSolving linear equation   system
Solving linear equation system
 
Simpson’s one third and weddle's rule
Simpson’s one third and weddle's ruleSimpson’s one third and weddle's rule
Simpson’s one third and weddle's rule
 

Similar to Basic ASM by @binaryheadache

Windows debugging sisimon
Windows debugging   sisimonWindows debugging   sisimon
Windows debugging sisimonSisimon Soman
 
How to recover malare assembly codes
How to recover malare assembly codesHow to recover malare assembly codes
How to recover malare assembly codesFACE
 
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018Zahari Dichev
 
Scale17x buffer overflows
Scale17x buffer overflowsScale17x buffer overflows
Scale17x buffer overflowsjohseg
 
C++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse EngineeringC++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse Engineeringcorehard_by
 
The forgotten art of assembly
The forgotten art of assemblyThe forgotten art of assembly
The forgotten art of assemblyMarian Marinov
 
Write an MPI program that implements a shell-sort like parallel algo.pdf
Write an MPI program that implements a shell-sort like parallel algo.pdfWrite an MPI program that implements a shell-sort like parallel algo.pdf
Write an MPI program that implements a shell-sort like parallel algo.pdfbharatchawla141
 
X86 assembly & GDB
X86 assembly & GDBX86 assembly & GDB
X86 assembly & GDBJian-Yu Li
 
Advanced procedures in assembly language Full chapter ppt
Advanced procedures in assembly language Full chapter pptAdvanced procedures in assembly language Full chapter ppt
Advanced procedures in assembly language Full chapter pptMuhammad Sikandar Mustafa
 
Swug July 2010 - windows debugging by sainath
Swug July 2010 - windows debugging by sainathSwug July 2010 - windows debugging by sainath
Swug July 2010 - windows debugging by sainathDennis Chung
 
Return Oriented Programming - ROP
Return Oriented Programming - ROPReturn Oriented Programming - ROP
Return Oriented Programming - ROPMihir Shah
 
NDC TechTown 2023_ Return Oriented Programming an introduction.pdf
NDC TechTown 2023_ Return Oriented Programming an introduction.pdfNDC TechTown 2023_ Return Oriented Programming an introduction.pdf
NDC TechTown 2023_ Return Oriented Programming an introduction.pdfPatricia Aas
 
Return Oriented Programming, an introduction
Return Oriented Programming, an introductionReturn Oriented Programming, an introduction
Return Oriented Programming, an introductionPatricia Aas
 
Diving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow BetterDiving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow BetterOguzhan Topgul
 
Introducción a Elixir
Introducción a ElixirIntroducción a Elixir
Introducción a ElixirSvet Ivantchev
 
Writing Metasploit Plugins
Writing Metasploit PluginsWriting Metasploit Plugins
Writing Metasploit Pluginsamiable_indian
 
Software to the slaughter
Software to the slaughterSoftware to the slaughter
Software to the slaughterQuinn Wilton
 

Similar to Basic ASM by @binaryheadache (20)

The Stack and Buffer Overflows
The Stack and Buffer OverflowsThe Stack and Buffer Overflows
The Stack and Buffer Overflows
 
Windows debugging sisimon
Windows debugging   sisimonWindows debugging   sisimon
Windows debugging sisimon
 
Advance ROP Attacks
Advance ROP AttacksAdvance ROP Attacks
Advance ROP Attacks
 
How to recover malare assembly codes
How to recover malare assembly codesHow to recover malare assembly codes
How to recover malare assembly codes
 
High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018High Performance Systems Without Tears - Scala Days Berlin 2018
High Performance Systems Without Tears - Scala Days Berlin 2018
 
Scale17x buffer overflows
Scale17x buffer overflowsScale17x buffer overflows
Scale17x buffer overflows
 
C++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse EngineeringC++ and Assembly: Debugging and Reverse Engineering
C++ and Assembly: Debugging and Reverse Engineering
 
The forgotten art of assembly
The forgotten art of assemblyThe forgotten art of assembly
The forgotten art of assembly
 
Write an MPI program that implements a shell-sort like parallel algo.pdf
Write an MPI program that implements a shell-sort like parallel algo.pdfWrite an MPI program that implements a shell-sort like parallel algo.pdf
Write an MPI program that implements a shell-sort like parallel algo.pdf
 
X86 assembly & GDB
X86 assembly & GDBX86 assembly & GDB
X86 assembly & GDB
 
x86
x86x86
x86
 
Advanced procedures in assembly language Full chapter ppt
Advanced procedures in assembly language Full chapter pptAdvanced procedures in assembly language Full chapter ppt
Advanced procedures in assembly language Full chapter ppt
 
Swug July 2010 - windows debugging by sainath
Swug July 2010 - windows debugging by sainathSwug July 2010 - windows debugging by sainath
Swug July 2010 - windows debugging by sainath
 
Return Oriented Programming - ROP
Return Oriented Programming - ROPReturn Oriented Programming - ROP
Return Oriented Programming - ROP
 
NDC TechTown 2023_ Return Oriented Programming an introduction.pdf
NDC TechTown 2023_ Return Oriented Programming an introduction.pdfNDC TechTown 2023_ Return Oriented Programming an introduction.pdf
NDC TechTown 2023_ Return Oriented Programming an introduction.pdf
 
Return Oriented Programming, an introduction
Return Oriented Programming, an introductionReturn Oriented Programming, an introduction
Return Oriented Programming, an introduction
 
Diving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow BetterDiving Into Memory Allocation to Understand Buffer Overflow Better
Diving Into Memory Allocation to Understand Buffer Overflow Better
 
Introducción a Elixir
Introducción a ElixirIntroducción a Elixir
Introducción a Elixir
 
Writing Metasploit Plugins
Writing Metasploit PluginsWriting Metasploit Plugins
Writing Metasploit Plugins
 
Software to the slaughter
Software to the slaughterSoftware to the slaughter
Software to the slaughter
 

More from camsec

Cleartext and PtH still alive
Cleartext and PtH still aliveCleartext and PtH still alive
Cleartext and PtH still alivecamsec
 
IPv6 for Pentesters
IPv6 for PentestersIPv6 for Pentesters
IPv6 for Pentesterscamsec
 
Custom Rules & Broken Tools (Password Cracking)
Custom Rules & Broken Tools (Password Cracking)Custom Rules & Broken Tools (Password Cracking)
Custom Rules & Broken Tools (Password Cracking)camsec
 
Reversing for beginners 2
Reversing for beginners 2Reversing for beginners 2
Reversing for beginners 2camsec
 
Active Directory Delegation - By @rebootuser
Active Directory Delegation - By @rebootuserActive Directory Delegation - By @rebootuser
Active Directory Delegation - By @rebootusercamsec
 
Working with NIM - By Jordan Hrycaj
Working with NIM - By Jordan HrycajWorking with NIM - By Jordan Hrycaj
Working with NIM - By Jordan Hrycajcamsec
 

More from camsec (6)

Cleartext and PtH still alive
Cleartext and PtH still aliveCleartext and PtH still alive
Cleartext and PtH still alive
 
IPv6 for Pentesters
IPv6 for PentestersIPv6 for Pentesters
IPv6 for Pentesters
 
Custom Rules & Broken Tools (Password Cracking)
Custom Rules & Broken Tools (Password Cracking)Custom Rules & Broken Tools (Password Cracking)
Custom Rules & Broken Tools (Password Cracking)
 
Reversing for beginners 2
Reversing for beginners 2Reversing for beginners 2
Reversing for beginners 2
 
Active Directory Delegation - By @rebootuser
Active Directory Delegation - By @rebootuserActive Directory Delegation - By @rebootuser
Active Directory Delegation - By @rebootuser
 
Working with NIM - By Jordan Hrycaj
Working with NIM - By Jordan HrycajWorking with NIM - By Jordan Hrycaj
Working with NIM - By Jordan Hrycaj
 

Recently uploaded

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...panagenda
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPathCommunity
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfMounikaPolabathina
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...Wes McKinney
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .Alan Dix
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersNicole Novielli
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality AssuranceInflectra
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfpanagenda
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxLoriGlavin3
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024BookNet Canada
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterMydbops
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rick Flair
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxLoriGlavin3
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentPim van der Noll
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationKnoldus Inc.
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.Curtis Poe
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Farhan Tariq
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxLoriGlavin3
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...AliaaTarek5
 

Recently uploaded (20)

TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data PrivacyTrustArc Webinar - How to Build Consumer Trust Through Data Privacy
TrustArc Webinar - How to Build Consumer Trust Through Data Privacy
 
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
Why device, WIFI, and ISP insights are crucial to supporting remote Microsoft...
 
UiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to HeroUiPath Community: Communication Mining from Zero to Hero
UiPath Community: Communication Mining from Zero to Hero
 
What is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdfWhat is DBT - The Ultimate Data Build Tool.pdf
What is DBT - The Ultimate Data Build Tool.pdf
 
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
The Future Roadmap for the Composable Data Stack - Wes McKinney - Data Counci...
 
From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .From Family Reminiscence to Scholarly Archive .
From Family Reminiscence to Scholarly Archive .
 
A Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software DevelopersA Journey Into the Emotions of Software Developers
A Journey Into the Emotions of Software Developers
 
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance[Webinar] SpiraTest - Setting New Standards in Quality Assurance
[Webinar] SpiraTest - Setting New Standards in Quality Assurance
 
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdfSo einfach geht modernes Roaming fuer Notes und Nomad.pdf
So einfach geht modernes Roaming fuer Notes und Nomad.pdf
 
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptxThe Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
The Role of FIDO in a Cyber Secure Netherlands: FIDO Paris Seminar.pptx
 
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
Transcript: New from BookNet Canada for 2024: Loan Stars - Tech Forum 2024
 
Scale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL RouterScale your database traffic with Read & Write split using MySQL Router
Scale your database traffic with Read & Write split using MySQL Router
 
Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...Rise of the Machines: Known As Drones...
Rise of the Machines: Known As Drones...
 
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptxPasskey Providers and Enabling Portability: FIDO Paris Seminar.pptx
Passkey Providers and Enabling Portability: FIDO Paris Seminar.pptx
 
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native developmentEmixa Mendix Meetup 11 April 2024 about Mendix Native development
Emixa Mendix Meetup 11 April 2024 about Mendix Native development
 
Data governance with Unity Catalog Presentation
Data governance with Unity Catalog PresentationData governance with Unity Catalog Presentation
Data governance with Unity Catalog Presentation
 
How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.How AI, OpenAI, and ChatGPT impact business and software.
How AI, OpenAI, and ChatGPT impact business and software.
 
Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...Genislab builds better products and faster go-to-market with Lean project man...
Genislab builds better products and faster go-to-market with Lean project man...
 
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptxThe Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
The Fit for Passkeys for Employee and Consumer Sign-ins: FIDO Paris Seminar.pptx
 
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
(How to Program) Paul Deitel, Harvey Deitel-Java How to Program, Early Object...
 

Basic ASM by @binaryheadache

Editor's Notes

  1. bss: static uninit vars (static char* pies), filled with zeros data: init static vars text: binary image of process
  2. 22 flags in total
  3. Substracts source from destination and updates the flags but does not save result. Flags Affected: AdjustF, CarryF, OverflowF, ParityF, SignF, ZeroF
  4. bitwise and of operands flags SignF, ZeroF, ParityF are modified