본문으로 바로가기

ASM to C with IDA - 002

category Reversing/ASM to C 2018. 5. 24. 14:02

C300_002



C002_소스코드


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h> 
 
main()
{
    int x;
    int y;
    int z;
 
    x = 1;
    y = 2;
 
    z = x + y;
 
    printf("%d", z);                    
}
cs



IDA - Layout Graph




IDA - Text View





sub esp, 0Ch를 통해 12바이트를 사용할 것을 알고 4바이트 변수 3개가 할당 될 것으로 예상해 볼 수 있다.

_Format에 마우스를 가져다 대면 String 내용을 알 수 있는데 "%d"라는 String이 들어있다.



pseudo code(의사코드)


1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h> 
 
main()
{
    x = 1;
    y = 2;
    eax = x;
    eax = eax + y;
    z = eax;
    ecx = z;
    printf(_Format, ecx);
    eax = 0;
}
cs


pseudo code(최종 의사 코드)


1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
#include <stdio.h> 
 
main()
{
    int x;
    int y;
    int z;
 
    x = 1;
    y = 2;
 
    x = x + y;
    z = x;
 
    printf("%d", z);        
}
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 - 001  (0) 2018.05.24