네이트온 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
나르시즘의 끝은 어디인가 - 김광진의 '편지' 보컬 포함
Quercus 삽질 후 디프레스된 기분을 풀어보고자 싸이질도 좀 해주고 초코머핀을 우걱우걱 먹어보았으나 별 효과가 없었다. 몸은 피곤하고, MEConsole 빌드는 여전히 안되고 Hollys 프로젝트는 이런저런
3번의 퇴사 후 깨달은 나의 성급함과 욕심
6월 말부터 프리랜서로 일하다 9월 1일부터 CTO하던 그 가로수길 회사를 그만뒀다. 퇴사를 하도 자주 하는 편이라 빡치는 것도 대부분 2-3일 안에 끝나고 금세 평정심을 찾게 된다. 이로써 내 회사 빼고 올해만
이클립스로 리팩토링 하다가 문득
요즘 세상엔 리팩토링이나 설계를 바꾸는 일들조차 너무나 쉽기때문에 처음 코딩을 시작할 땐 구현에만 신경써도 된다. 마치 영향력있는 누군가가 자신에게 "이런 기능 구현 가능한가요??" 라고 물었을 때 자존감을