네이트온 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
pistos
오옷! 멋져~ 그럼 이제 네이트온 클론도 만들어지는것인가~
나도 끼워줘~
xhoto
나두 ㅋㅋㅋ
아흐 key는 찾았지만 일반적인 DES와는 차이가 있어서 인증부분에서 막혀있어요
Key size가 8바이트라는 것도 같고,
프로토콜상에서도 AUTH 방식이 DES라고 쓰지만
Block encrypt가 짬뽕되어있는데..
추측 리버스에는 한계가 와서.. 어셈보는중이지요
200라인만 c코드로 옮겨노면 대는데 어흑 어려워;
윤종현
으흐흐.. 그냥 DES가 아님. 3DES라고 추측되네요. ^^
rath
흐흐 3DES는 키 3개가 필요하잖아요~ =3
윤종현
앗, 그래요? ㅋㅋ 나두 디스어셈블 해봐야징.
.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개네요. 문자열로 박아 놓다니.. ^^
주말에 삽질 좀 해 보고 결과를.. -_-;;
rath
흐흐 저도 IDA Pro 쓰는데
윤종현
최강의 디스어셈블러. ㅎㅎ
ㅎㅎ DESUtil.dll을 직접 링크해서 날려보았는데, DES를 그대로 쓰는게 맞네요. 대신 파라미터 encodeNate로 넘겨진 파라미터 자체가 약간 가공되어있는듯 해요.
encodeNate는 DES crypt랑 완전히 동일해요
Continue Reading
Discover more thoughts and insights
번아웃 신드롬
얼마전 야후 사전에서 '카리스마'를 검색했다가 문득 눈에 들어온 용어 '번아웃 신드롬'. 오로지 한 가지 일에 몰두하던 사람이 신체적ㆍ정서적인 극도의 피로로 무기력증이나 자기혐오ㆍ직무거부 등에 빠지는
블로그에 Add To Any 버튼을 달다
블로그에 Add To Any 버튼을 달았습니다. 가입도 필요없고 그저 달면 되네요. :$ 퍼머링크를 공유하고 저장하는(흔히 딜리셔스에 아이템을 추가하는) 버튼과 구독 버튼을 제공하고 있습니다. 구독버튼은
입사 7주차, 내가 이렇게 열심히 살다니
입사 7주차에 써보는 회사생활 리뷰. 무례하게 푸시하는 사람이 아무도 없는데 개발자 특유의 자긍심을 서로 자극해가며 선순환을 이루어 일을 열심히 하고 있다. 환경과 관계가 개개인을 자극하여 자연스레 이뤄진 것인데