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

일반 조회 수 31427 추천 수 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
번호 제목 글쓴이 날짜sort 조회 수
» 일반 오랜만에 리버싱을 해보고 있습니다 [2] [184] 박정국 2011-09-11 31427
355 일반 안녕하세요 미소입니다. [4] [191] 미소 2011-09-11 29930
354 일반 호스팅 연장을 깜빡하고 지나쳐 어제 오늘 닫혀 있었네요..ㅜㅜ [2] [155] id: 사도사도 2011-09-08 25549
353 일반 9월이되어 등업시스템으로 돌렸습니다. [3] [133] id: 사도사도 2011-09-02 20569
352 일반 죽기 아니면 까무러치기 [3] [216] GoHikaru 2011-08-14 28754
351 일반 오랜만에 들렀습니다... [2] [194] 역류 2011-08-01 26291
350 일반 하잇? [3] [153] 노구리 2011-07-31 28168
349 일반 고 * 넷 이라고 준호님이 만든거 로그인이 왜 안되나여? [3] [211] 김춘 2011-07-20 28222
348 일반 이곳엔 직딩들이 많이 없으니 대부분 방학이죠? [6] [189] id: 사도사도 2011-07-18 25944
347 일반 안드로이드 리버싱에 대해서 [1] [221] 월급노예 2011-07-15 28178
346 일반 IDA Pro 6.1 + HexRays 1.5가 유출되었네요.. [4] [699] 월급노예 2011-07-15 44454
345 정보 리버싱을 주제로 정리가 잘 되있는 블로그 입니다 [2] [63] id: 룰루루룰루루 2011-07-13 11508
344 일반 눈팅하시는분들 응답하세요~ [18] [129] id: 사도사도 2011-07-11 15874
343 일반 와! 로고도 생겻다 ! [1] [125] id: 룰루루룰루루 2011-07-10 12632
342 일반 오오 바뀌었당ㅋㅋㅋㅋ [1] [136] id: 와딥와딥 2011-07-09 14034
341 일반 오호.... [2] [55] 슈디 2011-07-08 12536
340 일반 오오미 깜짝아!!! 깔끔해졌따! [2] [176] id: 룰루루룰루루 2011-07-07 12670
339 일반 죄송한 얘기지만... [1] [128] GoHikaru 2011-06-18 12585
338 일반 사도님과 연락방법이 전혀 없나. [1] [142] Stares 2011-06-09 12746
337 일반 광고가 아주 게시판을 도배 해놨네..;; [141] 필살 2011-06-06 11465
336 일반 안..안돼! [165] 박정국 2011-06-05 11703
335 일반 wpe 강좌 [1] [234] 현기증 2011-05-26 25091
334 일반 프로그램제작쪽관심잇으신분~ ^^ 하마avi 2011-05-10 12493
333 일반 아 드디어전역했다-- [5] 초보. 2011-05-03 10429
332 일반 소켓 프로그램하나 만들어야되는데..;; [1] 필살 2011-04-25 10285
331 일반 분명 들어오는 분들은 있으신대 ㅠㅠ 글은 ㅠㅠ [3] id: 룰루루룰루루 2011-04-18 10432
330 일반 간만에 또 들어왔는데..;; [3] 필살 2011-04-13 9941
329 일반 네이버가 DDOS공격에 대응하는방법 [2] id: 고만재고만재 2011-04-08 10052
328 일반 왜? 무료 세미나를 녹화해서 업로드해주지 않을까요? [2] GoHikaru 2011-03-21 10041
327 일반 그래픽 쿨러 방향이 어떻게 되야하는지.. file [2] [155] id: 고만재고만재 2011-03-13 11399
오늘 :
128
어제 :
419
전체 :
1,025,584
  • - Jungbok Layout Skin V3.0
    - Layout Skin by Jungbok
    - Powered by ZeroBoard
  • Copyright 1998~2008