본문 바로가기

전체 글

IDocHostUIHandlerDispatch IDocHostUIHandlerDispatch 윈도우에 호스팅된 IE 컨트롤을 사용시 기본적으로 스크롤바가 생성되게 된다. 이 스크롤바를 없애기 위해서 IDocHostUIHandler::GetHostInfo() 를 호출하면 되는데 DOCHOSTUIINFO::dwFlags에 DOCHOSTUIFLAG_SCROLL_NO를 넣어주게 되면 스크롤이 생성되지 않게 된다. 아래는 샘플 코드이다. HWND window = NULL; IWebBrowser2* browser = NULL; IUnknown* unkContainer = NULL; window = CreateWindowEx(0, szWindowClass, _T("ie contrl window"), WS_VISIBLE | WS_CHILD, rt.left, rt... 더보기
ATL 컨트롤 포함 FAQ(질문과 대답) 이 단원에서는 ATL 컨트롤 호스팅과 관련된 질문에 대해 설명합니다. 참고 Visual C++ .NET에서 "AtlAxWin" 창 클래스의 이름은 "AtlAxWin7"로 변경되었습니다. Visual C++ 6.0과 함께 제공되며 현재 system.dll인 atl.dll에서 호스팅 코드를 사용하는 경우에는 "AtlAxWin"을 사용할 수 있습니다. 클래스와 API ActiveX 컨트롤 포함을 용이하게 해주는 ATL 클래스는 무엇입니까? ATL 컨트롤 호스팅 API는 무엇입니까? AtlAxWin7은 무엇입니까? 컨트롤 만들기와 로드 컨트롤 인스턴스를 만드는 방법은 무엇입니까? 런타임에 지정된 컨트롤을 로드하는 방법은 무엇입니까? 대화 상자 리소스에 지정된 컨트롤을 로드하는 방법은 무엇입니까? 라이센스가 있는.. 더보기
Gdiplus 객체를 new로 생성할 경우 에러 처리 MFC에서 Gdiplus를 사용할때 Gdiplus object를 new로 생성할 경우 C2660 에러가 발생함 이는 디버그시 전처리기에서 new 연산자를 재정의 해서 발생되는 문제입니다. 그러므로 전처리기의 재정의를 삭제할 경우 에러가 발생하지 않는다. #ifdef _DEBUG #define new DEBUG_NEW #endif 위의 정의문을 삭제하거나 또는 헤더파일을 수정하여 추가된 파라미터를 무시하도록 재정의 하는 방법입니다. //// Ensure that GdiPlus header files work properly with MFC DEBUG_NEW and STL header files. #define iterator _iterator #ifdef _DEBUG namespace Gdiplus { n.. 더보기
[Pipa in Cinema] - Jiang Ting(장팅) 중국출신으로 현재 일본과 유럽에서 활발한 음악 활동을 펼치고 있는 세계최고의 비파 연주가인 은 7세부터 비파를 연주하기 시작해 그 재능을 인정 받아 최고 음악학교인 북경의 중앙음악학원 부속 초등학교에서부터 영재 교육을 받은 천재 뮤지션이다. 1992년 최고권위의 중앙음악학교를 수석 졸업한 이후, 1995년에는 중국 국제 민족 기악 콩쿠르에서 우수 연주자상을, 1996년에는 전 중국 최고권위의 콩쿠르에서 최우수상을 수상하면서 명실공히 10억분의 1이라는 별명을 얻으며 그 실력을 인정 받는다. 그 이후 일본으로 음악 활동 영역을 넓히는 은 1999년 비파와 오케스트라 협주곡의 솔리스트로 활동, NHK-BS2 음악, 연주 담당, 수 차례의 독주회와 협연, 공연, 방송, 음반 활동을 하며 재능을 펼쳐 보이고 있다. 더보기
SSDT Hook [windows inside] SSDT Hook 과정- 정리 * 다음 사이트의 내용을 정리한 것입니다. http://beist.org/research/research1.html http://somma.egloos.com/2731001 //======================================================================================= // 참고 - SSDT(System Service Descriptor Table) = KeServiceDescriptorTable:: KiServiceTable - Native API = System Service (Dispatcher) * DKOM= Direct Kernel Object Manipulation Ob.. 더보기
Reverse Engineering의 기초 어셈블리어 Reverse Engineering의 기초 어셈블리어 *명령문 Push: 스택에 데이터를 저장하는데 쓰인다. Pop: 스택에서 데이터를 꺼내는데 쓰인다. Mov: 메모리나 레지스터의 값을 옮길떄[로 만들떄] 쓰인다. Lea: 오퍼렌드1의 값을 오퍼렌드2의 값으로 만들어준다. Inc: 레지스터의 값을 1증가 시킨다. Dec: 레지스터의 값을 1 감소 시킨다. Add: 레지스터나 메모리의 값을 덧셈할떄 쓰임. Sub: 레지스터나 메모리의 값을 뻇셈할떄 쓰임. Nop: 아무동작도 하지 않는다. Call: 프로시저를 호출할떄 쓰인다. ex:) Call 401F47 :메모리 오프셋 401F47을 콜한다. ex:) Call dword ptr[401F47] :401F47안에 있는 주소로 점프 한다. Ret: 콜한 지.. 더보기
함수 객체를 사용한 map 정렬 class string_compare { public: string_compare (cmp_mode m = normal) : mode(m) { } bool operator() (const tstring& s1, const tstring& s2) const { if (mode == normal) { return s1 더보기
Detect or crash a particular version of SoftICE Know your Enemy: Tracking Botnets - Source Code What techniques bots use Honeynet Project http://www.honeynet.org Last Modified: 17 February, 2005 In this side note, we take a closer look at the source code of some bots. We demonstrate several examples of techniques used by current bots to either speed-up computations or to detect suspicious environments, such as detection of debuggers or virtua.. 더보기