Computer/Program Analysis
-
오픈 소스 소프트웨어에서의 재사용Computer/Program Analysis 2009. 6. 9. 21:07
Koders.com 포럼을 살펴보다가 오픈 소스 소프트웨어 프로젝트들에서는 다른 오픈 소스 코드를 얼마나 사용하고 있는지 조사한 내용을 발견하였다. http://forums.koders.com/viewtopic.php?f=7&t=23&sid=401efd9c9cf30ac46981c68197a6c25e http://www.blackducksoftware.com/news/releases/2009-03-30 Koders.com 을 운영하고 있는 BlackDuck software에서 1311개의 오픈 소스 소프트웨어 프로젝트들에 대해서 프로젝트의 각 파일이 다른 오픈 소스 소프트웨어에서 가져온 것인지 파일 단위로 비교하였다. (어떤 방법을 썼는지는 궁금하지만 자기들의 자동화된 도구와 포렌식 전문가들이 있다고 이야..
-
Malware Detection Techniques CategorizationComputer/Program Analysis 2008. 7. 28. 20:20
Malware Detection What is the Definition of Malware? - Rule-based -- Define Normal and deny others (overapproximation) -- Define Abnormal and detect abnormal (underapproximation) - Signature-based How to Get Properties? -- Dynamic -- Static -- Hybrid
-
Code Optimization of VC++ withComputer/Program Analysis 2008. 6. 26. 15:39
VC++ 컴파일러가 function call을 할 때 일반적으로는 call instruction을 사용하지만, call 이후에 바로 return하는 경우에는 jmp instruciton을 사용하여 optimize 한다. 그림에서 41BAFE로 call하는 부분과 jmp하는 부분이 있다. jmp로 가면 41BAFE 함수에서 return 하면 41B851을 호출한 함수로 바로 return 하게 된다. 생각해 보면 이런 optimize는 항상 할 수 있는 것은 아니고, 실제 code에서의 function이 아니라 function chunk에 대한 call을 할 때 가능해진다. 이것은 Java bytecode에서의 jsr instruction과 유사한 방식의 optimize를 할 때 사용하는 것 같다. stac..
-
Static vs. DynamicComputer/Program Analysis 2008. 5. 2. 11:13
Static vs. Dynamic • Static analysis: – Work done at compile-time – Characterizes all executions – Conservative: approximates concrete program states • Dynamic analysis: – Run-time overhead – Characterizes one or a few executions – Precise: knows the concrete program state – Can’t “look into the future” * unsound 한 analysis는 conservative하지 않은듯