C300_033
C300_소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 | #include <stdio.h> #define ASCII_BEGIN 0 #define ASCII_END 255 main() { int i; for (i = ASCII_BEGIN; i <= ASCII_END; i++) { printf("ASCII 코드 (%3d), 문자 = '%c' \n", i, i); } } | cs |
IDA - Layout Graph
IDA - Text View
본 소스를 보면 매크로 함수가 사용되었지만, disassembly 단에서는 찾아볼 수 없다.
왜냐하면 매크로함수는 C 컴파일 과정 중 전처리 단계에서 먼저 처리되기 때문에,
우리가 보는 assembly 단에서는 찾아볼 수 없고, 처리된 후, 각 숫자만 보일 뿐이다.
pseudo code - 의사코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 | #include <stdio.h> main() { int i; i=0; for(int i=0; i<255; i++){ ecx = i; edx = i; printf(_Format, edx, ecx); } eax = 0 ; } | cs |
pseudo code - 최종 의사코드
1 2 3 4 5 6 7 8 9 10 11 12 13 | #include <stdio.h> main() { int i; i=0; for(int i=0; i<255; i++){ printf(_Format, i, i); } return 0; } | cs |
'Reversing > ASM to C' 카테고리의 다른 글
ASM to C with IDA - 035 (0) | 2018.07.05 |
---|---|
ASM to C with IDA - 034 (0) | 2018.07.04 |
ASM to C with IDA- 032 (0) | 2018.07.04 |
ASM to C with IDA - 031 (0) | 2018.07.03 |
ASM to C with IDA - 030 (0) | 2018.07.03 |