C300_023
C300_소스코드
1 2 3 4 5 6 7 8 9 10 11 | #include <stdio.h> main() { int x = 1; int y = 2; int max; max = x > y ? x : y; } | cs |
IDA - Layout Graph
IDA - Text View
삼항 연산자와, if~else문은 똑같은 형식을 가지고 있다. 즉, user가 소스를 작성할 때는 다르지만 컴파일하면 같은 코드가 나온다.
var_C는 조건문 내에서 변수를 저장하기 위해 내부적으로 생긴다.
pseudo code - 의사 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 | #include <stdio.h> main() { int x; int y; int var_C; int max; x = 1; y = 2; eax = x; if(eax <= y) edx = y var_C = edx; else ecx = x; var_C = ecx; eax = var_C; max = eax; eax =0; } | cs |
pseudo code - 최종 의사 코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 | #include <stdio.h> main() { int x; int y; int var_C; int max; x = 1; y = 2; eax = x; if(x > y) var_C = x; else var_C = y; max = y; } | cs |
'Reversing > ASM to C' 카테고리의 다른 글
ASM to C with IDA - 025 (0) | 2018.05.31 |
---|---|
ASM to C with IDA - 024 (0) | 2018.05.31 |
ASM to C with IDA - 022 (0) | 2018.05.30 |
ASM to C with IDA - 021 (0) | 2018.05.30 |
ASM to C with IDA - 020 (0) | 2018.05.30 |