SlideShare uma empresa Scribd logo
1 de 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

Mais conteúdo relacionado

Mais procurados

7 hệ tinh thể Ô mạng Bravais.doc
7 hệ tinh thể Ô mạng Bravais.doc7 hệ tinh thể Ô mạng Bravais.doc
7 hệ tinh thể Ô mạng Bravais.doc
TrngNguynnh14
 
Giai phuong trinh vi phan bang bien doi laplace
Giai phuong trinh vi phan bang bien doi laplaceGiai phuong trinh vi phan bang bien doi laplace
Giai phuong trinh vi phan bang bien doi laplace
Kiếm Hùng
 
đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )
Bui Loi
 
ứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tích
Thế Giới Tinh Hoa
 

Mais procurados (20)

BÀI TẬP CUỐI TUẦN TOÁN - TIẾNG VIỆT TUẦN 9 - LỚP 4
BÀI TẬP CUỐI TUẦN TOÁN - TIẾNG VIỆT TUẦN 9 - LỚP 4BÀI TẬP CUỐI TUẦN TOÁN - TIẾNG VIỆT TUẦN 9 - LỚP 4
BÀI TẬP CUỐI TUẦN TOÁN - TIẾNG VIỆT TUẦN 9 - LỚP 4
 
Tư tưởng Hồ Chí Minh - www.tailieubachkhoa.vn
Tư tưởng Hồ Chí Minh - www.tailieubachkhoa.vnTư tưởng Hồ Chí Minh - www.tailieubachkhoa.vn
Tư tưởng Hồ Chí Minh - www.tailieubachkhoa.vn
 
Gốm nhôm oxit
Gốm nhôm oxitGốm nhôm oxit
Gốm nhôm oxit
 
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂUPHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
PHƯƠNG PHÁP BÌNH PHƯƠNG CỰC TIỂU
 
Tổng hợp mesoporous silica(mcm 41)
Tổng hợp mesoporous silica(mcm 41)Tổng hợp mesoporous silica(mcm 41)
Tổng hợp mesoporous silica(mcm 41)
 
7 hệ tinh thể Ô mạng Bravais.doc
7 hệ tinh thể Ô mạng Bravais.doc7 hệ tinh thể Ô mạng Bravais.doc
7 hệ tinh thể Ô mạng Bravais.doc
 
Quản trị học
Quản trị họcQuản trị học
Quản trị học
 
Chuong 3 he pttt- final
Chuong 3   he pttt- finalChuong 3   he pttt- final
Chuong 3 he pttt- final
 
Giai phuong trinh vi phan bang bien doi laplace
Giai phuong trinh vi phan bang bien doi laplaceGiai phuong trinh vi phan bang bien doi laplace
Giai phuong trinh vi phan bang bien doi laplace
 
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấpHướng dẫn giải bài tập chuỗi - Toán cao cấp
Hướng dẫn giải bài tập chuỗi - Toán cao cấp
 
Hướng dẫn giảng dạy văn học địa phương đồng nai
Hướng dẫn giảng dạy văn học địa phương đồng naiHướng dẫn giảng dạy văn học địa phương đồng nai
Hướng dẫn giảng dạy văn học địa phương đồng nai
 
Khái niệm chung về âm thanh
Khái niệm chung về âm thanhKhái niệm chung về âm thanh
Khái niệm chung về âm thanh
 
Liên kết hoá học và cấu tạo phân tử
 Liên kết hoá học và cấu tạo phân tử Liên kết hoá học và cấu tạo phân tử
Liên kết hoá học và cấu tạo phân tử
 
03.co so quy hoach
03.co so quy hoach03.co so quy hoach
03.co so quy hoach
 
2. Bài Tập Các Phép Toán Trên Ma Trận
2. Bài Tập Các Phép Toán Trên Ma Trận2. Bài Tập Các Phép Toán Trên Ma Trận
2. Bài Tập Các Phép Toán Trên Ma Trận
 
Bài Tập Kỹ Thuật Nhiệt (Có Đáp Án)
Bài Tập Kỹ Thuật Nhiệt (Có Đáp Án) Bài Tập Kỹ Thuật Nhiệt (Có Đáp Án)
Bài Tập Kỹ Thuật Nhiệt (Có Đáp Án)
 
đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )đại số tuyến tính 2 ( không gian eculid )
đại số tuyến tính 2 ( không gian eculid )
 
Xstk 07 12_2015_9914
Xstk 07 12_2015_9914Xstk 07 12_2015_9914
Xstk 07 12_2015_9914
 
Slides de cuong hoa dai cuong 1
Slides de cuong hoa dai cuong 1Slides de cuong hoa dai cuong 1
Slides de cuong hoa dai cuong 1
 
ứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tíchứNg dụng tích phân tính diện tích và thể tích
ứNg dụng tích phân tính diện tích và thể tích
 

Semelhante a Basic ASM by @binaryheadache

Windows debugging sisimon
Windows debugging   sisimonWindows debugging   sisimon
Windows debugging sisimon
Sisimon Soman
 
How to recover malare assembly codes
How to recover malare assembly codesHow to recover malare assembly codes
How to recover malare assembly codes
FACE
 

Semelhante a 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
 

Mais de 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
 

Último

Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Victor Rentea
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Victor Rentea
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
?#DUbAI#??##{{(☎️+971_581248768%)**%*]'#abortion pills for sale in dubai@
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
panagenda
 

Último (20)

WSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering DevelopersWSO2's API Vision: Unifying Control, Empowering Developers
WSO2's API Vision: Unifying Control, Empowering Developers
 
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost SavingRepurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
Repurposing LNG terminals for Hydrogen Ammonia: Feasibility and Cost Saving
 
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
Modular Monolith - a Practical Alternative to Microservices @ Devoxx UK 2024
 
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
Emergent Methods: Multi-lingual narrative tracking in the news - real-time ex...
 
DBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor PresentationDBX First Quarter 2024 Investor Presentation
DBX First Quarter 2024 Investor Presentation
 
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot TakeoffStrategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
Strategize a Smooth Tenant-to-tenant Migration and Copilot Takeoff
 
AWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of TerraformAWS Community Day CPH - Three problems of Terraform
AWS Community Day CPH - Three problems of Terraform
 
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
Navigating the Deluge_ Dubai Floods and the Resilience of Dubai International...
 
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
Apidays New York 2024 - Passkeys: Developing APIs to enable passwordless auth...
 
Vector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptxVector Search -An Introduction in Oracle Database 23ai.pptx
Vector Search -An Introduction in Oracle Database 23ai.pptx
 
Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..Understanding the FAA Part 107 License ..
Understanding the FAA Part 107 License ..
 
Platformless Horizons for Digital Adaptability
Platformless Horizons for Digital AdaptabilityPlatformless Horizons for Digital Adaptability
Platformless Horizons for Digital Adaptability
 
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024Finding Java's Hidden Performance Traps @ DevoxxUK 2024
Finding Java's Hidden Performance Traps @ DevoxxUK 2024
 
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
Apidays New York 2024 - The Good, the Bad and the Governed by David O'Neill, ...
 
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
+971581248768>> SAFE AND ORIGINAL ABORTION PILLS FOR SALE IN DUBAI AND ABUDHA...
 
Corporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptxCorporate and higher education May webinar.pptx
Corporate and higher education May webinar.pptx
 
MS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectorsMS Copilot expands with MS Graph connectors
MS Copilot expands with MS Graph connectors
 
Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)Introduction to Multilingual Retrieval Augmented Generation (RAG)
Introduction to Multilingual Retrieval Augmented Generation (RAG)
 
MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024MINDCTI Revenue Release Quarter One 2024
MINDCTI Revenue Release Quarter One 2024
 
Why Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire businessWhy Teams call analytics are critical to your entire business
Why Teams call analytics are critical to your entire business
 

Basic ASM by @binaryheadache

Notas do Editor

  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