문득 수행중인 일

1 min read

네이트온 3.0 리버스엔지니어링 중 -_-

네이트온은 인증에 DES를 사용하는데, 이쁘게도 DESUtil.dll 을 따로 떼어놨다. exports 된 함수는 딱 4개, encodeNate, encodeNate_key, decodeNate, decodeNate_key.

DES Key가 define되어있지 않을 때 디폴트로 사용할 함수들이 _key 가 없는 함수들이다. 디스어셈블러가 Default Key를 찾아주었다. rue3lso9 랜다 ㅎㅎ

프로토콜을 보다보니 MSN과 많이 흡사하다. 귀엽게 봐줘야지.

Comments

11 thoughts shared

01
P

pistos

오옷! 멋져~ 그럼 이제 네이트온 클론도 만들어지는것인가~

나도 끼워줘~

02
X

xhoto

나두 ㅋㅋㅋ

03
R

rath

아흐 key는 찾았지만 일반적인 DES와는 차이가 있어서 인증부분에서 막혀있어요

Key size가 8바이트라는 것도 같고,

프로토콜상에서도 AUTH 방식이 DES라고 쓰지만

Block encrypt가 짬뽕되어있는데..

추측 리버스에는 한계가 와서.. 어셈보는중이지요

200라인만 c코드로 옮겨노면 대는데 어흑 어려워;

04
S

Siyann

이거 할라고 삽질했는데 DES에서 막혀서 도저히 진행할 수가 없었는데 허허-_-

05

윤종현

으흐흐.. 그냥 DES가 아님. 3DES라고 추측되네요. ^^

06
R

rath

흐흐 3DES는 키 3개가 필요하잖아요~ =3

07

윤종현

앗, 그래요? ㅋㅋ 나두 디스어셈블 해봐야징.

.text:10003250 public decodeNate .text:10003250 decodeNate proc near .text:10003250 .text:10003250 arg_0 = dword ptr 4 .text:10003250 arg_4 = dword ptr 8 .text:10003250 .text:10003250 mov eax, [esp+arg_0] .text:10003254 mov ecx, [esp+arg_4] .text:10003258 push eax .text:10003259 push offset aRue3lso9 ; "rue3lso9" .text:1000325E push ecx .text:1000325F call sub_10002EF0 .text:10003264 add esp, 0Ch .text:10003267 retn .text:10003267 decodeNate endp

키는 확실히 저거 1개네요. 문자열로 박아 놓다니.. ^^

주말에 삽질 좀 해 보고 결과를.. -_-;;

08
R

rath

흐흐 저도 IDA Pro 쓰는데

09

윤종현

최강의 디스어셈블러. ㅎㅎ

10
R

rath

ㅎㅎ DESUtil.dll을 직접 링크해서 날려보았는데, DES를 그대로 쓰는게 맞네요. 대신 파라미터 encodeNate로 넘겨진 파라미터 자체가 약간 가공되어있는듯 해요.

encodeNate는 DES crypt랑 완전히 동일해요

11
R

rath

커헉 DESUtil.dll을 지워도 네이트온 로그인이 정상작동하는군요 -___-

Continue Reading

Discover more thoughts and insights