본문으로 바로가기

ASM to C with IDA - 040

category Reversing/ASM to C 2018. 7. 6. 11:16

C300_040



C300_소스코드



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h> 
 
enum { Sun = 0, Mon, Tue, Wed, Thr, Fri, Sat };
 
main()
{
    printf("%d ", Sun);    // 0
    printf("%d ", Mon);    // 1
    printf("%d ", Tue);    // 2
    printf("%d ", Wed);    // 3
    printf("%d ", Thr);    // 4
    printf("%d ", Fri);    // 5                                
    printf("%d ", Sat);    // 6
}
 
cs



IDA - Layout Graph





IDA - Text View





pseudo code - 최종 의사코드



1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
#include <stdio.h> 
 
main()
{
    printf(_Format, 0);
    printf(aD, 1);
    printf(ad_0, 2);    
    printf(ad_1, 3);
    printf(ad_2, 4);            
    printf(ad_3, 5);    
    printf(ad_4, 6);                
 
    return 0;    
}
 
cs



본 소스코드는  enum을 사용했는데 enum의 대한 정보(Sun, Mon, Tue, Wed, Thr, Fri, Sat)는 assembly로 나오지 않는다.

필자의 생각은 enum이 변수를 생성하는것보다 정의하는것이기 때문에 assembly 단에서 보이지 않는것 같다.


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

ASM to C with IDA - 042  (0) 2018.07.08
ASM to C with IDA - 041  (0) 2018.07.08
ASM to C with IDA - 039  (2) 2018.07.06
ASM to C with IDA - 038  (0) 2018.07.06
ASM to C with IDA - 037  (0) 2018.07.05