리버스 엔지니어링

네이버 찾아 보니 아래와 같이 되어 있네요.

소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일을 말한다. 이것은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부이다.


어떤 역할을 하는 알고리즘인지는 알지만 그 알고리즘에 대해 그다지 공부해 본 적이 없어서 상세하게 모르는 알고리즘을 리버스 엔지니어링 하고 있는데 죽음이군요. 알고리즘 자체에 문제가 발견되서 남이 짜둔 알고리즘을 분석하는데, 며칠 고민하다가 결국 수식을 세워서 일일이 숫자 봐가면서 했습니다. 간만에 나오는 음수나 분수 지수. 자연 로그 계산 등등을 하더군요. 상당부분을 빼 먹고 수식을 세웠는데 글자를 좀 크게 쓰긴 했지만 A4 한페이지가 나옵니다. 간만에 산수가 아니라 수학을 하려니 숫자 변환 레인지가 감이 잘 안 잡힙니다. 그러다가 결국 더 깊이 들어가야 하는것을 알고는 일단 좀 쉬운 다른 일들 부터 하기로 결정했습니다;

리버스 엔지니어링을 통해 코드로 되어 있는 것을 원래의 알고리즘을 분석해서 다시 개보수 하는건 쉽지 않습니다. 특히나 일반적인 것이 아니라 저런 복잡한 수학 계산(전 분수 지수랑 로그 들어간 데서 이미 힘듭니다;)이 들어간 알고리즘의 경우는 왜 이런 형태로 만들었는지는 정말 알기 어렵죠;

아우 며칠간 머리 싸메고 한 결과가 별로라서 우울하군요.

by Lohengrin | 2008/07/09 11:35 | 트랙백 | 덧글(0)

트랙백 주소 : http://lohengrin.egloos.com/tb/1780929
☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]

:         :

:

비공개 덧글

 

◀ 이전 페이지다음 페이지 ▶