"비도덕적, 불법적" 인 내용은 답변 드릴 수 없음을 이해해 주시기 바랍니다.
댓글, 방명록, 이메일 등으로 많은 분들께서 여러 가지 질문들을 해주십니다.
그중에 정말 좋은 질문들이 많아서 여러분들과 공유하면 좋겠다고 생각하였습니다.
이제부터 저에게 들어오는 모든 질문과 답변들을 이곳으로 모을 것입니다.
앞으로 질문과 답변은 이곳에서 해주세요~
질문에 대한 답변은 저 뿐만 아니라 제 블로그에 오시는 모든 분들께서 하실 수 있습니다.
문제 해결을 위한 방법은 다양합니다. 저 말고도 다른 분들의 답변은 언제나 환영입니다.
"질문은 좋은 것 입니다. 많이 해주세요. ^^ "
* 댓글로 질문하기 어려운 내용들(긴내용, 첨부파일 등)은 제 이메일(reversecore@gmail.com)로 문의해 주세요.
* 댓글이 너무 많이 달리면 제가 질문/답변 빈 포스트를 또 올릴 겁니다. 그쪽으로 계속 질문 댓글 달아주시면 됩니다.
감사합니다.
ReverseCore
'q&a' 카테고리의 다른 글
질문/답변 코너입니다. (3) (381) | 2011.04.13 |
---|---|
질문/답변 코너입니다. (2) (223) | 2010.01.28 |
질문/답변 코너입니다. (295) | 2009.09.21 |
- 이전 댓글 더보기
-
RCE 2013.12.31 09:57
안녕하세요
리버싱 공부 중인 학생입니다.
인라인 패치를 하고 있는데 책에 나와 있는데로가 아닌
rdata 영역 또는 data 영역을 이용해서 패치하려는데 패치가 잘 안 되서 질문드립니다.
401083의 JMP 영역은 XOR 7로 잘 바꾸어 주었는데
아마도 패치 영역이 문제인 것 같습니다. 바꾸고 저장해도 다시 디버깅을 해보면
패치했던 부분이 그대로 0000 으로 되어 있더군요
제가 패치한 부분은
rdata 영역일 때 메모리상 pointer to offset은 402000을 시작으로 402B38까지 rdata 내용, 그 뒤로
402B38~403000을 Null 영역으로 계산하였고 그 중 패치는 402B38~402200사이에 했습니다.
(Pointer To Rawdata : 800 / VirutalSize : 138 / SizeOfRawdata : 200)
그런데 제대로 패치가 되지 않아 저의 계산이 틀린 것 같은데 어떻게 계산을 해서 Null영역에
패치를 해야 하는지 궁금합니다.
<data 영역일 경우 403000을 시작으로 40302C 까지 data 내용, 그 뒤로 40302C부터 404000까지
Null 영역으로 잡고 패치했었습니다.> -
galois 2014.02.02 13:59
음 올리디버그로 헬로월드 디버깅 하는 예제를 책을보고 따라해볼려고 올리디버그를 다운받고 예제 HelloWorld.exe도 다운받아서 올디에서 파일을 여는데 이런 에러가 뜨네요.
Unable locate to file " 파일 경로"
이거는 어떻게 해결하나요??
그리고 올리디버그를 관리자 계정에서 사용하는데 그냥 실행하면
you do not have administrative rights on this computer ~~ 라는 메시지 박스가 뜨길래
관리자 권한으로 실행을 해본 결과 메시지박스가 안뜨는 걸 알게 됬는데
이렇게 사용하는게 맞는지요??
질문 읽어주셔서 감사합니다. -
한숨만나온다 2014.07.22 07:53
저자분 블로그 관리 너무 안하시는것 같아요.
리버싱이란게 생소하고, 변수가 많은 분야이기 때문에
당연히 수많은 독자들이 수많은 질문을 할텐데, 그 부분을 생각지 못하고
저자분 혼자 답변하겠다는 생각으로 메일과, 블로그에 QA게시판을 만들면...
지금 저자분처럼 일일이 답변해주는거 포기하고, 블로그도 뜸하게 들어오게 되고
덕분에 독자들만 개고생하는 결과가 나는거죠.
윤성우님처럼 저자의 개입없이 독자들끼리 정보공유해서 해답을 찾을 수 있게끔
커뮤니티 카페를 만들었다면 좋았을텐데 말입니다.
다시 한번 윤성우님을 찬양하게 되는 부분입니다. -
한숨만나온다 2014.07.22 07:53
저자분 블로그 관리 너무 안하시는것 같아요.
리버싱이란게 생소하고, 변수가 많은 분야이기 때문에
당연히 수많은 독자들이 수많은 질문을 할텐데, 그 부분을 생각지 못하고
저자분 혼자 답변하겠다는 생각으로 메일과, 블로그에 QA게시판을 만들면...
지금 저자분처럼 일일이 답변해주는거 포기하고, 블로그도 뜸하게 들어오게 되고
덕분에 독자들만 개고생하는 결과가 나는거죠.
윤성우님처럼 저자의 개입없이 독자들끼리 정보공유해서 해답을 찾을 수 있게끔
커뮤니티 카페를 만들었다면 좋았을텐데 말입니다.
다시 한번 윤성우님을 찬양하게 되는 부분입니다. -
애독자 2014.09.29 19:00
안녕하세요. 애독자이며, 정말 많은 도움을 받고있습니다. 감사합니다.
다름 아니오라 한가지 궁금하게 있어서 질문하게 되었습니다.
a.dll 에서 aaa라는 함수를 실행하면 그 함수안에서 c:\ccc 라를 폴더에서 ccc.ini 불러오고있습니다. 그런데 a.dll 은 제가 LoadLibrary로 실행중에 로드 하는 상황입니다.
a.dll 의 aaa라는 함수에서 c:\ccc 라는 폴더 말고 c:\ccc\sub 라는 폴더로 수정하고싶은데,
책에서 보면 별도의 exe를 만들어서 만들어서 pid를 얻고 그 다음 실행중에인젝션하는 것 같습니다.
a.dll 자체를 수정해서 인젝션 따로 필요없이 하는 처리하는 방법은 없을까요?
-
리버싱의 핵심원리를 공부하다가 궁금증이 생겨서 문의 드립니다.
어떻게 보면 아주 간단한거고, 어떻게 보면 아주 간단하지 않은 질문이지만요^^
제가 궁금한것은 hooking의 기초, SetWindowsHookEx 함수입니다.
(리버싱의 핵심원리 21장, 294~297페이지 소스를 같이 봐주시면 이해가 더 빠르실지도.. ㅎㅎ)
소스 내용은 대충 이러합니다.
콜백함수를 통해 메시지 발생 시(키보드 누르는 메시지 발생 시) notepad일 경우 메시지를 후킹하여 전달하지 않아 키보드 입력이 안되게 하는 알고리즘으로 되어 있습니다.
자 여기서 질문입니다.
1. 부모프로세스가 explorer인 notepad는 정상적으로 후킹이 됩니다. 후킹이 되어 키보드 입력이 되지 않는데요.. 하지만 부모프로세스가 ollydbg인 notepad에는 후킹이 되질 않습니다.(키보드 입력이 정상적으로 됩니다.) 또한 다른 컴퓨터에서 진행해도 똑같이 정상적으로 입력이 됩니다. 이유가 무엇일까요?
2. process explorer를 보면 ollydbg의 자식 프로세스 notepad에는 dll을 클릭해도 아무것도 출력되지 않습니다. 그 이유는 무엇일까요?
3. 정확하게 dll이 붙는 곳은 어디일까요?(이 질문을 하는 이유가 뭐냐면 hookmain 프로그램과 메모장, 그리고 스티커 메모장 실행 시 키보드 메시지를 발생시키자 keyhook.dll이 붙는 것을 확인할 수 있었습니다. -> 이 말은 콜백함수가 우선적으로 호출된 후 injection 된다는 얘기입니다. dll injection 코드가 정확하게 어딘지 모르겠네요.. 올리디버거로 분석하려고 해도 붙질 않으니.. ㅠㅠ) 콜백 함수가 실행되고 dllmain이 실행되는 걸까요..? 흠..
그래서 제가 고민끝에 내린 추측은
콜백함수나, dll injection 과정을 거칠때 ppid가 같아야한다?
아니면 애초에 keyhook.dll이 로드되지 않았다??(process explorer를 볼 시 아무것도 출력이 되지 않아서..)
dll이 정상적으로 injection 되지 않았기 때문에..?? 그 이유는..??
이정도 입니다..
혹여 이 부분을 실습하다가 안되신 분들 계시면 답변 부탁드리고, 아시는 내용이 있으면 댓글 부탁드립니다. -
김준영 2015.09.25 22:46
안녕하세요. 리버싱 핵심원리 책 덕분에 즐겁게 리버싱 공부하고 있는 한 학생입니다. 책을 읽다가 여쭤보고 싶은 내용이 생겨서요. 15장에서 notepad_upx.exe를 디버깅할 때
"이것은 원본 코드의 Call/jmp 명 령 어 (op code : E8/E9)의 destination 주소를
복원시 켜주는코드입 니다. 이 루프도 0 1015436 주소에 BP를설치하여 탈출할수
있습니다."
이 부분에서 궁금한 점이 생겨서요. 위에서 dest 주소를 구한다는 것을 어떻게 알아내셨는지 궁금합니다. 제가 코드에서 알아낼 수 있는 힌트는 4바이트 값을 넣는다는 것 밖에는 없는 거 같아요. OEP로 돌아가 call하는 주소를 보고 알게 된 건가요 아니면 다른 방법이 있었는지 궁급합니다. 올리디버거에서 캡처한 링크 드립니다. http://postfiles11.naver.net/20150925_10/kimjun136_1443188714453wLYni_JPEG/%C4%B8%C3%B3.JPG?type=w1
바쁘셔서 못 보실 수도 있을텐데 좋은 책 써주셔서 항상 감사한 마음 가지고 있습니다. 감사드립니다. ^^