2022-01-13 · 2분
[해킹] 전용 레지스터
\- 데이터를 일시 정장하는 레지스터이다. 기억장치로부터의 읽어온 데이터와 누산기에 적재되어 있던 데이터가 지정된 연산을 수행한 후 그 결과 값을 다시 누산기에 적재한다. 누산기 내용을 넌부 지워 0으로 만들 수 있으며, 왼쪽이나 오른쪽으로 몇 자리씩 움직일 수도 있다
2021-07-10 · 1분
이 글은 작성된 지 2년이 넘었어요. 내용이 오래됐을 수 있어요.
-> 플래그 획득을 위해서는 프로그램의 구조를 분석하고 이해하는 과정이 필수적입니다.
결국 리버스엔지니어링은 많이 분석할수록 실력이 늡니다.
다른 분야와는 달리 기법을 배운다기 보다는 새로운 유형을 접한다는 방식으로 공부합니다.
Linux - 해킹을 하기 위해선 linux를 다룰 수 있어야 합니다.
Programming - 적어도 1개의 언어는 배우는 것이 많은 도움이 될 겁니다.
특히 c언어는 시스템 해킹을 하기 위해선 필수로 알아야 합니다.
#include <stdio.h>
int main()
{
printf("Hello World!!");
return 0;
}
위와 같은 "Hello World" 코드를 짜고 컴파일 하게 됐을때, 아래와 같이 처리 됩니다.
Helloworld.c => Helloworld.i => Helloworld.s => helloworld.o => Helloworld
소스코드 전처리 후 소스 어셈블리 소스 오브젝트 파일 실행파일
!> ****](https://nabomhalang.tistory.com/entry/해킹-레지스터)
위와 같이 우분투에서 "gcc -v --save-temps -o '실행파일 이름' '소스파일 이름'"을 입력하시게 되면 컴파일 되는 모든 파일이 위의 사진과 같이 모두 저장이 됩니다.
그래서 위와 같이 어셈블리 소스 파일인 "helloworld.s"파일을 열어 보았을때 어셈으로 작성되어 있는 것을 확인할 수 있습니다. ### 디스어셈블 ![](/content- — nabomhalang.tistory.com
원문: tistory — 2021-07-10 발행, 이 블로그로 이전됨.
…