[컴퓨터시스템프로그래밍] CS:APP Bomb lab: Defusing a Binary Bomb (4) phase_3
·
ComputerSystemProgramming
phase_3은 코드가 꽤 길다. 알아보기 편하게 jump 구조를 표시해주었다.0000000000001679 : 1679: f3 0f 1e fa endbr64 167d: 48 83 ec 18 sub $0x18,%rsp 1681: 64 48 8b 04 25 28 00 mov %fs:0x28,%rax 1688: 00 00 168a: 48 89 44 24 08 mov %rax,0x8(%rsp) 168f: 31 c0 xor ..
[컴퓨터시스템프로그래밍] CS:APP Bomb lab: Defusing a Binary Bomb (3) phase_2
·
ComputerSystemProgramming
이전 포스트에서 phase_1까지 해제하였고, phase_2를 풀어본다. 매번 앞 phase들의 정답을 입력하는 것은 실수할 가능성도 있고 귀찮으므로 psol.txt에 각 줄마다 phase들의 정답을 순서대로 적어두면, 이 파일을 실행시에 읽어서 바로 패스할 수 있다. phase_1의 정답은 "Wow! Brazil is big."이었으므로 psol.txt에 저장해준다.origami0352@lagavulin:~/bomb4$ vim psol.txtorigami0352@lagavulin:~/bomb4$ lsbomb bomb.c bomb_data.txt bomb_disassembled.txt bomb_rodata.txt psol.txt README psol.txtWow! Brazil is big. 이..
[컴퓨터시스템프로그래밍] CS:APP Bomb lab: Defusing a Binary Bomb (2) phase_1
·
ComputerSystemProgramming
먼저 main 함수를 살펴보자.0000000000001489 : 1489: f3 0f 1e fa endbr64 148d: 53 push %rbx 148e: 83 ff 01 cmp $0x1,%edi 1491: 0f 84 f8 00 00 00 je 158f 1497: 48 89 f3 mov %rsi,%rbx 149a: 83 ff 02 cmp $0x2,%edi 149d: 0f 85 21 01 00 00 jne 15c4 14a3: 48 8b 7e 08 mov 0x8(%rsi)..
[컴퓨터시스템프로그래밍] CS:APP Bomb lab: Defusing a Binary Bomb (1) 준비
·
ComputerSystemProgramming
두번째 과제인 Bomb lab: Defusing a Binary Bomb의 풀이 과정을 정리한다. 보고서 작성도 있어서 겸사겸사 정리 우선 bomb.tar을 다운로드 받아 리눅스 서버에서 압축 해제하고 bomb.c파일을 열어보았다./*************************************************************************** * Dr. Evil's Insidious Bomb, Version 1.1 * Copyright 2011, Dr. Evil Incorporated. All rights reserved. * * LICENSE: * * Dr. Evil Incorporated (the PERPETRATOR) hereby grants you (the * VICTIM)..
[Baekjoon] 18258: 큐 2
·
Baekjoon
자구알 공부 겸 백준 재시작. 이번 문제는 Queue 자료구조를 구현하는 문제이다. 리스트 노드를 이용한 방식으로 Queue를 구현한다.문제 정수를 저장하는 큐를 구현한 다음, 입력으로 주어지는 명령을 처리하는 프로그램을 작성하시오. 명령은 총 여섯 가지이다.push X: 정수 X를 큐에 넣는 연산이다. pop: 큐에서 가장 앞에 있는 정수를 빼고, 그 수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. size: 큐에 들어있는 정수의 개수를 출력한다. empty: 큐가 비어있으면 1, 아니면 0을 출력한다. front: 큐의 가장 앞에 있는 정수를 출력한다. 만약 큐에 들어있는 정수가 없는 경우에는 -1을 출력한다. back: 큐의 가장 뒤에 있는 정수를 출력한다. 만약 큐에 들..
[Sulhoe] 2024.10.29 상속 Upcasting/Downcasting 보충 설명
·
설회
Upcasting: 하위 클래스(subclass)의 인스턴스를 상위클래스(superclass)의 참조변수에 할당Downcasting: 상위 클래스(superclass)의 인스턴스를 하위 클래스(subclass)의 참조변수에 할당 Upcasting은 허용되며, Downcasting은 명시적 형 변환이 필요 객체 형 변환을 메모리 관점에서 보는 것은 자바에서는 옳지 않음. 자바는 객체의 메모리를 직접 다루지 않고 JVM과 Garbage Collector가 자동으로 처리하기 때문에 프로그래머는 객체의 메모리 할당 및 해제에 직접 관여하지 않음. 따라서 객체 형 변환은 다음과 같이 이해 Upcasting: 하위 클래스(subclass)의 인스턴스는 상위 클래스(superclass)의 인스턴스 변수/메서드도 상속..
zerogod-ai-dev
zerogod 코코딩딩