본문 바로가기

Reversing

IDA Linux Remote Debugging IDA리눅스 원격 디버깅 하는 방법입니다.일단 준비물은 IDA, 리눅스(가상머신) 이렇게만 있으면 됩니다. 먼저 IDA폴더-dbgsrv로 가 주시면이렇게 파일들이 있습니다. 자신의 리눅스가 32비트라면 linux_server을, 64비트라면 64가 붙은 파일을 리눅스로 복사해 주세요. 그 다음 터미널에 ifconfig명령어로 리눅스의 IP를 아셔야 합니다. 그리고 아까 복사한 파일을 실행해 주세요.그러면 이렇게 23946포트로 연결을 기다리고 있습니다.그 다음 호스트 컴퓨터에서 IDA를 실행시킨 뒤이렇게 선택해 주시면이렇게 창이 나오게 됩니다. Application - 디버깅할 파일Directory - 디버깅할 파일이 있는 폴더Parameters - 전달할 파라미터Hostname - 아까 구한 리눅스의 .. 더보기
PEB구조체를 활용한 안티디버깅 *이 포스팅은 리버싱 핵심원리에서 공부한 내용을 정리한 내용입니다. 틀린 부분이 있을시 지적해 주세요.* 이전 글에 이어 PEB구조체를 활용한 안티디버깅 방법입니다.PEB의 값을 참조해서 할 수 있는 안티디버깅 방식으로는 약 4가지 정도가 있습니다.1. BeingDebugged2. Ldr3. Process Heap4. NtGlobalFlag이렇게 4가지로 분류할 수 있습니다. 하나씩 알아보겠습니다. 1. BeingDebugged PEB.BeingDebugged(+0x2)의 값을 참조하여 안티디버깅을 할 수 있습니다. WinDbg로 봐 보면여기에 존재합니다. 이 BeingDebugged는 디버깅 중일 때는 1(True)로 설정이 되며 디버깅 중이지 않을 때는 0(False)로 설정이 됩니다. 이를 이용해서.. 더보기
TEB, PEB 구조체의 위치 구하기 *여기 있는 내용들은 리버싱 핵심원리와 고길님의 블로그(http://gogil.kr)에서 보고 공부했던 내용들을 정리하는 방식으로 했습니다.* PEB(Process Environment Block)구조체는 프로세스의 정보를 담고 있는 구조체 입니다. 안티디버깅 기법을 적용할 때 많이 참조되기 때문에 꼭 알아야 하는 구조체 입니다. PEB구조체의 위치를 구하는 방법을 알기 전에 PEB에 대해서 조금만 알아보고 갑시다.PEB구조체의 내용은 이렇게 됩니다. 출처는 MSDN입니다. 향후 윈도우 버전에서는 변경될 수도 있다네요.. 좀 더 자세한 정보 확인을 위해서 WinDbg로 가 줍시다.>>>!peb이렇게 PEB의 주소와 정보를 볼 수 있구요.좀 더 자세한 정보를 보기위해>>>dt_peb구체적인 정보를 볼 수 .. 더보기