쿨소프트

Samsung Smart App Challenge left_banner
Comment 72Views 10766Votes 3
?

Shortcut

Prev Article

Next Article

+ - Up Down Comment Print
?

Shortcut

Prev Article

Next Article

+ - Up Down Comment Print

리버스 엔지니어링 1장. 리버싱이란 무엇인가?

리버스 엔지니어링은 이미 만들어진 프로그램을 대상으로 좋은쪽으로는 유지,개발,보안에 사용되며 나쁜쪽으로는 크랙 및 기술을 빼오는데 사용됩니다. 리버스 엔지니어링은 약자로 리버싱이라고도 말하며 줄여서 RCE(리버스 코드 엔지니어링) 라고도 합니다.

리버스 엔지니어링은 C,JAVA,델파이,모바일 프로그램 등 컴퓨터에 해당되는것은 모두 리버스 엔지니어링을 할수 있다.

8우리가 흔히 사용하는 윈도우 정품인증,기업제품들의 크랙제품들은 모두 리버스 엔지니어링을 악용하여 만들어진 프로그램이다.

 

리버스 엔지니어링을 배우기 위해서는 어떤것을 배워야 쉬운가?

리버스 엔지니어링은 작성된 프로그램을 분해하는 작업이다. 흔히 컴퓨터를 조립하고 분해할때도 조립하는 방법을 알아야 하듯이

리버스 엔지니어링을 하기 위해선 해당 프로그램의 언어에 대한 지식이 있는게 좋다. 또한 역분석은 사람이 접하는 언어에 가깝기 보단 기계가 접하기 쉬운 어셈블리언어를 통해 이루어 지기 때문에 어셈블리언어에 대해 기초지식을 알아야 한다. 사실상 어셈블리언어를 배우는데 많은 분들이 힘들어 하지만 어셈블리언어를 배운다면 그 이후부터는 리버싱에 대한 재미를 느낄수 있다. 어셈블리언어 중에서도 ia-32를 공부하시면 됩니다.

 

왜 다들 올리디버거를 선택하는가? 또한 올리디버거는 무엇인가?

올리디버거는 가장 사람이 분석하기 편하게 제작되어있는 디버거 툴입니다. 다른 디버거와는 달리 올리디버거는 올리디버거 자체에서 조금이나마 분석해주기 때문에 사람들의 고생을 약간이나마 덜어줄수 있다. 또한 확장성과 플러그인등이 많아서 전세계적으로 디버거할때 올리디버거를 사용하는 편입니다. 웬만한 프로그램은 순수 Ollydbg를 사용하여 역분석을 할 수 있다.

 

 리버스 엔지니어링을 전망은 어떠한가?

리버스 엔지니어링을 배우면 소프트웨어 보안쪽으로 대부분 취업한다고 볼수 있다. 또한 프로그램 유지 보수쪽으로 취업할수 있다

하지만 리버스 엔지니어링을 사람들이 쉽게 생각하고 패커로 대부분 프로텍팅을 해버리는 경우로 그친다. 또한 기업입장에서 리버스 엔지니어링으로 인한 피해를 보지 않으면 웬만한 기업에서는 소프트웨어 보안에 대해 돈을 쓰지 않는다. 하지만 프로그래머들이 넘쳐나는 지금 시대에 리버스 엔지니어링을 배운다면 대부분 프로그래머들이 API를 이용해서 프로그램을 작성하는데 그치는데 리버스 엔지니어링을 배우면 소프트웨어 보안에 대한 기본 지식이 깔려있기때문에 좀더 질 높은 프로그램을 만들수 있다. 하지만 배우는것에 비해 시장성은 작다고 볼수 있다.

  • ?
    [Level:2]KenZ 2011.04.17 02:03
    처음이에요 잘보고 가요
  • ?
    [Level:1]무없는치킨 2011.04.17 20:36
    잘 읽어 봤어요
  • ?
    [Level:2]샘플용 2011.04.19 10:23
    감사합니다.
  • ?
    [Level:1]longlong 2011.05.24 22:37
    잘 읽어 봤습니다.
  • ?
    [Level:2]절문다알 2011.06.04 23:04
    잘 봤습니다...^^
  • ?
    [Level:3]텐더리 2011.06.05 19:04
    잘 읽어봤습니다~
  • ?
    [Level:5]쿄규 2011.07.17 00:33
    감사합니다 잘보았어여~
  • ?
    [Level:1]흑흉 2011.07.20 14:29
    감사합니다 잘 봤습니다
  • ?
    [Level:2]wondergirls 2011.07.26 20:23
    감사합니다 ^^
  • ?
    [Level:1]하루밍 2011.08.17 23:35
    한마디로 돈되는 상품성과 찍어내는듯한 제작환경에만 중점을 두는 국내 IT 기업쪽에서는 리버싱 엔지니어의 비중이 약하겠군요. 매번 보안사고가 일어나도 기업이나 정부부처조차도 임시 처방에만 급급해하는 모습을 보여주니..
  • ?
    [Level:2]에헤라디야 2011.08.19 18:18
    제 생각엔 우리나라 소프트웨어 기업 순위도 387위였던가?384위인가? 암튼 안철수연구소를 제외해서 뒤쪽에 쳐져있으니.. 아무래도 보안쪽에 우리나라는 좀 신경을 덜쓰는것 같은 면모를 보이는것 같아요
  • profile
    [Level:6]쪼꼬우유★ 2011.08.23 13:57
    좋은글 감사합니다^^ 잘읽었습니다!!
  • profile
    [Level:16]mobinno 2011.10.06 21:05
    강좌 잘봤습니다.
  • ?
    [Level:10]쿨러 2011.10.24 03:38
    내용 좋습니다. 또 전망부분이 객관적이네요.
  • ?
    [Level:5]까브권 2011.11.12 22:22

    감사합니다~

  • ?
    [Level:1]놔놔놔쏴 2011.12.19 02:22

    감사합니다. 잘 받겠습니다.

  • ?
    [Level:0]털밑썸씽 2011.12.22 09:41

    잘 읽었습니다. 좋은 내용 감사합니다.

  • ?
    [Level:8]craft 2012.01.17 22:18

    잘 읽었습니다~

  • ?
    [Level:2]유월 2012.01.25 19:53

    감사합니다 ㅎ

  • ?
    [Level:6]작은시계 2012.01.27 09:41

    감사합니다

  • ?
    [Level:2]로봇권 2012.02.01 18:36

    좋은 말씀이십니다.

  • ?
    [Level:3]해커크래커 2012.03.20 17:28

    리버스엔지니어링 기술은

    마치 의사선생님이 환자가 걸린 병의 원인을 파악하고, 그에 적절한 처방전을 내리듯이

    사회의 악인 악성코드나 프로그램에 존재하는 취약점들을 분석하고, 그것을 치료하기위해서 백신을

    만들어 내거자 취약점을 없애기 위해서 노력하는 것이라고 할수 있습니다.

     

    출처 - "리버스엔지니어링 역분석 구조와 원리" 저자 박병익 / 이강석


  1. No Image

    총알피하기게임 스피드조작(스핵필요없다)

    안녕하세요 pdm1n입니다. 대중적인 게임 총알피하기 게임을 스피드를 변경해보려합니다. winmm.dll의 속하는 timeGetTime 함수가 총알스피드,비행기스피드, 머 등등;;관련할껍니다. winmm.dll의 timeGetTime함수 내부로 들어왔습니다. 76AF4E73 6A 00 PUSH 0...
    Date2009.11.16 Category초급 ByPdmin Views4313
    Read More
  2. No Image

    mfc키젠간단..

    mfc로 누가만든 키젠미인지는 모르겠습니다. 파일하드에 있길래 꺼내보았습니다. MFC로 작성되서인지 Messagebox함수가..안보입니다 하지만 문자열을 비교하는 comepare 비교하다 의 약자 cmp함수를 찾아보았죠 _mbscmp 함수가 가디라기고 있습니다. 그리고 ...
    Date2009.10.30 Category초급 ByPdmin Views4343
    Read More
  3. No Image
    UPDATE

    abex1 입맛대로 풀어보자

    00401000 > $ /EB 6E JMP SHORT abexcm1.00401070 (시작부터 내가작성한코드로) 00401002 |00 DB 00 00401003 . |00000000 DD 00000000 00401007 |00 DB 00 00401008 . |00000000 DD 00000000 0040100C |00 DB 00 0040100D |00 DB 00 0040100E |00 DB 00 00401...
    Date2009.10.30 Category초급 ByPdmin Views2893
    Read More
  4. No Image

    themida 언팩킹시 HideOD + Phantom 설정법입니다.

    관련문서 찾아보다가 어느분 블로그에서 찾았는데 자료가 상당하네요 ㅎㅎ; 모조리 퍼오긴 그래서 그냥 링크로 남깁니다. http://redmin697.tistory.com/category/Reverse%20Engineering?page=2
    Date2009.05.04 Category초급 By앨런 Views4646
    Read More
  5. No Image

    프로그램 코드 역분석 공개가 가능한 정도는 어느정도일까?

    ?제12조의2(프로그램코드역분석) ①정당한 권원에 의하여 프로그램을 사용하는 자 또는 그의 허락을 받은 자가 호환에 필요한 정보를 쉽게 얻을 수 없고 그 획득이 불가피한 경우 당해 프로그램의 호환에 필요한 부분에 한하여 프로그램저작권자의 허락을 받지...
    Date2009.02.28 Category초급 ByCoolsoft Views3806
    Read More
  6. No Image

    포럼 오픈기념 아임제크 크랙미&키젠미 Ver 1.2(등록번호 찾기)

    포럼 오픈기념으로 크랙미&키젠미를 한번 만들어봤습니다. 재미삼아 만들어 본 크랙미&키젠미인데 여러분들도 연습삼아 해보시라고 올려봅니다. 패킹은 하지 않아 디버깅 하시기 쉬우실겁니다. 1단계조건 : 안티 디버깅 우회 2단계조건 : 자신의 컴퓨...
    Date2009.02.02 Category초급 By아임제크 Views3942
    Read More
  7. No Image

    언팩이 가장 어려웠던 툴과 경험담

    포럼이 생겨 참 반갑네요. 외국 포럼들 처럼 주제별 토론할 수 있는 좋은 공간이 되었으면 합니다. 그래서 저도 한가지 주제를 내놓아 봅니다. 언팩킹 하는데 가장 어려웠던 툴과 사용한 툴...경험담을 한번 들어보고 싶네요. 성공여부도 성공못한것도 상관없...
    Date2009.01.31 Category초급 By아임제크 Views4502
    Read More
  8. No Image

    Themida+++WinLicense+1.9.1.0+-+2.0.5.0+Unpacker+v0.2

    Themida+++WinLicense+1.9.1.0+-+2.0.5.0+Unpacker+v0.2를 돌리는데 잘 안되던데 올디 설정을 어떻게 해야할까요?
    Date2009.01.29 Category초급 ByCoolsoft Views3630
    Read More
  9. No Image

    게임가드의대해서..

    안녕하세요 ㅎㅎ 그냥 순수한 목적으로 같이알자는 마음으로 글을 연달아 쓰고있는데요 ㅋ 글세 도움이되셧는지 직접적으로 강의같은건 귀차니즘으로 ㅠ.ㅠ 안하는 스타일이라 ㅎㅎ 게임가드에대해서 설명하려합니다. 게임가드는 후킹을 ...
    Date2009.09.25 Category초급 ByPdmin Views5492
    Read More
  10. No Image

    패킷의 대해서...

    안녕하세요 흐음.. 패킷 패킷 하는데 사람들이 이해하기가 쉽지않은 분들이 있을꺼같아서요 ㅎㅎ 패킷을 이해하는데 저는 wpe라는 툴이 엄청 도움이 되었지요 패킷이란 서버와 클라이언트와의 교신하는 서신 같은걸 패킷 이라고합니다. 예를들...
    Date2009.09.25 Category초급 ByPdmin Views3481
    Read More
  11. No Image

    리버서 들이 착각하는 tip

    안녕하세요 ㅎ 리버서들이 착각하는게 있습니다. (가)예를들면 OOORPG게임에서 hp값은 서버에서 저장하기떄문에 절때 수정할수 없다 라고합니다. 저도 중학교땐 저말을 믿었기때문에 보이는 hp값을 찾았지만 값을 nop시켜도 보이는 값만 (...
    Date2009.09.25 Category초급 ByPdmin Views3646
    Read More
  12. No Image

    Setwindowpos 함수의 대하여

    다름이아니라 SetWindowPos 함수를 보니 군인시절떄 가 생각나서요 ㅎ 사지방을 이용했섰습니다. 그떄 Net커맨드 라는 프로그램이 Setwindowpos함수로 TopMOst 인자를 가지고 최상의 창을 독점하더군요 ㅎ 돈이없었던 시절이라 장난삼아 인...
    Date2009.09.25 Category초급 ByPdmin Views3108
    Read More
  13. No Image

    [winapi보고서]api의 코드들을 분석했던것들입니다.

    USER32.MessageBox 설명:메세지박스는 무엇을 묻거나 이용자에게 무엇을했다는 정보를 전할때 주로이용된다. 메세지박스는 스타일,타이틀,텍스트,h0wner로 이루어져 있으며 마지막으로 이모든걸 부르는 콜! MessageBox(핸들,창이름,창내용,창스타일) 이렇...
    Date2009.09.25 Category초급 ByPdmin Views3346
    Read More
  14. No Image

    피카츄배구 리버싱 (공부용으로하던)

    00403B00 /$ 83EC 24 SUB ESP,24 ; //ESP 24만큼 뺻다. 뺴는이유:몰라~ 알수가없어~ 이렇게사는건 00403B03 |. 53 PUSH EBX ; //EBX에있는 6BFD4C 를 스텍에저장 ABFD4C=7D01A4 가있음 00403B04 |. 56 PUSH ESI ; //ESI=7D01A4 값이 저장됌 00403B05 |. 8B41 5...
    Date2009.09.25 Category초급 ByPdmin Views3453
    Read More
  15. No Image

    Unpack문제로 풀면서 배워보자~^^

    pdf파일은 문제를 풀면서 제가 직접 작성했습니다^^ 제 공부도 할겸~ 간단한게 패킹을 푸는 형식을 알아보았습니다~! 초급 정복에 올리기도 쫌 그렇지만.. 마땅히 올릴 곳이 없어서 여기 올려볼께요~! 문제는 심플스에서 Unpack문제를 풀다가 2번에 ...
    Date2009.09.04 Category초급 By꿈★ Views3478
    Read More
  16. No Image

    리버스 엔지니어링 3장. 리버싱의 시작은 어셈블리언어(2/3)

    약 2년만에 강좌를 진행하는군요 여러가지 언어를 접해보느라 이제야 3장을 쓰게 되네요 리버싱을 하려면 기본적으로 타프로그래밍 하이레벨 프로그래밍 언어를 먼저 접해봐야 이해가 쉽습니다. 간단하게 C++ 언어를 예를 들어 보자면 int y; int x= (y...
    Date2011.07.02 Category운영진 강좌 ByCoolsoft Views7980
    Read More
  17. 2장. 사용되는 툴 -1-

    대표적인 툴 3가지만 대충 정리했습니다. 다음편에서는 좀더 세부적인 기능을 다룰까합니다. 쓴다고썻는데 맘에는 별로안드는군요..ㅠㅠㅠ 기다려주신 영훈님께 죄송하다는말 드리고싶구요 변명은안하겟습니다..ㅠㅠ 앞으로 방향 댓글로달아...
    Date2010.07.17 Category운영진 강좌 ByJoke Views4325
    Read More
  18. 1장. 리버스 엔지니어링

    시작한지는 반년이 되었는데 이제서야올리네요ㅠㅠ 작업해둔것도 많이 날라가고 정리하고 맘에안드는거 지우고하니까 남은게별로없어서 그냥 다시 정리햇습니다..ㅠㅠㅠ 중복되는 내용들같은것도 많을텐데 그냥 한번 되집어보는식으로 보시는것도 좋...
    Date2010.07.17 Category운영진 강좌 ByJoke Views3981
    Read More
  19. 리버스 엔지니어링 2장. 리버싱의 시작은 어셈블리언어(1/3)

    리버스 엔지니어링 2장. 리버싱의 시작은 어셈블리언어(1/3) 리버스 엔지니어링을 시작하기 위해서는 어셈블리언어를 배워야 합니다. 그 이유는 간단합니다. 우리가 프로그래밍에 사용하는 C나 JAVA, 비주얼 베이직은 모두 컴파일 과정을 거쳐서 기계어가 되...
    Date2009.11.30 Category운영진 강좌 ByCoolsoft Views8247
    Read More
  20. No Image

    리버스 엔지니어링 1장. 리버싱이란 무엇인가?

    리버스 엔지니어링 1장. 리버싱이란 무엇인가? 리버스 엔지니어링은 이미 만들어진 프로그램을 대상으로 좋은쪽으로는 유지,개발,보안에 사용되며 나쁜쪽으로는 크랙 및 기술을 빼오는데 사용됩니다. 리버스 엔지니어링은 약자로 리버싱이라고도 말하며 줄여...
    Date2009.11.14 Category운영진 강좌 ByCoolsoft Views10766
    Read More
Board Pagination ‹ Prev 1 2 3 4 5 6 7 8 Next ›
/ 8
Designed by hikaru100

나눔글꼴 설치 안내


이 PC에는 나눔글꼴이 설치되어 있지 않습니다.

이 사이트를 나눔글꼴로 보기 위해서는
나눔글꼴을 설치해야 합니다.

설치 Cancel

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

SketchBook5,스케치북5

X
Login

You will be still signed in even when the browser is closed. It is not recommended to use this if you are using a public computer, for your personal information could be violated

아이디/비밀번호를 잊어버리셨나요?

아이디/비밀번호 찾기

아직 쿨소프트의 회원이 아니신가요?

아이디/비밀번호 찾기

X