TCP 패킷 체크섬(Checksum) C언어로 구현하기 /* written by kaspy (kaspyx@gmail.com)*/ 네트워크 소켓 프로그래밍에서 TCP 및 IP 등에서는 체크섬(checksum)을 통해서 패킷이 변조됬거나 손상됬는지 검사를 해주는 루틴이 있다. 저번장에 이어서, 이번에는 TCP 패킷 체크섬을 구하는 내용을 소개하겠다. 1. 체크섬(Checksum)을 구하는 함수 typedef unsigned char u_char;typedef short SHORT; unsigned short in_checksum(unsigned short *ptr,int nbytes) { register long sum; unsigned short oddbyte; register short answer; sum=0; while(nbytes>1) { sum+=*p.. 더보기 C Generic 함수구현 :: void 포인터와 함수 포인터 이야기 /* written by kaspy (kaspyx@gmail.com)*/ 이번 포스팅에서는 c언어의 Generic 함수 구현을 통해서 void 포인터와 함수 포인터가 왜사용되며 어떻게 사용되는지에 대해 다루어 보겠습니다. 설명하면서 다룬 예제코드는 첨부파일에서 참고 0. 데이터의 교환 아래와 같이 두개의 데이터형이 있다면 이를 서로 교환하기위해서는 int a = 1, b =2 ;int t; t = a;a = b;b = t; 와 같은 형태로 데이터를 바꿀수있으며 이를 함수로 표현하자면 void swap(int *a,int *b){ int t ; t = *a; *a = *b; *b = t;} a=2;b=3;swap(&a,&b); 와같이 구현하여 swap 함수를 구현할수있다. 그런데 여기서 a와 b가 int .. 더보기 안드로이드 apk 디컴파일(decompile) 하기 /* written by kaspy (kaspyx@gmail.com)*/ 안드로이드(android) 에서 사용되는 어플(apk)을 디컴파일(decompile) 하는 방법에 대해 다루어 보았습니다. 안드로이드의 실행파일은 자바로 컴파일 되며, apk 확장자로 압축되어 바이트 코드로 배포 되기 때문에 이를 디컴파일 할수 있습니다.기본 환경은 컴퓨터에 java가 설치되어 있어야 합니다. 안드로이드 어플은 설치를 통해서 사용되며, 설치 전에 apk 확장자 형태로 배포 됩니다. 우선 제가 쓰고있는 안드로이드 어플 중 임의의 apk를 가지고 디컴파일을 해보겠습니다. apk 파일을 내 컴퓨터의 임의의 디렉토리에 복사하고, 확장자만 zip형식으로 바꿔서 열면 압축된 내용과 형태를 아래와 같이 볼 수 있습니다. 첨부한 .. 더보기 이전 1 ··· 11 12 13 14 15 16 17 ··· 30 다음