과연 어떻게 하면 리버싱을 잘 할 수 있을지 제 생각을 얘기해 드리겠습니다.
"리버싱 전문가가 되기 위해", "취직을 위해", "흥미를 위해", "해커가 되기 위해" 등의 자신만의 목표가 필요합니다. 이러한 목표가 없으면 힘든 공부를 지속하기 어렵습니다. (도중 포기할 확률이 높아진다는 뜻입니다.) 목표는 여러분들에게 방향을 제시합니다. 그 목표를 향해 한발 한발 전진하시기 바랍니다.
- "저는 C 언어도 모르는데요... 리버싱을 할 수 있을까요?" --->>> 물론이죠.
초보일수록 더더욱 리버싱 과정에서의 재미를 찾으셔야 합니다. 어렵고 지겨운데 어떻게 계속 해나갈 수 있겠습니까? 리버싱이 재밌고, 하나씩 모르는 걸 배워나가고, 내가 맘먹은대로 프로그램을 패치시키는 이런 과정에서 재미를 찾으셔야 하지요.
"검색하면 9할은 나온다" <- 제가 어디서 읽은 후 맘속에 담아둔 명언 입니다. 특히 리버싱 기술은 수많은 검색을 통한 지식 습득이 필수적입니다. 역사가 짧고 관련 전문가도 적고 관련 서적도 거의 없다시피 하니까요. 일단 믿고 검색해 보시기 바랍니다. 반드시 원하시는 내용을 찾을 수 있으실 겁니다.
"Just Do It" 아시죠~
리버싱 초보자가 가장 걸리기 쉬운 병이 바로 "조급증" 입니다. 빨리 성과를 내고는 싶은데 공부가 만만치는 않고 실력은 제자리에서 맴돌고 있습니다. 자신이 얼마나 모르는 것인지, 제대로 가긴 하는 건지 너무 답답합니다. 어셈블리, 윈도우즈 내부구조, PE 파일 포멧, API 후킹 등 뭐 하나 쉬운게 없습니다. 어셈블리 한가지만 봐도 어디까지 공부를 해야 하는지 알 수 가 없지요. 이럴때 마음이 급해지고 목표를 잃어 버리게 됩니다.
'column' 카테고리의 다른 글
리버싱 환경의 변화 : 가상머신(Virtual Machine), 디버거(Debugger) (3) | 2021.04.18 |
---|---|
애플 The New iPad 발표를 본 소감 (8) | 2012.03.09 |
InjDll64.exe 버전업! - 64bit 지원 (60) | 2010.10.29 |
도대체 리버싱을 어떻게 공부해야 하나요? (44) | 2010.10.13 |
리버서의 연륜을 말해주는 Opcode Manual (24) | 2010.08.31 |
리버싱의 참 맛 (19) | 2009.12.04 |
UPack 의 추억 (11) | 2009.09.21 |
DDoS 사이버 테러의 3대 의혹 (누가? 왜? 어떻게?) (8) | 2009.07.10 |
좋은 분석 도구(tool)를 선택하는 5 가지 기준 (7) | 2009.03.18 |
Reverse Code Engineering (2) (14) | 2009.02.28 |
Reverse Code Engineering (1) (24) | 2009.02.25 |
- 이전 댓글 더보기
-
퍼다우크 2010.10.21 14:54
얼씨구 언제 이런 블로그를 .....
아이고 글도 많이도 쓰셨네요... 5년을 옆에 있었는데 이런걸 몰랐다니...T.T -
Middle Reverser 2010.10.22 18:24
저 같은경우도 리버싱 은 함부로 모른다고 접근 하면 안된다고 동감합니다 ...
저두 .. C 언어를 배우기 전에 Reversing 을 배우기시작했는데요 ... 스스로 부족한건 자동으로 공부를 하게 되더군요 ..
동감합니다 ^^ -
이영호 2010.10.25 10:43
안녕하세요? 즐겨찾기 하고 간혹 한번 두번 읽고 가는 사람입니다.
강의해주신 내용보니 참 좋아서요..저는 웹프로그래머라 윈도우 어플리케이션에 대해 잘 알지
못하지만 어쩌다가 리버싱이란걸 알게되서 흥미를 갖고있답니다 ^^;;
아무쪼록 감사의 말씀 전하고 갑니다 ^^ -
-
Lr라 2011.01.07 10:46
정말 도움이 되는 글이군요 ㅠㅠ
예전에 비해서 강좌가 많이 사라져서 슬펏는데 아쉽네요 ㅎㅎ
런투 크랙이 망해버려서 공부할길도 없어지니말이져..
점점 슬퍼지는 현실 ㅠㅠ-
reversecore 2011.01.11 10:57 신고
안녕하세요.
아이쿠~ 제가 원래 리버싱 입문자에게 약간의 도움이라도 드리고자 블로그를 시작했늗데 요즘 다른 일(?)로 강좌를 못 올리는 상황입니다.
저말고도 다른 분들의 훌륭한 강좌가 많이 있습니다. 최소한 제가 리버싱 시작할 때보다는 훨씬 공부하기 좋은 환경이라고 감히 말씀드릴 수 있습니다. ^^~
이럴때 실전 디버깅 연습을 많이 해보시는건 어떨까요?
간단한 프로그램을 리버싱하면서 자신이 부족하다고 싶은 부분을 집중적으로 찾아서 공부하시는 겁니다.
tuts4you 나 openrce 같은 사이트에 많은 샘플 예제가 있으니 그걸 활용해 보시는 것도 좋겠네요.
감사합니다.
-
-
-
-
reversecore 2011.02.28 16:01 신고
저도 처음에 리버싱 멘토가 없었습니다. ^^
장단점이 있는것 같습니다. 멘토가 없으면 없는대로 더 열심히 찾고 헤메고 하던 일들이... 지금보면 참 소중한 경험이 되었으니 말이지요.
감사합니다.
-
-
Aly 2011.03.01 11:18
리버싱을 공부하는 한 학생으로써, 정말 좋은말씀과 좋은정보들 감사합니다.
앞으로 자주 들리면서 많은 질문드리도록 하겠습니다 ^^ -
초보 2011.03.16 01:05
궁금한게 있습니다!
PE 분석후, 디어셈블러를 통해 나온 어셈블리어에서
변수의 이름도 파악할 수 있나요?
함수이름은 파악이 되는걸로 아는데....
답변부타드립니다ㅜ
어셈블리어에서 어떤 정보까지 알 수 있는지... 찾아봐도 잘 안나오네요ㅜ-
reversecore 2011.03.16 21:31 신고
안녕하세요.
빌드 과정에서 생성되는 map 파일이란게 있습니다.
디버거에 이 파일을 연결해주면 변수명, 함수명 등을 보실 수 있는데요.
일반적인 상황에서는 map 파일을 배포하지 않으니 제삼자는 볼 수 없습니다. 따라서 전역변수와 함수명은 일반 주소로 표시되고, 로컬 변수는 [ESP+X] 형태로 표시되는 것이 일반적입니다.
함수이름이 파악된다는 말씀은 아마 Win32 API 이름이 보인다는 뜻인것 같습니다. 그것은 DLL 에서 외부로 노출한 것이기 때문에 디버거에서 볼 수 있는 것이지요.
감사합니다.
-
-
이제시작 2011.03.27 22:22
글을읽고 많은 도움을 얻어갑니다!
적어도 저는 지금 3번째는 만족하고있네요~!
요즘 하나하나 하는게 재미있습니다 !! -
아직시작안함 2011.04.22 23:43
안녕하세요 ,제가 네이버에 리버싱이라고 검색해보면 뜨겠지만 리버싱이라는 4만원짜리 책을 사려고 합니다. 그런데 그게 기초를 좀 다져야 한다고 하는데 그럼 어떤책을 기초로 삼아야 할까요? 추천좀 해주세요, 아니면 님께서 어떻게 시작하셨는지 가르쳐 주세요
-
reversecore 2011.05.03 00:56 신고
안녕하세요.
그 책이 어떤 책인지는 잘 몰라서 뭐라 말씀드릴 수 가 없네요.
제 경우는 업무가 리버싱이기 때문에 시작할 때 남들보다 훨씬 수월하였습니다.
감사합니다.
-
-
리버서가되고싶다 2011.09.22 17:58
안녕하세요.
저는 리버싱을 하기위해 c언어공부를 하고있고 이해될떄까지 마친 후
X86 프로세서를 위한 어셈블리언어 <--이걸 공부하려고하는데요..
확실이 c랑 어셈을 어느정도 공부한 후에 리버싱을 하게된다면 수월하게 기술을 익힐수있을까요..?-
reversecore 2011.09.28 21:04 신고
안녕하세요.
C 와 Assembly 를 잘 알면 분명 디버깅이 수월합니다만...
잘 모르시는 분들도 리버싱을 공부하면서 같이 병행으로 배우시는 분들이 많습니다.
그래도 잘 하시더군요. ^^~
감사합니다.
-