C300_062
C300_소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 | #include <stdio.h> #include <string.h> #define TOKEN " " void main(void) { char string[100]; char *token; puts("문자열을 입력한 후 Enter키를 치세요 !"); gets(string); token = strtok(string, TOKEN); while (token != NULL) { puts(token); token = strtok(NULL, TOKEN); } } | cs |
IDA - Layout Graph
IDA - Text View
strtok 함수
strotk 함수는 문자열을 자르는 함수이다.
두 개의 인자 operand1, operand2를 전달한다.
operand2가 나올 때까지 operand1에서 검색을 하고 operand2가 나오면 잘라내는 함수이다.
operand1에 NULL을 넣으면 이전 strtok에서 처리했던 문자열을 가져와 처리한다.
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 26 27 28 | #include <stdio.h> void main(void) { char *token; char string[100]; puts(Str); eax = string; gets(eax); ecx = string; strtok(ecx, " "); token = eax; while(token != NULL) { edx = token; puts(edx); strtok(NULL, " "); token = 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 22 | #include <stdio.h> void main(void) { char *token; char string[100]; puts(Str); gets(string); token = strtok(string, " "); while(token != NULL) { puts(token); token = strtok(NULL, " "); } return 0; } | cs |
'Reversing > ASM to C' 카테고리의 다른 글
ASM to C with IDA - 064 (strset) (0) | 2018.07.18 |
---|---|
ASM to C with IDA - 063 (strpbrk) (0) | 2018.07.18 |
ASM to C with IDA - 061 (strspn) (0) | 2018.07.17 |
ASM to C with IDA - 060 (strcspn) (0) | 2018.07.17 |
ASM to C with IDA - 059 (strchr) (0) | 2018.07.17 |