오랜만에 리버싱을 해보고 있습니다

일반 조회 수 31312 추천 수 0 2011.09.11 21:36:50

학교 축제 대 상대방 학교와 해킹전이 있는데

그 때 참가할 대표를 선발하는 문제 중 리버싱 문제가 있더군요

그래서 오랜만에 건들여 볼까! 하고 시도를 해봤는데, 영 쉽지가 않네요 ㅠ

문제는 '벫똏' 이라는 간단한 총알 피하기 게임을 수정해서

기체가 총알에 맞았을 때 보통은 'Try again!'이 뜨고, 특정 조건에 맞았을 때 'Key : ~~'하고 답이 나오는 형태입니다.

역시 쉽게 풀지는 못하게 하려 했는지 소켓 통신을 해서 결과를 얻어오는데

서버로 보내는 소켓에서 10바이트의 Data 중 9바이트는 상수처리 되있고, 1바이트만 바뀌어 보내지더군요

아마 저 1바이트가 해답에 관계된 값 같은데, 어떻게 건들여야 할 지 아직은 잘 모르겠네요 ㅎㅎ

좀 더 파고들어서 꼭 풀어봐야 겠습니다 으흐흐흐흐흐


덧. 소소한 의문이 있는데, 올리에서 봤을 때 소켓에서 send 하는 데이터에 값 넣는 부분을 보니

MOV DWORD PTR DS:[EAX+4],24448B3E

와 같은 부분이 게임에서 Retry를 할 때 마다

MOV DWORD PTR DS:[EAX+4],24448BFD

MOV DWORD PTR DS:[EAX+4],24448B83

와 같이 값이 바뀌는데, 어셈블리 코드가 프로그램을 실행하는 중에 계속 바뀌는게 도대체 어떤게 된 것이죠???


id: 와딥와딥

2011.09.12 08:49:24
*.142.253.117

오랜만이에요 정국님!


학교 축제때 그런것도 있군요 ㅜㅜ


아래 질문에 대해선 잘 모르니 다음 분에게 패쓰해야 겠네요 ㅠㅠㅠㅠ



박정국

2011.09.13 20:16:04
*.76.68.110

음... 나름 자답을 찾은 것 같습니다.

저 부분이  서버와 소켓 통신 할 때 프로그램 실행 시간을 버퍼에 넣는 부분인데, 실행 시간을 조작하지 못하게 하려고 시스템 실행시간 스택? 여튼 잘은 모르겠지만, 프로그램이 돌아갈 때 주기적으로 호출되는 부분에서 수정을 하더군요. 실행 시간을 65535로 만드는게 미션인데, 저 부분을 어떻게 잘 조리해봐야겠습니다 ㅎㅎ 

CPU Disasm

Address   Hex dump                 Command                                  Comments

004049C6  |.  8B4424 20            MOV EAX,DWORD PTR SS:[ARG.RETADDR]

004049CA  |.  FF80 2F370000        INC DWORD PTR DS:[EAX+372F]          ; 16미리 초에 1씩 증가하는값 ㄷㄷㄷ

004049D0  |.  8B98 2F370000        MOV EBX,DWORD PTR DS:[EAX+372F]

004049D6  |.  8B88 6C130000        MOV ECX,DWORD PTR DS:[EAX+136C]

004049DC  |.  33D9                 XOR EBX,ECX

004049DE      8998 9C130000        MOV DWORD PTR DS:[EAX+139C],EBX          ; 이놈!


List of Articles
번호 제목 글쓴이 날짜 조회 수
385 일반 옛날 인존 멤버들 오픈 채팅방 오픈 우초 2017-08-18 800
384 일반 와...진짜 오랜만이네요 !!! [1] BlackHacker 2017-01-19 4678
383 일반 ㅎㅎㅎ;아뒤가 살아있넹.. 즐기자 2016-09-14 6818
382 일반 오랜만에 글 남겨요. 살아 계신분 댓슬 한번 달아 주세요. [7] id: 사도사도 2016-06-14 4148
381 일반 옛추억에 와봄 다들 잘 살고 있겟징??? [2] 우초 2016-06-10 4011
380 일반 오랜만에 생각나서 접속~~ 아또르뜨 2016-04-16 4142
379 일반 13년차.. [1] 스냅 2015-10-14 5180
378 일반 오래간만에 들어왔다가 확인 하구 갑니다. [4] Holic1990 2015-02-19 6110
377 일반 생사 확인하구 갑니다 ^^ GoHikaru 2014-10-27 15629
376 일반 udpflood 인데 비밀번호 풀어주실분 계신가요 ㅠㅠ.. file ufvuyf8 2014-04-09 20620
375 일반 하하..... [1] 스냅 2014-01-13 18359
374 일반 2014년 첫글... Happy New Year~!!! [1] ZeroOne 2014-01-01 18615
373 일반 문득문득 그때가 그립습니다. [7] 커플 2013-10-10 19901
372 일반 살아 계신분있나요.. [9] id: 사도사도 2013-07-22 20436
371 일반 하 출석 id: 룰루루룰루루 2013-07-15 18513
370 일반 여러분 다들 뭐하고 지내시나요? [1] [1] ZeroOne 2013-06-07 18966
369 일반 엮인글이 왜이리 많은거죠?^^ [1] [1] ZeroOne 2013-06-02 28627
368 일반 오랫만이네 [1] [20] 돼지 2013-05-25 19289
367 일반 Anonymous는 이안에도 한명있다 :D [1] [40] pdm1n 2013-05-10 19948
366 일반 생존신고!!! [3] [63] ZeroOne 2013-05-05 28605
365 일반 어라 자유게시판에 글이 써지네요??? [5] [213] ZeroOne 2013-03-04 29411
364 일반 2013년 첫글... [261] 김동민 2013-03-03 31366
363 일반 Hello world! [1] [125] GoHikaru 2012-07-17 23996
362 일반 음... 활성화가 안되는것인가..;;; [1] [265] 필살 2012-04-19 32588
361 일반 늦었지만 . . [1] [166] 슈디 2012-01-12 29301
360 일반 으악 올만에 들려씀 ㅋㅋ [197] 황규섭 2011-11-21 30207
359 일반 어이쿠 안녕하십니까 [1] [244] plan 2011-09-29 32732
358 일반 아 수업가기 싫다... [1] [157] id: 룰루루룰루루 2011-09-29 28318
357 일반 키보드 샀어요 오호호호 [5] [170] id: 와딥와딥 2011-09-22 30888
» 일반 오랜만에 리버싱을 해보고 있습니다 [2] [184] 박정국 2011-09-11 31312
오늘 :
204
어제 :
405
전체 :
1,010,957
  • - Jungbok Layout Skin V3.0
    - Layout Skin by Jungbok
    - Powered by ZeroBoard
  • Copyright 1998~2008