본문으로 바로가기

ASM to C with IDA - 051

category Reversing/ASM to C 2018. 7. 11. 10:41

C300_051



C300_소스코드



1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
#define KOREA    "대한민국"
#define SUMMER    "여름"
 
void main(void)
{
    const char* winter = "겨울";
 
    puts(KOREA);
    puts(SUMMER);
    puts(winter);
}
cs



IDA - Layout Graph


\



IDA - Text View




매크로 함수는 전처리 단계에서 처리되기 때문에 디스어셈블 하면 보이지 않는다.

따라서 매크로 함수를 사용하지 않은 winter의 처리 과정만 디스어셈블리단에서 보인다.


pseudo code - 최종 의사 코드



1
2
3
4
5
6
7
8
9
10
11
12
13
#include <stdio.h>
 
void main(void)
{
    int *winter;
 
    winter = offset unk_403034;
    puts(offset Str);
    puts(byte_403020);
    puts(winter);
    
    return 0;
}
cs



offset unk_403034 = "겨울"

offset Str = "대한민국"

byte_403020 = "여름"







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

ASM to C with IDA - 053  (0) 2018.07.12
ASM to C with IDA - 052 (strcpy)  (0) 2018.07.11
ASM to C with IDA - 050  (0) 2018.07.11
ASM to C with IDA - 049  (0) 2018.07.10
ASM to C with IDA - 048  (0) 2018.07.10