strchr() 의 사용 법
하지만 이를 해결 하는 정형화된 방법이 있다. 바로 strchar 를 이용한 방법이다.
아래 예제코드로 한번해 이해하자.
char *strbetween(char *srcString,char startChar ,char endChar){
char *ptr1=NULL;
char *ptr2=NULL;
memcpy(ptr1,srcString,strlen(srcString));
ptr1=strchr(srcString,startChar+1);
ptr2=strchr(ptr1,endChar);
if(ptr1 && ptr2){
strtok(ptr1,ptr2);
}else{
ptr1=NULL;
}
return ptr1;
}
간단하게 짜본 코드인데, 사이값을 반환해주는 함수이게되는데 strchr는 그값의 포인터를 반환해 줌으로써 가능해 지게 된다.
이 코드는 주로 ptr1 ptr2 차이 값을 가지고 판단하는 코드와 따라 다니는 경향이 있는것 같다.
분석할 때 if 문내에 이런점을 주의깊게 보자!
'ARM & 펌웨어 분석' 카테고리의 다른 글
ARM core execve("/bin/sh") shellocde (0) | 2012.11.12 |
---|---|
qemu for window 에서 포트포워딩 하여 내부에 접속하기 (How to networking in qemu) (0) | 2012.11.12 |
LOWORD , HIWORD, LOBYTE, HIBYTE 메크로. (0) | 2012.11.06 |
ICV 란? (what is Integrity Check Value?) (0) | 2012.11.06 |
IOCTL 함수와 이해 (understanding for IOCTL function) (0) | 2012.11.06 |