본문 바로가기
반응형

빚진 자처럼, 한결같이1251

BinDiff 기본사용법 Zynamics에서 개발하였으나 구글에서 합병한 후 더이상 제품을 지원하지 않겠다고 함 패치 전 후 비교 : bindiff 반드시 java 1.6 설치 후 사용해야 함 설치 시 IDA의 기본 디렉토리를 설정해야 함 exe파일이 아닌 ida가 만든 idb파일을 가지고 비교함 idle 상태 확인 2014. 12. 12.
IDA 기본사용법 Ida 설치된 디렉토리의 python 디렉토리에서 추가적으로 사용할 수 있는 기능 확인 DBG_Hooks 클래스를 이용 idaapi만 import하면 idaapi와 idautil과 idc에 있는 함수와 클래스들을 사용할 수 있다. IDA에서 디버거를 선택해 줄 것 Hook이 되어 있는 경우는 dbg.unhook() 을 할 것 2014. 12. 12.
gdb 명령어 #프로그램 작성 #컴파일 방법 gcc -o test test.c -m32 -mpreferred-stack-boundary=2 -fno-stack-protector -m32 : -mpreferred-stack-boundary=2 : -fno-stack-protector : #어셈블리어로 컴파일 gcc -S test.c => test.s 라는 어셈블리코드 생성 #intel 계열로 보는 방법 (gdb) set disassembly-flavor intel #child 프로세스 보는 방법 (gdb) set follow-fork-mode child ####### gdb명령어들 ##### gdbinit 파일을 다운받아 홈디렉토리에 생성하면 아래 설정들을 자동으로 세팅할 수 있음 display /i $pc -> 실행되.. 2014. 12. 10.
ASM to C (1) Dump of assembler code for function main: 0x0804841c : push ebp 0x0804841d : mov ebp,esp 0x0804841f : sub esp,0x10 // 지역변수가 선언되면 스택을 할당한다. ; init (0x10) 0x08048422 : mov BYTE PTR [ebp-0x1],0x61 ; ebp = 0x61 0x08048426 : movsx edx,BYTE PTR [ebp-0x1] 0x0804842a : movsx eax,BYTE PTR [ebp-0x1] ; edx = 1 ; eax = 1 0x0804842e : mov DWORD PTR [esp+0x8],edx 0x08048432 : mov DWORD PTR [esp+0x4],eax 0x080.. 2014. 12. 10.
리버싱 공부 1. 메모리 쓰는 방법과 레지스터 쓰는 방법 2. EIP, ESP, EBP는 항상 목적에 맞게 사용해야 한다. 3. 컴퓨터가 메모리를 어떻게 사용하는지 달달 외우고 있어야 한다. 4. 어셈블리어를 C언어로 고치는 연습방법 리눅스에서 C언어 작성 후 Compile 후 GDB를 이용하여 디버깅 gcc -o test test.c -m32 -mpreferred-stack-boundary=2 -fno-stack-protector gdb ./test 리눅스에서 C언어 작성 후 어셈블리어로 변경하여 코드 비교 gcc -S test.c cat test.s 코드 분석 시 중요한 것이 변수명과 함수명인데… 어셈에서는 이름을 알기 어려움 인자면 a 라는 변수로 치환 지역변수면 v 라는 변수로 치환 전역변수면 g 라는 변수로.. 2014. 12. 9.
반응형