1580, 3/79 회원가입  로그인  
   leewoongki
   암호화

http://www.hackerschool.org/HS_Boards/zboard.php?id=Free_Lectures&no=1344 [복사]


암호화(encryption)된 MMORPG인 일랜시아(www.elancia.com)를 WPE로 스니핑 해봤습니다.
Nexon에서 일랜시아 게임을 암호화 하고 나서 당당히 게임가드(GG)를 없앴습니다.
그래서 WPE로 쉽게 스니핑 할 수 있었습니다.
하지만 암호화 된것을 해석할 수가 없습니다.
해석에 도움 부탁드립니다.

나쁜 일에 사용하는게 아니라 암호해석을 독학으로 공부하다 궁금해서 질문올린 것입니다.
제가 고작 밝혀낸 해독 방법은 XOR 연산 밖에 없어서 매우 답답합니다.


다음 자료는 제가 스니핑한 예제 입니다. Send 신호만 모아봤습니다.


AA 00 13 39 D0 EF 8B EC 8F A7 F9 95 D0 E6 EA 30 37 21 57 48 76 D1 (처음 바나나 1개 삼)
AA 00 13 39 D1 ED 89 EE 8D A5 FB 97 D2 E4 E8 32 35 23 55 4A 74 D3 (다시 바나나 1개 삼)
AA 00 13 39 D2 EB 8F E8 8B A3 FD 91 D4 E2 EE 34 33 25 53 4C 72 D5 (또 다시 바나나 1개 삼)
-앞에 4Byte는 같은데, 5Byte부터 미묘하게 시간에 따라 변조되었음을 알 수 있습니다.-


AA 00 13 39 DD F5 91 F6 95 BD E3 8F CA FC F0 29 4D 34 19 5F 00 CB   (바나나 산 이후에 복숭아 1개 삼)
AA 00 13 39 DF F1 95 F2 91 B9 E7 8B CE F8 F4 2D 49 30 1D 5B 04 CF   (다시 복숭아 1개 삼)
AA 00 13 39 E2 8B EF 88 EB C3 9D F1 B4 82 8E 57 33 4A 67 21 7E B6   (그리고 복숭아 2개 삼)
AA 00 13 39 E5 85 E1 86 E5 CD 93 FF BA 8C 80 59 3D 44 69 2F 70 B9   (그리고 복숭아 3개 삼)
-바나나를 샀을 때와 복숭아를 샀을 때의 패킷전체가 5Byte부터 완전히 바뀌었습니다-
-또 다른 특이한 점은, 5번째 코드가 시간에 따라 DD->DF->E2->EF로 변화했다는 것입니다-
-이 사실은 매우 중요합니다. 5번재 코드의 앞부분 D는 불변이므로, 6번째 코드부터는 전부 앞부분이 같습니다-
-즉, 5번째 코드가 암호의 키역할을 합니다. 물론 다른 코드가 암호의 키 역할을 할 수도 있습니다-
-어쨌든 5번째 코드가 암호의 키 역할을 한다면, 이때의 암호연산이 무엇인지 알아야 합니다-


AA 00 13 39 F8 BF DB BC DF F7 A9 C5 86 B6 BA 63 07 7E 53 15 4A 81   (다시 복숭아 1개 삼)
AA 00 13 39 F9 BD D9 BE DD F5 AB C7 84 B4 B8 61 05 7C 51 17 48 83   (또 다시 복숭아 1개 삼)
-지금까지 계속 순서대로 스니핑해 왔으며, 이에 따라 5번째 코드 값이 계속 커졌습니다-
-앞서 복숭아 1개 샀을 때와 다른 점은 5번째 코드가 Dx에서 Fx로 변했다는 것입니다. 시간이 지났기 때문에 값이 커진 것입니다-
-따라서 5번째 코드의 앞부분이 D에서 F로 바뀌었으므로, 6번째 코드부터도 전부 앞부분이 바뀌었습니다-
-지금까지의 샘플을 통해 유추하면 암호를 어느정도 해석할 수 있을 것입니다-


-지금부터는 시간에 별 관계없는 샘플입니다-
AA 00 0D 39 E9 9D F9 9E FD D5 8B E2 A3 94 9A FA (복숭아 1개 팜)
AA 00 0D 39 E9 9D F9 9E FD D5 8B E2 A3 94 9A FA (복숭아 1개 팜)
AA 00 0D 39 EB 99 FD 9A F9 D1 8F E6 A7 90 9E FD (복숭아 2개 팜)
AA 00 0D 39 EC 97 F3 94 F7 DF 81 E8 A9 9E 90 F2 (복숭아 3개 팜)
-이것을 보면 3번째 코드가 구매와 판매에 관한 플래그인 것을 알 수 있습니다. 살때는 13이고 팔때는 0D입니다-


AA 00 11 39 17 61 05 62 01 28 77 1B 59 68 66 BA A4 DF B9 74 (식초 아이템을 1개 살때)
AA 00 15 39 19 7D 19 7E 1D 34 6B 07 45 74 76 A3 CA BF 8B DA 99 83 99 79 (마요네즈 아이템을 1개 살때)
-그런데 이것들을 보면 3번째 코드가 같은 행동(구매)를 했을 때 바뀌었다는 것을 알 수 있습니다-
-물론 구매한 물품이 다르긴 하지만, 맨 처음 실험에서 바나나와 복숭아를 샀을 때는 3번째 코드가 모두 13이었습니다-
-또 특이한 점은 패킷의 길이가 4Byte(한글 2글자)만큼 다르다는 것입니다. 그러므로 코드에 아이템 이름이 들어갑니다-
-지금까지 살펴본 샘플들은 모두 앞에 2Byte까지는 무조건 같았음을 알 수 있습니다. 일종의 헤더입니다-


코드에 들어갈 내용을 추측: 헤더, 명령, 시간, 아이템 이름, 아이템 갯수, 아이템 가격(복숭아, 바나나 살때 10원) 등등

  Hit : 5366     Date : 2009/12/07 07:06
[불법/스팸글로 신고하기]



    
xnslwoal 처음보네요^^ 2010/01/11  
Cpgroot 암호학 왠지 끌리는 ..ㄷㄷ 2010/08/18  
xodnr631 감사합니다. 2010/08/19  
1540   아 또 가짜백신.. 또 펌;;; ㅠㅠ[3]     dkdkfjgh
12/03 5469
1539   아 vmware 을 어려워 하는 사람이 있내요 ㄷㄷ[3]     playground
03/06 5995
1538   앞으로 이어질 글에 대해서.....[2]     소유
10/06 6788
1537   어셈블리어 강좌 7편 마지막요 ㅎㅎ[2]     asdzxc301
12/13 8732
1536   어셈블리어 강좌 6편     asdzxc301
12/13 7095
1535   어셈블리어 강좌 5편     asdzxc301
12/13 18509
1534   어셈블리어 강좌 4편     asdzxc301
12/13 9606
1533   어셈블리어 강좌 3편     asdzxc301
12/13 7728
1532   어셈블리어 강좌 2편     asdzxc301
12/13 6934
1531   어셈블리어 강좌 1편[1]     asdzxc301
12/13 11713
1530   어셈블리어 총정리 강좌     asdzxc301
12/13 16918
1529   어셈블리어 총정리 강좌[8]     gnsehfvlr
05/09 8981
1528   어셈 아~~~~~~~주 모르시는분들을 위한 -_-;;[7]     hayanho
08/08 9564
1527   어떤분이 운영하시는 블로그인대 강추 입니다[6]     lsykoh2
01/17 5180
1526   암호란[1]     oldlove7
08/02 6468
1525   암호화 패킷 암호해석하는 것좀 도와주세요[5]     leewoongki
12/07 7068
  암호화[3]     leewoongki
12/07 5365
1523   알약`무료백신 `제2의 PC그린 사태`[10]     koresong
11/01 6054
1522   안드로이드SDK프로젝트 단기과정[1]     pshshs
02/17 4846
1521   안드로이드 보안 코딩 가이드 입니다.     oldlove7
12/11 6835
[1][2] 3 [4][5][6][7][8][9][10]..[79]

Copyright 1999-2021 Zeroboard / skin by Hackerschool.org / Secure Patch by Hackerschool.org & Wowhacker.com