본문 바로가기

정리53

[c] 포인터 문제 풀이 codeup 1460 codeup 1468 #include int main(){ int arr[101][101]-{}; int n; scanf("%d", &n); int x = 1; int i = 0, j = 0; for(i = 1; i 2023. 7. 9.
[XSS game] level 3, 4, 5 level 3 image1, 2, 3를 누를 때마다 frame 번호가 바뀌며 이미지가 바뀐다. 이때 level 2에서 이용했던 img src가 없을때 alert을 띄웠던 것처럼 없는 frame 번호를 넣어 에러를 발생시켜 alert을 띄우면 된다. 위처럼 작성해주면 된다. level 4 단순 초를 입력하면 타이머를 재주는 사이트이다. 여기서 힌트에 따르면 starttimer()함수와 관련하여 유심히 확인해야했다 (열심히 본것치곤 한참 헤멨다) 함수가 시행될때 값을 받아 함수가 시행되는데 onload 값을 보내는 구문에서 alert문까지 함꼐 시해하도록 하면 된다! 시간입력하는 입력창에 위와 같이 숫자 아무거나'); alert('1 을 적어주면 된다. level5 사실 힌트를 보고도 전혀 감이 안잡혀서 여.. 2023. 7. 9.
[Reversing] 메모리 레이아웃 컴퓨터 구조와 관련하여 정리한 내용은 이전 포스팅에 있다. https://menmen202007.tistory.com/36 [System Hacking] 컴퓨터 구조, 리눅스 메모리 구조 가상머신 컴퓨터를 에뮬레이팅 한 것 가상머신을 작동시키는 컴퓨터(host) / 가상 머신 안에서 작동하는 컴퓨터(guest) 컴퓨터 구조(Computer Architecture) 컴퓨터에 대한 기본 설계. 이에 맞추워 여러 하 menmen202007.tistory.com 컴퓨터 구조 파트를 참고하고 오면 좋을 것 같다. 메모리 레이아웃(Memory Layout) 프로세스 가상 메모리(Virtual Memory)의 구성을 말함. 프로그램을 실행하면 os는 프로세스에게 메모리 공간을 할당해주는데 이 공간을 가상 메모리라고 .. 2023. 7. 8.
[Reversing] 리버싱, 바이너리, 정적분석과 동적분석 리버스 엔지니어링(Reverse Engineering) 제작하는 과정을 거꾸로 하는 행위. 기계어(Machine Language) 컴퓨터에게 명령을 내리기 위한 언어. 0,1로 구성 어셈블리어(Assembly Langauge) 사람이 이해하기 쉬운 언어. 어셈블러(Assembler) 어셈블리어를 기계어로 번역. 고급 언어(High-Level Langauge) 사람이 이해하기 쉬운 언어 (c, c++,Go,Rust ...) 저급 언어(Low-Level Langauge) 사람이 이해하기 어려운 언어. (기계어, 어셈블리어) 프로그램(Program) 연산 장치가 수행해야 하는 동작을 정의한 일종의 문서 바이너리(Binary)로도 부르기도 함. 프로그래밍 언어(Programming Language) 프로그램을 .. 2023. 7. 2.