2008년 07월 09일
리버스 엔지니어링
네이버 찾아 보니 아래와 같이 되어 있네요.
소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일을 말한다. 이것은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부이다.
어떤 역할을 하는 알고리즘인지는 알지만 그 알고리즘에 대해 그다지 공부해 본 적이 없어서 상세하게 모르는 알고리즘을 리버스 엔지니어링 하고 있는데 죽음이군요. 알고리즘 자체에 문제가 발견되서 남이 짜둔 알고리즘을 분석하는데, 며칠 고민하다가 결국 수식을 세워서 일일이 숫자 봐가면서 했습니다. 간만에 나오는 음수나 분수 지수. 자연 로그 계산 등등을 하더군요. 상당부분을 빼 먹고 수식을 세웠는데 글자를 좀 크게 쓰긴 했지만 A4 한페이지가 나옵니다. 간만에 산수가 아니라 수학을 하려니 숫자 변환 레인지가 감이 잘 안 잡힙니다. 그러다가 결국 더 깊이 들어가야 하는것을 알고는 일단 좀 쉬운 다른 일들 부터 하기로 결정했습니다;
리버스 엔지니어링을 통해 코드로 되어 있는 것을 원래의 알고리즘을 분석해서 다시 개보수 하는건 쉽지 않습니다. 특히나 일반적인 것이 아니라 저런 복잡한 수학 계산(전 분수 지수랑 로그 들어간 데서 이미 힘듭니다;)이 들어간 알고리즘의 경우는 왜 이런 형태로 만들었는지는 정말 알기 어렵죠;
아우 며칠간 머리 싸메고 한 결과가 별로라서 우울하군요.
소프트웨어 공학의 한 분야로, 이미 만들어진 시스템을 역으로 추적하여 처음의 문서나 설계기법 등의 자료를 얻어 내는 일을 말한다. 이것은 시스템을 이해하여 적절히 변경하는 소프트웨어 유지보수 과정의 일부이다.
어떤 역할을 하는 알고리즘인지는 알지만 그 알고리즘에 대해 그다지 공부해 본 적이 없어서 상세하게 모르는 알고리즘을 리버스 엔지니어링 하고 있는데 죽음이군요. 알고리즘 자체에 문제가 발견되서 남이 짜둔 알고리즘을 분석하는데, 며칠 고민하다가 결국 수식을 세워서 일일이 숫자 봐가면서 했습니다. 간만에 나오는 음수나 분수 지수. 자연 로그 계산 등등을 하더군요. 상당부분을 빼 먹고 수식을 세웠는데 글자를 좀 크게 쓰긴 했지만 A4 한페이지가 나옵니다. 간만에 산수가 아니라 수학을 하려니 숫자 변환 레인지가 감이 잘 안 잡힙니다. 그러다가 결국 더 깊이 들어가야 하는것을 알고는 일단 좀 쉬운 다른 일들 부터 하기로 결정했습니다;
리버스 엔지니어링을 통해 코드로 되어 있는 것을 원래의 알고리즘을 분석해서 다시 개보수 하는건 쉽지 않습니다. 특히나 일반적인 것이 아니라 저런 복잡한 수학 계산(전 분수 지수랑 로그 들어간 데서 이미 힘듭니다;)이 들어간 알고리즘의 경우는 왜 이런 형태로 만들었는지는 정말 알기 어렵죠;
아우 며칠간 머리 싸메고 한 결과가 별로라서 우울하군요.
이 글과 관련있는 글을 자동검색한 결과입니다 [?]
- about [Reverse engineering] by HaeDong™
- [BookLog] 유지보수에서 가장 어려운 작업은 기존 시스템을 이해하는 것 by 시즈하
- 프로세스 메모리 읽어내기.. by 미친병아리
- 리버스 엔지니어링 by inbyungun
- [BookLog] 유지보수 - from. 소프트웨어 컨플릭트 2.0 by 시즈하
# by | 2008/07/09 11:35 | 트랙백 | 덧글(0)









☞ 내 이글루에 이 글과 관련된 글 쓰기 (트랙백 보내기) [도움말]