'Auditing'에 해당되는 글 3건

  1. 2008.02.18 강좌를 시작합니다.
  2. 2008.01.30 매크로.. 매크로..
  3. 2007.12.05 새로운 제품 기획
제가 그나마 자신있는 분야 중 하나인 프로토콜 제작, 파싱, 오디팅 등을 소재로 강좌를 시작하고자 합니다.

집사람의 열렬한 응원에 힘입어 데브피아 강좌란에 처음으로 자료를 올리게 되는 것 같네요 ㅋ


자, 마무리 하는 그날까지 화이링~
Posted by hopi
,

일단 이 바보같은 생각은 SQL 쿼리 문장에서는 Alias가 동작을 하는데 C 프로그래밍에서도 그렇게 해 보믄 좋지 않을까 라는 생각에서 시작되었다.
풀어서 쓰면 좀 뭔가 있어 보이긴 하는데 실제로는 타이핑을 치키가 귀찮아서, 혹은 copy & paste가 귀찮아서 우리의 까막군을 닥달하여 알아 낸 내용이다.

예를 들자면 다음과 같다.

memcpy(buff, &pCompletePacket->data[jmpoffset], arglen);

위와 같은 구절에서 &pCompletePacket->data[jmpoffset] 라는 항목을 계속해서 써야 하는데 이것을 치키가 귀찮아서 특정한 구절로 대체 해 버리고 싶을 경우에는 다음과 하면 된다.

#define  _HOPI_DTEST_ pCompletePacket->data[jmpoffset]

그리고 실제 코드는 이렇게 변경하면 된다.

memcpy(buff, &_HOPI_DTEST_, arglen);

어쨌건 타이핑을 하는 것이 줄어들었다.

대신에 이 방법을 사용하려면 반드시 해당 내용에 대한 주석문을 철저하게 달아놓아야 따로 코드를 보는 사람이 있을 경우 쓰바쓰바 욕을 하지 않게 만들 수 있을 것이라 할 수 있다.

응용버젼이다.

#define AAA(x) pCompletePacket->data[x]

대충 이해가 가지 않는가? 위에서 나온 jmpoffset이라는 변수를 변경해 가면서 사용할 수 있다.
즉 AAA(1) 하면 끝날 수 있을 듯..

마지막 응용이다.

#define AAA(param) pCompletePacket->##param[jmpoffset]

이렇게 할 경우에는 대충 이해가 가지 않는가? 내용을 넣게 되면 그 내용이 그대로 전달되게 된다.


뒷걸음질 치다가 땅에 떨어져 있는 돈뭉치 하나 건진 기분이다. 으흐흐

Posted by hopi
,

향후 6개월 안에 새로운 제품의 개발 기획에 있습니다.

첫 번째 제품은 MAIL 감사 솔루션입니다. 기존에 있는 제품과의 차별성이라면 MAPI 프로토콜을 지원한다는 것입니다.
MAPI (Messaging API)는 Microsoft의 Exchange Server가 사용하는 별도 API 이며 이것을 Reverse Engineering 한 데이터를 통하여 감사 솔루션을 제작하게 됩니다.
정확한 개발 시기나 인력투입, 개발 기간 등이 정해지지 않은 상태여서 어떻게 진행될 수 알 수가 없으나 메리트가 있는 제품임에는 틀림없습니다.

두 번째 제품은 윈도우즈 서버 감사 제품입니다.
이 제품은 윈도우 서버에 접근하는 사용자들이 행하는 것에 대한 추적을 통하여 추후 감사를 할 수 있는 데이터를 보관하는 것을 주요 목적으로 합니다.
단 이것에 대한 방식 문제가 결정이 되지 않았는데요, 아마도 텍스트 베이스로는 기본적인 제품이 될 것 같고, 가능하다면 Terminal Server로 들어오는 사람들에 대한 동영상 기록 등을 남길 수도 있을 것 같습니다.

현재 두 제품 다 정확히 정해 진 기간이 없기 때문에 만약 수요가 있다면 급작스런 개발을 감행할 순있어도 현재로써는 산재되어져 있는 내부 프로젝트를 정리하는 데 조금 더 힘을 쏟아야 할 것 같습니다.

From Hopi

Posted by hopi
,