본문으로 바로가기

ASM to C with IDA - 001

category Reversing/ASM to C 2018. 5. 24. 11:46

C300_001


** visual studio optimization 끄기 **

** release 모드로 디버깅 **

** 보안 검사 사용 안함 **



C001_소스코드


1
2
3
4
5
6
7
#include <stido.h>
 
int main()
{
    printf("오늘부터 나는 C 프로그래머!");
}
 
cs




IDA - Layout Graph




IDA - Text View




pseudo code (의사코드)



1
2
3
4
5
6
7
8
#include <stido.h>
 
int main()
{
 
    printf(&_Format);                
 
}
cs



IDA에서 Text View 혹은 Layout Graph에서 알고 싶은 변수에 마우스를 올리면 정보를 볼 수 있고

Ctrl+마우스 휠을 내리면 바이너리 데이터를 추가로 볼 수 있다.





String이 저장되어 있는 _Format을 더블 클릭하면 위와 같은 화면이 나오고 드래그 하면 String을 볼 수 있다.

자세히 살펴보면 _Format은 char type이고 data segment에 존재하니 문자열(String)임을 추측 가능하다. 

또한 문자열의 마지막 문자는 NULL로 끝나는데 db 0이기 때문에 null이다.

db = data segment - byte


pseudo code(최종의사 코드)


1
2
3
4
5
6
7
8
#include <stido.h>
 
int main()
{
 
    printf("오늘부터 나는 C프로그래머!");                
 
}
cs


'Reversing > ASM to C' 카테고리의 다른 글

ASM to C with IDA - 006  (0) 2018.05.25
ASM to C with IDA - 005  (0) 2018.05.25
ASM to C with IDA - 004  (1) 2018.05.25
ASM to C with IDA - 003  (0) 2018.05.24
ASM to C with IDA - 002  (0) 2018.05.24