Write a comment You do not have permission to access. Sign In?
리버스 엔지니어링 1장. 리버싱이란 무엇인가?
리버스 엔지니어링은 이미 만들어진 프로그램을 대상으로 좋은쪽으로는 유지,개발,보안에 사용되며 나쁜쪽으로는 크랙 및 기술을 빼오는데 사용됩니다. 리버스 엔지니어링은 약자로 리버싱이라고도 말하며 줄여서 RCE(리버스 코드 엔지니어링) 라고도 합니다.
리버스 엔지니어링은 C,JAVA,델파이,모바일 프로그램 등 컴퓨터에 해당되는것은 모두 리버스 엔지니어링을 할수 있다.
8우리가 흔히 사용하는 윈도우 정품인증,기업제품들의 크랙제품들은 모두 리버스 엔지니어링을 악용하여 만들어진 프로그램이다.
리버스 엔지니어링을 배우기 위해서는 어떤것을 배워야 쉬운가?
리버스 엔지니어링은 작성된 프로그램을 분해하는 작업이다. 흔히 컴퓨터를 조립하고 분해할때도 조립하는 방법을 알아야 하듯이
리버스 엔지니어링을 하기 위해선 해당 프로그램의 언어에 대한 지식이 있는게 좋다. 또한 역분석은 사람이 접하는 언어에 가깝기 보단 기계가 접하기 쉬운 어셈블리언어를 통해 이루어 지기 때문에 어셈블리언어에 대해 기초지식을 알아야 한다. 사실상 어셈블리언어를 배우는데 많은 분들이 힘들어 하지만 어셈블리언어를 배운다면 그 이후부터는 리버싱에 대한 재미를 느낄수 있다. 어셈블리언어 중에서도 ia-32를 공부하시면 됩니다.
왜 다들 올리디버거를 선택하는가? 또한 올리디버거는 무엇인가?
올리디버거는 가장 사람이 분석하기 편하게 제작되어있는 디버거 툴입니다. 다른 디버거와는 달리 올리디버거는 올리디버거 자체에서 조금이나마 분석해주기 때문에 사람들의 고생을 약간이나마 덜어줄수 있다. 또한 확장성과 플러그인등이 많아서 전세계적으로 디버거할때 올리디버거를 사용하는 편입니다. 웬만한 프로그램은 순수 Ollydbg를 사용하여 역분석을 할 수 있다.
리버스 엔지니어링을 전망은 어떠한가?
리버스 엔지니어링을 배우면 소프트웨어 보안쪽으로 대부분 취업한다고 볼수 있다. 또한 프로그램 유지 보수쪽으로 취업할수 있다
하지만 리버스 엔지니어링을 사람들이 쉽게 생각하고 패커로 대부분 프로텍팅을 해버리는 경우로 그친다. 또한 기업입장에서 리버스 엔지니어링으로 인한 피해를 보지 않으면 웬만한 기업에서는 소프트웨어 보안에 대해 돈을 쓰지 않는다. 하지만 프로그래머들이 넘쳐나는 지금 시대에 리버스 엔지니어링을 배운다면 대부분 프로그래머들이 API를 이용해서 프로그램을 작성하는데 그치는데 리버스 엔지니어링을 배우면 소프트웨어 보안에 대한 기본 지식이 깔려있기때문에 좀더 질 높은 프로그램을 만들수 있다. 하지만 배우는것에 비해 시장성은 작다고 볼수 있다.
감사합니다~
감사합니다. 잘 받겠습니다.
잘 읽었습니다. 좋은 내용 감사합니다.
잘 읽었습니다~
감사합니다 ㅎ
감사합니다
좋은 말씀이십니다.
리버스엔지니어링 기술은
마치 의사선생님이 환자가 걸린 병의 원인을 파악하고, 그에 적절한 처방전을 내리듯이
사회의 악인 악성코드나 프로그램에 존재하는 취약점들을 분석하고, 그것을 치료하기위해서 백신을
만들어 내거자 취약점을 없애기 위해서 노력하는 것이라고 할수 있습니다.
출처 - "리버스엔지니어링 역분석 구조와 원리" 저자 박병익 / 이강석