본문 바로가기

망각

IDeskBand 구현시 IInputObject 인터페이스 의문점 데스크밴드를 구현중에 사용자 입력을 받기 위해 IInputObject 인터페이스를 함께 구현하였고, 이와 관련하여 문제가 있어 며칠동안 테스트와 검색으로 삽질을 했다. MSDN포럼에도 글을 올려보았지만 스스로 내용정리도 안되었고 허접한 영어실력 때문인지 3일이 지난 지금까지 리플을 달리지 않고 있다. 아무튼 블로그 개장 기념으로 글 하나는 올려야 될 것 같아. 좀 더(한글로-ㅅ-) 정리를 해보자 한다. 여기서 내가 말하는 데스크밴드는 태스크바(작업표시줄)에 표시되는 빠른실행과 알송리모컨같은 밴드를 말하고, IInputObject 인터페이스의 메서드는 다음과 같다. HasFocusIO Determines if one of the object's windows has the keyboard focus. Tr.. 더보기
디버깅중 API 에러 코드 확인법 디버깅 왓치에서 $err,hr p.36, Windows via c/c++ 번역서 더보기
<iframe> 에서 스크롤바 위치 적용 /* var scrollTop = document.body.scrollTop; if (scrollTop == 0) { if (window.pageYOffset) scrollTop = window.pageYOffset; else scrollTop = (document.body.parentElement) ? document.body.parentElement.scrollTop : 0; } div.style.position = 'absolute'; div.style.left = event.clientX; div.style.top = event.clientY + scrollTop; div.style.display = 'block'; */ 더보기
TCP 패킷 조작 TCP 패킷 조작 네이트온 채팅 메시지를 조작하려면, 네이트온 패킷 통신에서 살펴본 채팅 패킷 태그와 속성, 채팅 글을 변경하면 된다. (물론 암호화돼있다면 GG) 네이트온이 TCP 프로토콜을 사용하기 때문에 TCP 데이터 부분만 변경한다고 조작한 패킷이 서버에 도착해 받아들여지는 것이 아니다. 서버는 도착한 TCP 데이터에 대해 TCH 헤더에 있는 checksum(검사합)으로 패킷의 훼손 유무를 판단한다. 중간에 조작된 TCP 데이터는 처음에 송신지에서 계산된 체크섬으로는 서버에서 훼손됐다 판단해 받아들여지지 않는다. 그렇기 때문에 중간에 패킷(데이터와 헤더 어느것이건)를 조작하면, 조작된 패킷으로 다시 검사합을 계산하고 헤더에 넣어줘야 한다. TCP 데이터 조작시, 데이터의 길이가 달라지면, IP 헤.. 더보기
네이트온 패킷 통신 네이트온 패킷 통신 네이트온은 TCP 프로토콜을 사용하며, 어플리케이션 데이터는 기본적으로 텍스트 기반이다. 예를 들어, 네이트온 클라이언트와 서버의 핑퐁 데이터 역시 텍스트이다. 네이트온 클라이언트는 주기적으로 서버에 핑을 보내고 응답을 받아 접속 상태를 확인한다. 클라이언트 -> 'PING 31' -> 서버 클라이언트는 서버게에게 'PING 31'이라는 문자열로 핑 메시지를 보낸다. 서버 -> 'PING 0' -> 클라이언트 서버는 클라이언트의 핑 패킷을 받고 'PING 0' 값으로 확인 패킷을 보낸다. 여기서 실제 TCP 데이터는 'PING 0\r\n' 이다. 모든 네이트온 패킷(TCP 데이터)은 '\r\n' '0x0D 0x0A' 로 끝난다. 기타 네이트온 패킷 태크들 'ALRM 0 MAIL ..... 더보기
포인터 변수에 const 사용 * 앞 부분에 const 사용 const int * p = new int (3); //또는 int const * p = new int (3); *p = 3 // invalid - 값 변경 불가 int * t = p // invalid - const가 아닌 포인터에 대입 불가 * 뒷 부분에 const 사용 int * const p = new int (3); *p = 3 // valid - 값 변경 가능 p = new int (5); // valid - 처음 할당된 포인터값(주소) 변경 불가 더보기
LAN 안의 노드들 MAC 알아내기 # LAN 안의 노드들 MAC 알아내기 >xxx.xxx.xxx.1~255 ARP 요청을 보내면 arp table 갱신되고('arp -a'로 확인가능) >arp 응답을 받아 각 IP의 MAC 주소를 알 수 있다. 더보기
ARP 스푸핑 및 IP 하이재킹 출처: http://blog.naver.com/zsup1343/60003960931 ARP 스푸핑 및 IP 하이재킹 (Black Box Issue #13) 『Spoofing』 2004/07/11 21:33 http://blog.naver.com/zsup1343/60003960931 ############################################################## * Mr8 >WowCode && OverHead Member At Wowhackerarp -a 당신이 swithched LAN 세그먼트내에서 연결하고 있는 IP 주소 및 MAC 주소 에 대해서 볼수 있게 됩니다. (리눅스 역시 동일합니다.) 여기를 보면 atp table이 보여집니다. C:\>arp -a Interf.. 더보기
[MAC] FF:FF:FF:FF:FF:FF mac 주소 [원문: http://lists.netfilter.org/pipermail/netfilter/2004-June/053777.html] FF:FF:FF:FF:FF:FF 는 이더넷 브로드캐스트 주소야. 이 MAC 에 연동되는 디바이스는 없다구. 여기에 연동되는 IP 주소는 IP 브로드캐스트 주소가 돼. 예: LAN 이 192.168.1.0/24 라고 가정하고 192.168.1.255로 패킷을보내면 FF:FF:FF:FF:FF:FF 로 프레임이 보내질 거야. [원문: http://lists.netfilter.org/pipermail/netfilter/2004-June/053777.html] Le jeu 24/06/2004 =E0 09:46, Joel Solanki a =E9crit : > ff:ff:ff:ff:.. 더보기
JNI 간단 메모 # c 스트링을 자바 스트링으로 변환 char [] test_str = "abc"; // C jstring java_string = (*env)->NewStringUTF(env, test_str); //C++ jstring java_string = env->NewStringUTF(test_str); # 자바 스트링에서 c 스트링으로 변환 char buf[128] const char * c_string = env->GetStringUTFChars(java_string, 0); // strcpy(buf, c_string ...) // ... env->ReleaseStringUTFChars(java_string, c_string); # C 배열 vs Java 배열 기본형 배열 // native 메서드 선언 p.. 더보기