네이트온 메신저 로긴할때 암호화 방식이 ??

puaxx의 이미지

리눅스상에서 쓸 네이트온 클론을 만들어 볼라고 그러는데요..

처음부터 막히네요.

일단 로긴부터 시작을 해야되는데...

패킷을 분석해 보니...암호가 md5도 아니고 des가 써있길래 des로 암호화 해도 패킷에 나온것과는 틀리게 나오더라구요..

혹시 네이트온 클론 만드시는 님들 없으신가요?

로긴부터 막히네요..조언좀 얻어가겠습니다.

요니요니의 이미지

같은 문제때문에 고민 많이 했습니다..ㅎㅎㅎ

저도 네이트온을 만들어보고 있어서;;

des라고는 하지만 그다지-_-;; 그냥
-_-;; 허접하지만; 소스를 올려드리겠습니다.

puaxx의 이미지

점점 미궁으로 빠지는 느낌입니다.

일단은 perl로 로그인만을 테스트 중이구요..QT로 만들 생각입니다.로그인만 넘어가면 좀 수월할듯 한데 ㅜㅜ...에고..

아래는 제가 캡쳐한 패킷입니다.

LSIN 1 puaxx@nate.com 1150d4d03113952e1bcf30a16362ca94 MD5 3.555 UTF8

위가 암호화된 패킷을 보낼때의 패킷입니다.

1150d4d03113952e1bcf30a16362ca94

이게 암호화된 패스워드라고 추측이 되는데...문제는 md5로 해도 같게 나오지 않는다는것이구요.

물론 알려주신 소스를 컴팔해서 같은 패스워드를 암호화 해보면

ef69c85919b8382938070e1c3870e0c003070e1c3870e1c0

와 같이 전혀 다른길이와 형태의 값이 나옵니다.이 값을 md5로 다시 인코딩해보아도 패킷상의 값과는 틀리게 나왔습니다.

그런데 보여주신 소스를 가지고 로긴을 성공하셨다니 저로서는 알쏭달쏭할 뿐입니다.ㅜㅜ

따아a의 이미지

소스코드 맨 밑에 메인부분에

string pass= " password" 라고 있는데 저기에있는 "password"가 패스워드 입니다 여기에
string pass="yourpasswd"처럼 님의 패스워드를 넣고 컴파일해서 실행하면 됩니다;
수정하지 않고 사용하신듯 하네요
int main(){
string pass = "password";
string result = genDESKey(pass);

cout << result << endl;
return 0;
}

puaxx의 이미지

제 패스워드 분명히 넣고 했죠..저 바보 아니에요 ㅜㅜ;;;

myohan의 이미지

http://kldp.org/node/68208

마지막 글타레에 소스파일 있습니다 ^^

부디 성공 하시길 !!!
-----------------------
아잉 ~ 까꿍 ~

---------------------------------------
blog : http://myohan.egloos.com

yakkle의 이미지

myohan 님..
혹시 dormael 님이 올려주신 자바 파일 가지고 계시면
올려 주시면 감사하겠습니다.

===================
slow and steady

puaxx의 이미지

야호!

일단 두분께 감사드리구요..

저녁에 집에가서 함 해봐야 겠습니다 ^^

puaxx의 이미지

그런데 패킷으로 넘어가는 암호화된 값하고..
위 두분의 소스를 컴파일해서 나오는 값하고 전혀 틀려서 문제 입니다..-_-;

후아 이건 로긴부터가 어렵네요..

ㅜㅜ

요니요니의 이미지

저는 제가 올려드린 소스를 이용해서

로그인을에 성공했습니다.;;ㅎ

QT 로 개발하시는 건가요?

yakkle의 이미지

puaxx 님.. 네이트온 3.5버전 실행해서 패킷 캡쳐 하신거 같군요.
따아님이 올려주신건 보니까 3.1버전에서 만들어지는 거랑 비슷하네요.
ef69c85919b83829 38070e1c3870e0c0 03070e1c3870e1c0

이렇게 16자리씩 잘라보면 뒤에 부분은 같은 값의 반복인데 뭔가 조금 다르네요.

3.1버전 깔아서 업데이트 하지 마시고 패킷 캡쳐 해보세요.

===================
slow and steady

puaxx의 이미지

아...3.1프로토콜이었군요..

한번 해봐야 겠습니다..

감사합니다 ^^

요니요니의 이미지

프로토콜의 차이 없이 로그인에 성공 했습니다.

MD5고 뭐고 암것도 필요 없고

그냥 제가 올려드린 소스로 로그인 해버리니까 되는;;

어떻게 하셨는지 과정을 설명 해주셨으면 좋겠네요

puaxx의 이미지

아마도 로그인서버측에서 호환성을 위해 이전버전의 프로토콜도 지원하기 때문에 그런듯 하네요.

일단 따아님께서 올려주신 cpp소스를 보기좋게 C로 다시 썼습니다.
한 3시간 걸렸다는 --;

결과는 동일하게 나오는군요..

시간이 없어서 아직 로그인을 하는 테스트 프로그램조차 못만들어 봤고...

일단 집에가서 테스트를 해봐야겠습니다.

따아a의 이미지

echo client로 로그인 테스트를 하는데요..ㅋ 이게 편하더군요

yakkle의 이미지

우선 소스 올려 주신 따아님 감사합니다. ^^

padding 붙는게 약간 패킷 캡쳐한거와 다르더군요. 그 부분하고 getChar 고쳤습니다.

그냥 남겨둔 더이상 getChar_o 는 필요없습니다.

ps1. 따아님. 소스 어떻게 만드셨나요? 리버스 해서 어셈블리 보고 만드신건가요?

ps2. puaxx님. 소스 보셨다니 아시겠지만 그 암호화된 문자열에서 실제 암호 유추 가능합니다.

아무래도 패스워드 바꾸시고 그 부분은 지우시는게 좋을거 같네요.

===================
slow and steady

따아a의 이미지

네이트온이있더군요 그 소스에서 암호화 부분을 가져다가

c++로 바꾸기만한 소스입니다.-_-;;

yakkle의 이미지

파일이 왜 안보이는 걸까요?

그래서 링크로 ^^;;

crypto.java

===================
slow and steady

puaxx의 이미지

저도 나름대로 만들어본 C버전 소스입니다.쩝.

댓글 달기

Filtered HTML

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

BBCode

  • 텍스트에 BBCode 태그를 사용할 수 있습니다. URL은 자동으로 링크 됩니다.
  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param>
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.

Textile

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • You can use Textile markup to format text.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Markdown

  • 다음 태그를 이용하여 소스 코드 구문 강조를 할 수 있습니다: <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].
  • Quick Tips:
    • Two or more spaces at a line's end = Line break
    • Double returns = Paragraph
    • *Single asterisks* or _single underscores_ = Emphasis
    • **Double** or __double__ = Strong
    • This is [a link](http://the.link.example.com "The optional title text")
    For complete details on the Markdown syntax, see the Markdown documentation and Markdown Extra documentation for tables, footnotes, and more.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 사용할 수 있는 HTML 태그: <p><div><span><br><a><em><strong><del><ins><b><i><u><s><pre><code><cite><blockquote><ul><ol><li><dl><dt><dd><table><tr><td><th><thead><tbody><h1><h2><h3><h4><h5><h6><img><embed><object><param><hr>

Plain text

  • HTML 태그를 사용할 수 없습니다.
  • web 주소와/이메일 주소를 클릭할 수 있는 링크로 자동으로 바꿉니다.
  • 줄과 단락은 자동으로 분리됩니다.
댓글 첨부 파일
이 댓글에 이미지나 파일을 업로드 합니다.
파일 크기는 8 MB보다 작아야 합니다.
허용할 파일 형식: txt pdf doc xls gif jpg jpeg mp3 png rar zip.
CAPTCHA
이것은 자동으로 스팸을 올리는 것을 막기 위해서 제공됩니다.