이거 몇 년 전에 갤에 썼던 팁인데,

새내기들이 많으니 재탕 할게요.


software engineering 에 보면

black box 분석과 white box 분석이 나옵니다.


소스코드를 본다든지, disassemble, de-compile 해보는 행위들은 화이트분석에 해당하죠.

반면 black box 분석은, 간단한 입출력만 체크해서 내용물을 확인하는 방법인데요.


강타입 언어인 C 는 약간 white 적인 요소가 있고

duck-typing 인 python 은 약간 black 적인 요소가 있다고 볼 수 있죠.

코드 작성자의 의도를 파악하는것에 있어서 말이죠.


본론으로 돌아가서,

우리는 외부 프로그램간에 파라메터로 통신하는 많은 예들을 찾아볼 수 있습니다.

이를테면 Visual Studio 같은 IDE 에서 컴파일러/링커 에 파라메터를 전달하는 과정 같은거죠.

그 외에도 기능이 실행파일 단위로 세분화된 모든류의 제품에 적용할 수 있는데요.


먼저 arg_dump.exe 를 앞서 작성한 친구처럼 argument print 기능을 넣어서 만듭니다.

그 이름을 gcc.exe bcc.exe 등 파라메터를 훔칠 대상 실행파일명으로 바꾸죠.

( 원래의 실행파일은 gcc.exe_ 처럼 이름을 바꿔서 보존해 둡니다. 다른폴더로 이동해두어도 좋습니다 )

그리고 ide 같은데서 빌드 명령을 내려보면, 세세한 파라메터들을 다 훔칠수 있습니다.


그 처리 결과 역시 원래의 실행파일에서 베껴서 전달하게 하면,

visual studio 의 IDE 가 내 컴파일러를 구동하게 할 수도 있고,

내 IDE 가 visual studio 의 컴파일러를 구동하게 할 수도 있죠.


이것이 응용!

길게 쓰기 귀찮으니 요까이!