리눅스상에서 쓸 네이트온 클론을 만들어 볼라고 그러는데요..
처음부터 막히네요.
일단 로긴부터 시작을 해야되는데...
패킷을 분석해 보니...암호가 md5도 아니고 des가 써있길래 des로 암호화 해도 패킷에 나온것과는 틀리게 나오더라구요..
혹시 네이트온 클론 만드시는 님들 없으신가요?
로긴부터 막히네요..조언좀 얻어가겠습니다.
같은 문제때문에 고민 많이 했습니다..ㅎㅎㅎ
저도 네이트온을 만들어보고 있어서;;
des라고는 하지만 그다지-_-;; 그냥 -_-;; 허접하지만; 소스를 올려드리겠습니다.
점점 미궁으로 빠지는 느낌입니다.
일단은 perl로 로그인만을 테스트 중이구요..QT로 만들 생각입니다.로그인만 넘어가면 좀 수월할듯 한데 ㅜㅜ...에고..
아래는 제가 캡쳐한 패킷입니다.
LSIN 1 puaxx@nate.com 1150d4d03113952e1bcf30a16362ca94 MD5 3.555 UTF8
위가 암호화된 패킷을 보낼때의 패킷입니다.
1150d4d03113952e1bcf30a16362ca94
이게 암호화된 패스워드라고 추측이 되는데...문제는 md5로 해도 같게 나오지 않는다는것이구요.
물론 알려주신 소스를 컴팔해서 같은 패스워드를 암호화 해보면
ef69c85919b8382938070e1c3870e0c003070e1c3870e1c0
와 같이 전혀 다른길이와 형태의 값이 나옵니다.이 값을 md5로 다시 인코딩해보아도 패킷상의 값과는 틀리게 나왔습니다.
그런데 보여주신 소스를 가지고 로긴을 성공하셨다니 저로서는 알쏭달쏭할 뿐입니다.ㅜㅜ
소스코드 맨 밑에 메인부분에
string pass= " password" 라고 있는데 저기에있는 "password"가 패스워드 입니다 여기에 string pass="yourpasswd"처럼 님의 패스워드를 넣고 컴파일해서 실행하면 됩니다; 수정하지 않고 사용하신듯 하네요 int main(){ string pass = "password"; string result = genDESKey(pass); cout << result << endl; return 0; }
제 패스워드 분명히 넣고 했죠..저 바보 아니에요 ㅜㅜ;;;
http://kldp.org/node/68208
마지막 글타레에 소스파일 있습니다 ^^
부디 성공 하시길 !!! ----------------------- 아잉 ~ 까꿍 ~
--------------------------------------- blog : http://myohan.egloos.com
myohan 님.. 혹시 dormael 님이 올려주신 자바 파일 가지고 계시면 올려 주시면 감사하겠습니다.
=================== slow and steady
야호!
일단 두분께 감사드리구요..
저녁에 집에가서 함 해봐야 겠습니다 ^^
그런데 패킷으로 넘어가는 암호화된 값하고.. 위 두분의 소스를 컴파일해서 나오는 값하고 전혀 틀려서 문제 입니다..-_-;
후아 이건 로긴부터가 어렵네요..
ㅜㅜ
저는 제가 올려드린 소스를 이용해서
로그인을에 성공했습니다.;;ㅎ
QT 로 개발하시는 건가요?
puaxx 님.. 네이트온 3.5버전 실행해서 패킷 캡쳐 하신거 같군요. 따아님이 올려주신건 보니까 3.1버전에서 만들어지는 거랑 비슷하네요. ef69c85919b83829 38070e1c3870e0c0 03070e1c3870e1c0
이렇게 16자리씩 잘라보면 뒤에 부분은 같은 값의 반복인데 뭔가 조금 다르네요.
3.1버전 깔아서 업데이트 하지 마시고 패킷 캡쳐 해보세요.
아...3.1프로토콜이었군요..
한번 해봐야 겠습니다..
감사합니다 ^^
프로토콜의 차이 없이 로그인에 성공 했습니다.
MD5고 뭐고 암것도 필요 없고
그냥 제가 올려드린 소스로 로그인 해버리니까 되는;;
어떻게 하셨는지 과정을 설명 해주셨으면 좋겠네요
아마도 로그인서버측에서 호환성을 위해 이전버전의 프로토콜도 지원하기 때문에 그런듯 하네요.
일단 따아님께서 올려주신 cpp소스를 보기좋게 C로 다시 썼습니다. 한 3시간 걸렸다는 --;
결과는 동일하게 나오는군요..
시간이 없어서 아직 로그인을 하는 테스트 프로그램조차 못만들어 봤고...
일단 집에가서 테스트를 해봐야겠습니다.
echo client로 로그인 테스트를 하는데요..ㅋ 이게 편하더군요
우선 소스 올려 주신 따아님 감사합니다. ^^
padding 붙는게 약간 패킷 캡쳐한거와 다르더군요. 그 부분하고 getChar 고쳤습니다.
그냥 남겨둔 더이상 getChar_o 는 필요없습니다.
ps1. 따아님. 소스 어떻게 만드셨나요? 리버스 해서 어셈블리 보고 만드신건가요?
ps2. puaxx님. 소스 보셨다니 아시겠지만 그 암호화된 문자열에서 실제 암호 유추 가능합니다.
아무래도 패스워드 바꾸시고 그 부분은 지우시는게 좋을거 같네요.
네이트온이있더군요 그 소스에서 암호화 부분을 가져다가
c++로 바꾸기만한 소스입니다.-_-;;
파일이 왜 안보이는 걸까요?
그래서 링크로 ^^;; crypto.java
저도 나름대로 만들어본 C버전 소스입니다.쩝.
텍스트 포맷에 대한 자세한 정보
<code>
<blockcode>
<apache>
<applescript>
<autoconf>
<awk>
<bash>
<c>
<cpp>
<css>
<diff>
<drupal5>
<drupal6>
<gdb>
<html>
<html5>
<java>
<javascript>
<ldif>
<lua>
<make>
<mysql>
<perl>
<perl6>
<php>
<pgsql>
<proftpd>
<python>
<reg>
<spec>
<ruby>
<foo>
[foo]
저도..
같은 문제때문에 고민 많이 했습니다..ㅎㅎㅎ
저도 네이트온을 만들어보고 있어서;;
des라고는 하지만 그다지-_-;; 그냥
-_-;; 허접하지만; 소스를 올려드리겠습니다.
웁스!정말요?
점점 미궁으로 빠지는 느낌입니다.
일단은 perl로 로그인만을 테스트 중이구요..QT로 만들 생각입니다.로그인만 넘어가면 좀 수월할듯 한데 ㅜㅜ...에고..
아래는 제가 캡쳐한 패킷입니다.
LSIN 1 puaxx@nate.com 1150d4d03113952e1bcf30a16362ca94 MD5 3.555 UTF8
위가 암호화된 패킷을 보낼때의 패킷입니다.
1150d4d03113952e1bcf30a16362ca94
이게 암호화된 패스워드라고 추측이 되는데...문제는 md5로 해도 같게 나오지 않는다는것이구요.
물론 알려주신 소스를 컴팔해서 같은 패스워드를 암호화 해보면
ef69c85919b8382938070e1c3870e0c003070e1c3870e1c0
와 같이 전혀 다른길이와 형태의 값이 나옵니다.이 값을 md5로 다시 인코딩해보아도 패킷상의 값과는 틀리게 나왔습니다.
그런데 보여주신 소스를 가지고 로긴을 성공하셨다니 저로서는 알쏭달쏭할 뿐입니다.ㅜㅜ
소스 맨밑에
소스코드 맨 밑에 메인부분에
string pass= " password" 라고 있는데 저기에있는 "password"가 패스워드 입니다 여기에
string pass="yourpasswd"처럼 님의 패스워드를 넣고 컴파일해서 실행하면 됩니다;
수정하지 않고 사용하신듯 하네요
int main(){
string pass = "password";
string result = genDESKey(pass);
cout << result << endl;
return 0;
}
아닙니다.
제 패스워드 분명히 넣고 했죠..저 바보 아니에요 ㅜㅜ;;;
http://kldp.org/node/68208
http://kldp.org/node/68208
마지막 글타레에 소스파일 있습니다 ^^
부디 성공 하시길 !!!
-----------------------
아잉 ~ 까꿍 ~
---------------------------------------
blog : http://myohan.egloos.com
myhoan 님..
myohan 님..
혹시 dormael 님이 올려주신 자바 파일 가지고 계시면
올려 주시면 감사하겠습니다.
===================
slow and steady
앗.....
야호!
일단 두분께 감사드리구요..
저녁에 집에가서 함 해봐야 겠습니다 ^^
위 두분 모두꺼 해봤습니다.
그런데 패킷으로 넘어가는 암호화된 값하고..
위 두분의 소스를 컴파일해서 나오는 값하고 전혀 틀려서 문제 입니다..-_-;
후아 이건 로긴부터가 어렵네요..
ㅜㅜ
음..
저는 제가 올려드린 소스를 이용해서
로그인을에 성공했습니다.;;ㅎ
QT 로 개발하시는 건가요?
puaxx 님.. 네이트온
puaxx 님.. 네이트온 3.5버전 실행해서 패킷 캡쳐 하신거 같군요.
따아님이 올려주신건 보니까 3.1버전에서 만들어지는 거랑 비슷하네요.
ef69c85919b83829 38070e1c3870e0c0 03070e1c3870e1c0
이렇게 16자리씩 잘라보면 뒤에 부분은 같은 값의 반복인데 뭔가 조금 다르네요.
3.1버전 깔아서 업데이트 하지 마시고 패킷 캡쳐 해보세요.
===================
slow and steady
아....
아...3.1프로토콜이었군요..
한번 해봐야 겠습니다..
감사합니다 ^^
음...
프로토콜의 차이 없이 로그인에 성공 했습니다.
MD5고 뭐고 암것도 필요 없고
그냥 제가 올려드린 소스로 로그인 해버리니까 되는;;
어떻게 하셨는지 과정을 설명 해주셨으면 좋겠네요
^^
아마도 로그인서버측에서 호환성을 위해 이전버전의 프로토콜도 지원하기 때문에 그런듯 하네요.
일단 따아님께서 올려주신 cpp소스를 보기좋게 C로 다시 썼습니다.
한 3시간 걸렸다는 --;
결과는 동일하게 나오는군요..
시간이 없어서 아직 로그인을 하는 테스트 프로그램조차 못만들어 봤고...
일단 집에가서 테스트를 해봐야겠습니다.
저는;
echo client로 로그인 테스트를 하는데요..ㅋ 이게 편하더군요
따아님 소스를 수정해봤습니다. (자바)
우선 소스 올려 주신 따아님 감사합니다. ^^
padding 붙는게 약간 패킷 캡쳐한거와 다르더군요. 그 부분하고 getChar 고쳤습니다.
그냥 남겨둔 더이상 getChar_o 는 필요없습니다.
ps1. 따아님. 소스 어떻게 만드셨나요? 리버스 해서 어셈블리 보고 만드신건가요?
ps2. puaxx님. 소스 보셨다니 아시겠지만 그 암호화된 문자열에서 실제 암호 유추 가능합니다.
아무래도 패스워드 바꾸시고 그 부분은 지우시는게 좋을거 같네요.
===================
slow and steady
아니요 자바로 만들어진
네이트온이있더군요 그 소스에서 암호화 부분을 가져다가
c++로 바꾸기만한 소스입니다.-_-;;
분명히 파일을 올렸는데..
파일이 왜 안보이는 걸까요?
그래서 링크로 ^^;;
crypto.java
===================
slow and steady
저도....
저도 나름대로 만들어본 C버전 소스입니다.쩝.
댓글 달기