[IDA] 03. 아이다 안에서 구조체 활용하기
두비니
·2019. 8. 10. 22:34
[IDA]
03. 아이다 안에서 구조체 활용하기
어떤 이유인지는 모르지만 IDA는 아직 구조체를 인식하지 못하는 것 같습니다.
위 코드는 ASIS CTF 의 문제 Cat의 일부입니다. 보면 27번 줄에 0x18만큼 heap에 할당을하고 밑에 차례대로 name과 kind, 그리고 age를 입력받네요. 보아하니 구조체인데, 알아보기 힘든 면이 없지않아 있네요.
다음은 Structures탭에 들어간 모습입니다. 여기서 새로운 구조체를 선언해줄 수 있는데요, 여기서 그냥 Insert키를 눌러주면 됩니다.
여기다가 입력을 해주시면
이렇게 구조체가 추가된 것을 볼 수 있는데, 이제 안에 있는 멤버들도 넣어주어야겠죠?
그건 ends를 누른 뒤에 'd' 키를 누르면 됩니다.
그러면 저런식으로 멤버들을 추가시킬 수 있는데, 이름은 우클릭으로 바꿀 수 있으며, 각각 크기는 db부분을 클릭한 후 d를 누르면 변수의 크기를 바꿀 수 있습니다.
이렇게 설정을 해주었으면 연결을 시켜주어야겠죠? 다시 pseudocode로 돌아가서,
원하는 부분에다가 우클릭 후 set item type를 누르거나 y를 눌러줍니다.
다음과 같이 입력해주면 됩니다.
struct (이름) *(이름)_0[10]
이렇게 쓰면
짜잔. 이제 구조체 형식으로 보이쥬?
끝.
'etc > Tips' 카테고리의 다른 글
IDA 처음 쓰는 사람들에게 (3) | 2020.08.31 |
---|---|
Pwntools 처음 쓰는 사람들에게 (0) | 2020.08.09 |
우분투를 처음 시작할 때 다운받을 플러그인 (0) | 2019.08.14 |
[IDA] 02. 함수 안으로 들어가기 (0) | 2019.08.10 |
[IDA] 01. 변수의 이름 바꾸기 (0) | 2019.08.10 |