어셈블리어로 별찍기
section .data STAR db '*' SPACE db ' ' EMPTY db 0x0asection .text global _start_start: mov rax, 1 mov rdi, 1 mov rdx, 1 mov r10, 5 call _print_triangle_done: mov rax, 60 xor rdi, rdi syscall_print_triangle:_print_line: mov r8, 5 sub r8, r10 mov r9, r10_print_spaces: test r8, r8 jz _print_stars mov rsi, SPACE syscall dec r8 jmp _print_spaces_print_stars: test r9, r9 jz _new..
[Dreamhack]rev-basic-3 WriteUp
main함수에 F5를 눌러 분석 해 본다. 분기문 분석을 위해 sub_140001000를 열어본다. 연산식을 복사해놓고 여기서도 분기문 분석을 위해 byte_140003000을 열어본다. 값들을 이용해 C언어로 코드를 짠다. #include int main() { unsigned char byte_140003000[] = { 0x49, 0x60, 0x67, 0x74, 0x63, 0x67, 0x42, 0x66, 0x80, 0x78, 0x69, 0x69, 0x7B, 0x99, 0x6D, 0x88, 0x68, 0x94, 0x9F, 0x8D, 0x4D, 0xA5, 0x9D }; unsigned char result[24]; for (int i = 0..
어셈블리어로 Hello World 12번 출력하기
section .data msg db "Hello World", 0ahsection .text global _start_start: mov rax, 1 mov rdi, 1 mov rsi, msg mov rdx, 12 mov r10, 1again: cmp r10, 13 je done syscall mov rax, 1 inc r10 jmp againdone: mov rax, 60 mov rdi, 0 syscall