C300_061
C300_소스코드
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 | #include <stdio.h> #include <string.h> void main(void) { char *string = "this is a very good !"; char *strCharSet = "abcdefghijklmnopqrstuvwxyz "; unsigned int pos; pos = strspn(string, strCharSet); puts("0 1 2 3"); puts("0123456789012345678901234567890"); puts(string); puts(strCharSet); printf("%d 위치에서 일치되지 않는 첫 문자를 발견하였습니다. \n", pos); } | cs |
IDA - Layout Graph
IDA - Text View
strspn: size_t strspn (const char *str1, const char *str2);
str1의 문자열에서 str2의 문자들을 포함하고 있는 str1의 길이를 구한다.
즉, 일치하지 않는 문자열을 찾을 때 주로 사용된다.
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 29 30 31 32 | #include <stdio.h> void main(void) { char *string; char *strCharSet; int pos; string = aThisIsAVeryGoo; strCharSet = aAbcdefghijklmn; eax = strCharSet; ecx = string; strspn(ecx, eax); pos = eax; puts(Str) puts(a01234567890123); edx = string; puts(edx); eax = strCharSet; puts(eax); ecx = pos; printf(_Format, ecx); 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 23 24 25 26 | #include <stdio.h> void main(void) { char *string; char *strCharSet; int pos; string = aThisIsAVeryGoo; strCharSet = aAbcdefghijklmn; pos = strspn(string, strCharSet); puts(Str) puts(a01234567890123); puts(string); puts(strCharSet); printf(_Format, pos); return 0; } | cs |
'Reversing > ASM to C' 카테고리의 다른 글
ASM to C with IDA - 063 (strpbrk) (0) | 2018.07.18 |
---|---|
ASM to C with IDA - 062 (strtok) (0) | 2018.07.18 |
ASM to C with IDA - 060 (strcspn) (0) | 2018.07.17 |
ASM to C with IDA - 059 (strchr) (0) | 2018.07.17 |
ASM to C with IDA - 058 (strstr) (0) | 2018.07.16 |