1nzag

[IDA] 자주쓰는 IDA 단축키

rev

<자주 쓰는 IDA 단축키>


d : 자료형 변환 --> d 를 누를때마다 byte -> word -> dword -> qword 순으로 자료형이변경된다.

a : 문자열 변환 --> 데이터를 문자열 형식으로 변환한다.

c : 코드 변환 --> 데이터를 어셈블리 코드로 변환한다.

Alt + g : ARM에서  해당 단축키를 누른 뒤 Value 값을 0x1로 바꿔주면 코드 형을 Thumb 모드로 해석하는게 가능하다. (나머지 기능은 잘 모르겠다 ..)

u : 자료형을 data로 다시 바꾼다. (자료형을 undefine 한다.)


Shift + f12 : String 검색창을 연다.

f5 / Tab : 헥스레이 창을 연다.

Ctrl + Tab : 화면 탭 목록을 연다.

Space :  그래프모드 / 일반모드로 전환시킨다.

Alt + t: Text Search : 코드나 스트링의 값을 찾아준다. 


n : rename --> 커서가 가르키는 변수나 함수 / 심볼의 이름을 변경한다.

y :  커서가 가르키고 있는 변수의 자료형을 변경한다.

p: Create function : 해당 커서가 가르키는 지점을 시작으로 하는 함수로 등록한다. (개인적으로 보통 hexray를 쓰기 위해 사용한다.)




g : jump --> g 를 누르고 특정 주소를 입력하면 해당 주소로 커서(화면)를 이동한다.

Ctrl + x : xref --> 커서가 가르키는 주소를 참조하는 곳을 찾아준다.

Alt + m : 해당 커서가 있는 곳의 주소를 저장한다.

Ctrl + m : 저장했던 주소들을 보여준다. 해당 주소를 클릭하면 그곳으로 커서를 이동시킨다.

Alt + B : 입력된 주소를 참조하는 곳을 찾아준다. (xref는 정의된 곳에서 찾아주지만 이거는 정의되지 않은 곳에서 찾아준다. 해당 주소가 저장되어있는 부분을 찾아준다 (?))



Alt + e -> p : 코드를 패치한다.

1. p : 패치한 정보를 바이너리에 적용시킨다.

2. a : 어셈블리 형태로 입력하여 패치한다.

**KeyPatch 플러그인을 사용하는 경우 Ctrl +  Alt + k 로 패치가 가능하다.

3. b : hex 형태로 입력하여 패치한다.


Alt + o -> g : general 창을 띄운다. (line prefix 나 auto comment 를 사용하기 위해 쓴다.)



Shift + f9 : Structure 창을 띄운다. 

insert : Struct를 새로 하나 정의한다.



f9 :  디버깅 모드로 들어간다.

Ctrl + f2 : 디버깅하는 프로그램에서 detach 한다.

f8 : 디버깅중에서 프로그램을 한줄 실행시킨다. (call 명령어가 있을시 해당함수로 들어가지 않는다.)

f7 : 디버깅중에서 프로그램을 한줄 실행시킨다. (call 명령어가 있을시 해당 함수로 들어간다.)

f2 : 브레이크 포인트를 설정한다.

Ctrl + Alt + B : 브레이크 포인트 목록 창을 띄운다.




'rev' 카테고리의 다른 글

PDF 자바스크립트 추출  (0) 2018.09.10
[IDA] C++ decompile failure : call analysis failed  (0) 2018.09.03
[Python] gmpy invert, divm (rctf 2018 babyre2)  (0) 2018.08.06