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 |