C300_013
C300_소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 | #include <stdio.h> #define HUNDRED_THOUSAND 100000L const int j = 200000UL; main() { //HUNDRED_THOUSAND = 100000; // 에러 발생 //j = 200000; // 에러 발생 printf( "정수형 상수 HUNDRED_THOUSAND의 값은 %d \n", HUNDRED_THOUSAND ); printf( "정수형 상수 j의 값은 %d \n", j ); } | cs |
IDA - Layout Graph
IDA - Text View
0x30D40 = 2000000이다.
.rdata는 const type이기 때문에 const int j = 2000000;으로 선언되어 있었음을 예상해 볼 수 있다.
L - long type
UL - unsigned long type
pseudo code - 의사코드
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> #define temp 1000000; main() { printf(_Format, 1000000); eax = j; printf(byte_40304C, eax); eax=0; } | cs |
pseudo code - 최종 의사 코드
1 2 3 4 5 6 7 8 9 10 11 12 | #include <stdio.h> #define temp 1000000; const j = 2000000; main() { printf(_Format, 1000000); printf(byte_40304C, j); } | cs |
'Reversing > ASM to C' 카테고리의 다른 글
ASM to C with IDA - 015 (0) | 2018.05.28 |
---|---|
ASM to C with IDA - 014(??) (0) | 2018.05.28 |
ASM to C with IDA - 012 (0) | 2018.05.27 |
ASM to C with IDA - 011 (0) | 2018.05.27 |
ASM to C with IDA - 010(??) (0) | 2018.05.26 |