Citron0137 (토론 | 기여) |
|||
(같은 사용자의 중간 판 3개는 보이지 않습니다) | |||
76번째 줄: | 76번째 줄: | ||
사홍이형이 곧 리버싱 그 자체라는 것을... | 사홍이형이 곧 리버싱 그 자체라는 것을... | ||
+ | |||
+ | |||
+ | ==브레이크포인트가 붉은 색인 이유== | ||
+ | 사홍이형은 리버싱할때 브레이크포인트를 사용하지 않는다. | ||
+ | |||
+ | 사홍이형이 곧 리버싱이고 리버싱이 곧 사홍이형인데, | ||
+ | 사홍이형에게 전혀 쓸모없는 브레이크포인트에 대한 개념은 대체 어떻게 생겼을까? | ||
+ | |||
+ | |||
+ | |||
+ | 브레이크포인트에 대한 유래의 전말은 바로 이렇다. | ||
+ | |||
+ | 사홍이형이 바이너리를 리버싱하고 있을 때, 그의 진로를 가로막는 간큰 졸자가 있었으니, | ||
+ | 바로 인터럽트이다. | ||
+ | |||
+ | |||
+ | |||
+ | 물론 하드웨어&소프트웨어 인터럽트가 발생할지라도 사홍이형을 막는건 불가능하다. | ||
+ | |||
+ | 전에 [[사홍이형과 해쉬 암호의 관계]]에서 알 수 있듯, 사홍이형과 부딪힌 것은 어떠한 것이든 박살나 가루조차 남지 않기 때문이다. | ||
+ | |||
+ | |||
+ | 사홍이형은 운영체제의 존립을 위해 인터럽트를 차마 없앨 수 없어 자신의 진로를 가로막은 인터럽트를 살며시 어루만져주었다. | ||
+ | |||
+ | 당연히 그 인터럽트는 피칠갑이 되었고, 사홍이형은 이 졸자를 DebuggingInterrupt라고 명명하였다. | ||
+ | |||
+ | |||
+ | 레지스터중에 debug flag를 1로 바꿔주면, | ||
+ | 이 디버깅인터럽트는 사홍이형에게 어루만져지던 공포에 비명을 지르며 인터럽트를 발생한다. | ||
+ | |||
+ | 이것이 바로 우리가 디버거에서 사용하는 브레이크포인트의 유래이다. | ||
+ | DebuggingInterrupt는 아직도 공포에 잠식당해 울부짖고 있다. | ||
+ | |||
+ | |||
+ | |||
+ | 사홍이형을 화나게 하지 말자. | ||
+ | |||
+ | |||
+ | 다음 디버깅 인터럽트는 당신 차례가 될 수도 있으니... | ||
==인성== | ==인성== |
2018년 8월 18일 (토) 00:43 기준 최신판
BoB7기 보안제품개발트랙 교육생.
그는 리버싱의 황제다.
bob에 들어오기 전에는 리버싱을 주로 했다고 하는데, 정말 잘하는 것으로 확인.
Eye-ray 를 보유중일 것으로 추정.
주 언어는 파이썬이라고 확인.
reversing.kr 2문제를 남겨둔 것으로 확인.
사홍이형의 아이레이 1
물리 법칙은 말한다. 엔트로피는 역전될 수 없다고.
하지만 진짜일까?
엔트로피는 역전될 수 있을까?
답은 "그렇다" 이다.
필자(홍성빈)가 핸드레이 과제에 대한 자문을
사홍이 형에게 구할 때의 일이다.
필자는 과제로 주어진 디스어셈블 코드를 보여주며 물었다.
"핸드레이는 어떻게 하는 것입니까?"
이에 사홍이형은 코웃음치며 오히려 되묻는 것이였다.
"핸드레이할 코드가 어디있느냐"
나는 놀라지 않을 수 없었다.
이미 형에게 보여준 디스어셈블 코드는 완벽한 C언어가 되어있었다.
정보 엔트로피가 역전된것이다.
사홍이형과 해쉬 암호의 관계
사홍이형은 해쉬 암호와 상성이 좋지 않다고 볼 수 있다.
해쉬 암호를 풀기 위해서는 충돌을 찾아야 하는데,
무엇이든지 사홍이형과 충돌한 것은 가루조차 남지 않기 때문이다.
사홍이 형에게 리버싱이란?
학인이 형이 리버싱을 공부하며 겪은 고충에 대해 이야기하고 있었다.
"제가 리버싱 문제를 풀며 공부를 하고자 하니, 리버싱이 아니라 플래그를 찾는 잡기술만 느는 것 같습니다. 그저 기계적으로 string 테이블이나 뒤지고 있습니다. 플래그에 대한 욕심만 늘어갈 뿐입니다."
이를 들은 사홍이형이 빙긋 웃으며 대답했다.
"그 또한 리버싱이다."
이 말을 들은 순간에서야 나는 깨달을 수 있었다.
사홍이형이 곧 리버싱 그 자체라는 것을...
브레이크포인트가 붉은 색인 이유
사홍이형은 리버싱할때 브레이크포인트를 사용하지 않는다.
사홍이형이 곧 리버싱이고 리버싱이 곧 사홍이형인데, 사홍이형에게 전혀 쓸모없는 브레이크포인트에 대한 개념은 대체 어떻게 생겼을까?
브레이크포인트에 대한 유래의 전말은 바로 이렇다.
사홍이형이 바이너리를 리버싱하고 있을 때, 그의 진로를 가로막는 간큰 졸자가 있었으니, 바로 인터럽트이다.
물론 하드웨어&소프트웨어 인터럽트가 발생할지라도 사홍이형을 막는건 불가능하다.
전에 사홍이형과 해쉬 암호의 관계에서 알 수 있듯, 사홍이형과 부딪힌 것은 어떠한 것이든 박살나 가루조차 남지 않기 때문이다.
사홍이형은 운영체제의 존립을 위해 인터럽트를 차마 없앨 수 없어 자신의 진로를 가로막은 인터럽트를 살며시 어루만져주었다.
당연히 그 인터럽트는 피칠갑이 되었고, 사홍이형은 이 졸자를 DebuggingInterrupt라고 명명하였다.
레지스터중에 debug flag를 1로 바꿔주면,
이 디버깅인터럽트는 사홍이형에게 어루만져지던 공포에 비명을 지르며 인터럽트를 발생한다.
이것이 바로 우리가 디버거에서 사용하는 브레이크포인트의 유래이다. DebuggingInterrupt는 아직도 공포에 잠식당해 울부짖고 있다.
사홍이형을 화나게 하지 말자.
다음 디버깅 인터럽트는 당신 차례가 될 수도 있으니...
인성
다른분들과 다르게 이분은 천사 이시다. 무려 아이스크림을 사주시는 친절을 배풀어주셨다!
test