Computer/Programming
-
Visual C++ Compiler Generated FunctionsComputer/Programming 2008. 10. 7. 21:51
Visual C++ Compiler generates the following functions. Decorated Name Undecorated Name Meaning ?0 constructor ?1 destructor ?2 operator new ?3 operator delete ?4 operator = ?5 operator >> ?6 operator * ?K operator / ?L operator % ?M operator = ?Q operator , ?R operator () ?S operator ~ ?T operator ^ ?U operator | ?V operator && ?W operator || ?X operator *= ?Y operator += ?Z operator -= ?_0 oper..
-
Building eMule 0.47c with Visual Studio .NET 2003Computer/Programming 2008. 10. 3. 22:05
eMule 바이너리를 비교할 때 pdb 파일을 이용하기 위하여 eMule 0.47c를 build 해야 했다. 여러 번의 시행착오 끝에 겨우 성공하면서 많은 것을 배웠다. 먼저 eMule 소스 디렉토리의 readme 를 읽어 보면 1. Crypto++ v5.1 @ http://www.cryptopp.com/ 2. zlib v1.2.2 @ http://www.gzip.org/zlib/ 3. id3lib v3.8.3 @ http://sourceforge.net/projects/id3lib/ 4. (for MobileMule only!) DirectX SDK pnglib: @ http://www.libpng.org/pub/png/libpng.html 5. ResizableLib 1.3 @ http://sourc..
-
A Simple Python Wrapper to Undecorate Visual Studio Linker Symbol NamesComputer/Programming 2008. 9. 24. 17:30
While writing a Windows binary program analyzer, I needed a name unmangler which returns a function name and its namespace. Since I am writing the program analyzer with Python and C++, I first tried to find a python name unmangler. But so far, there is no python unmangler. There was a discussion about the need of the python unmangler script at OpenRCE. Anyway, I planed to write a C function that..
-
Elsa - C++ Parser makeComputer/Programming 2008. 9. 18. 16:23
Elsa is downloaded from http://www.cs.berkeley.edu/~smcpeak/elkhound/sources/elsa/ . Cygwin was installed before. Flex 2.5.35 is installed via cygwin setup program. I met a few problems while building the elsa package. The first problem was a sort of preprocessor syntax error. I found the following code snippet. /* The contents of this function are C++ specific, so the () macro is not used. The ..
-
Visual Studio 2005에서 Library 겹쳐서 에러 나올 때 대처 방법Computer/Programming 2008. 9. 9. 00:03
VS98 프로젝트를 이용하는 다른 라이브러리 등을 링크하다 보면 링크 에러가 무수히 나오는데, 이 때 할 수 있는 방법이 링커 옵션에 /NODEFAULTLIB:"libcmt.lib" 과 같은 것을 추가해 주는 것이다. Project - Property - Configuration - Properties - Linker - Input - Ignore Specific Library 에 가서 겹치는 library들을 추가해 준다. 또는Command Line (명령줄) 에다가 /nodefaultlib:"libcmt.lib"과 같은 것을 추가하면 된다.
-
Win32 API List from MSDNComputer/Programming 2008. 8. 29. 15:04
MSDN Windows API Reference에서 추출하였다. http://msdn.microsoft.com/en-us/library/aa383749(VS.85).aspx Win32 API List - Alphabetical Order Win32 API List - By Category Alphabetical Order는 간단한 스크립트로 긁을 수 있다. 그러나 Category는 web page가 균일하지 않기 때문에 일부는 수동으로 했다. 다음은 긁는데 사용했던 프로그램 from urllib import urlopen import re webpage = urlopen('http://msdn.microsoft.com/en-us/library/aa383686(VS.85).aspx') text = webp..
-
Comments on Free Linear Assignment Problem SolversComputer/Programming 2008. 6. 15. 00:22
실험 과정에서 Maximum Weight Bipartartite Matching 을 할 필요가 있었다. 이것은 OR에서 Linear Assignment Problem (LAP) 이라고 부른다. 이 과정에서 처음 알게 된 방식이 Kuhn의 Hungarian Method [Kuhn1955] 이다. Hungarian Method는 처음으로 polynomial time에 LAP를 해결 이 알고리즘은 Munkress에 의해 개선되었고 Lawler의 구현에서는 O(n^3) 알고리즘으로 개선되었다. (n은 node 개수, m은 edge 개수) 현재 실험에서 다루고 있는 문제 (n=10^3~10^4, m = n^2) 를 Hungarian Method로 실험해 보면 시간이 정말 오래 걸려서 끝나지 않는다. :) 현재 L..
-
IDAPro plugin 자동 실행Computer/Programming 2008. 4. 22. 16:15
IDAPro의 분석 및 실행을 동시에 하고 싶을 때 idag -A -Smyscript.idc input_file 을 해 주면 되고 myscript.idc에는 #include static main() { Message("Waiting for the end of the auto analysis...\n"); Wait(); Message("\n\n------ Running Plug-in --------\n"); RunPlugin("IDA2SQL",1); Message("All done, exiting...\n"); Exit(0); // exit to OS, error code 0 - success } Wait()는 autoanalysis가 끝날 때까지 기다리게 한다. RunPlugin으로 plugin을 실행해..