2013년 8월 6일 화요일

[카카오톡] 헥사봇


* 2014.01.13 Announcement *

The End :)



* 2013.12.12 Announcement *


'carpedm20'으로 검색이 허용되지 않는것으로 보입니다.

현재로서는 지인을 통해 친구 추가하시는 방법밖에 없어 보입니다.

It is not possible to search HeXA Bot with 'carpedm20'.

The only way to make HeXA Bot as your friend is getting some help from your friends.



HeXA Bot is a robot which automatically answer to user's command through KakaoTalk.

Facebook : https://www.facebook.com/photo.php?fbid=468189449939384
HeXA : http://hexa.us.to/

Analysis of LOCO protocol : http://carpedm20.blogspot.kr/2013/07/loco.html

ps. https://pypi.python.org/pypi/kakaotalk
ps2. pip install kakaotalk

댓글 20개:

  1. 헥사봇 잘 쓰고는 있지만 금지어부분이 약간 애매한듯합니다
    확성기, 안성기, 광주리등이 다 금지어처리되네요
    그리고 다른 명령들은 안 들으면서 !나가만 듣는점이랑 !뒤에 무슨말이오더라도 헥사봇이라는 단어를 최우선으로 인식해서 !야 헥사봇 이라고해도 헥사봇 설명이나오네요

    답글삭제
    답글
    1. 먼저 피드백을 주셔서 정말 감사합니다.
      금지어 부분은 민감한 부분이라... 조금더 고민해 보도록 하겠습니다.
      "다른 명령들은 안 들으면서 !나가만 듣는점" 은 잘 이해가 되지 않는데, 헥사봇은 가장 아래의 명령어만 읽습니다 :)
      마지막으로 헥사봇(뿐만아니라 제 이름)을 최우선으로 둔 이유는, 사용자분들이 욕과 함께 사용하시는 경우가 종종 있어서 그렇게 설정해 두었습니다.

      삭제
  2. 개발 부분에 질문있습니다. 초반에 buy를 전송하면서 AES KEY 를 랜덤으로 16바이트만큼 보내는걸로 알고있는데
    지금은 뭔가 128바이트를 보내는듯한느낌이 드네요. 이부분이 지금 제 말이 맞는건지 알려주실수있나요?

    답글삭제
    답글
    1. BUY를 보낸 후, ASE Key를 public key로 RSA encrypt 해서 보냅니다. 몇 바이트였는지는 잘 기억이 안나네요. 확실한건 AES Key를 그냥 평문으로 보내지는 않습니다 :)

      삭제
  3. 죄송한데 제가 rsa 나 aes쪽을 만져보는건 처음이라 RSA encrypt 하는 부분에 key값을 0으로 채워서 보내는게 너무 어렵네요.. 오픈소스 들이 전부 버전이 안맞다던가 말썽이 많아서.. 혹시 0으로 채워진 AES key값을 RSA encrypt 한 바이너리 값을 보내주실수 있나요..?

    답글삭제
    답글
    1. rsa(aes_key) = '?J\x8a\xbf\xf1.\x1cC\x94\xd4\x86\xed\t\xa4G\xcdG\x03Nzw\xe4\x1a\x00\xa2&e\x80\x82CS\xb8\x81\xcb\x95k\x85bxfjK\xebWe\xc4{\xab\xc2{\x1e\x1c\x83X\x90G\xb6\x82\x19T*\xb1p\x8f\x077\xd7\xd6\xe2{;\xda\x1a\x9d\x15&\xcf\xcc\x9c\xc6^y\x15\x9bhaC\x00\x1f\x0f?\xe9+T\x16\xe5\xfbV\xfe\x13H\xe0"\x05\xa3l\xb2J\x90/\xbf\xc9\xb7\xdde\xdf\x92(\xc4\xfb\xf7=\xca\x9a(Y\x89"'

      삭제
    2. 아 지금 확인했네요. 감사합니다!

      삭제
  4. duuid 와 skey 를 찾는부분 링크해놓으셨던데 안들어가지네요..
    bpak.org 도 지금 글이 전부 못읽게 되어있어서 그런데 어떻게 확인하나요?
    거듭된 질문 죄송합니다..

    답글삭제
    답글
    1. 패킷을 열어보니까 S: ~ , A:~ 하고 일정한 키값이 있는데 이것은 skey랑은 관련없으려나요?

      삭제
    2. 저도 오래전에 분석한거라 잘 기억은 안나지만, 'A'가 sKey + '-' + duuid 였던것 같습니다. 그리고 'S' 는 현재 실행되고 있는 os 환경과 카카오톡의 버젼 그리고 언어였던거 같네요 :)

      삭제
  5. 저가 광주에사는데요
    광주라고치면 금지어처리가되서 기분이조금 그렀습니다..허허
    그런거는 좀 수정부탁드립니다.

    답글삭제
    답글
    1. 광주를 금지어 처리해둔 이유는 비정상적인 유저가 특정 지역에 대한 질문을 해서, (제 의사와 상관없이) 헥사봇이 그 지역을 비방하는 대답을 유도하기 때문입니다. 저는 이러한 대답이 이슈화 되는걸 원하지 않기 때문에 금지어로 처리해 두고 있습니다. 이점 양해부탁드립니다 :)

      삭제
  6. !날씨 광주 했더니 금지어네요

    답글삭제
  7. 안녕하새요 ^^

    파이썬으로 기상청 날씨정보 파싱하신거같은대 혹시

    소스파일좀 알려주실수있으실까요 ?

    파이썬 파싱부분을 배우고있습니다, 염치불구하고 여쭤봅니다 .. ㅎㅎ

    답글삭제
    답글
    1. 방금 소스 공개했습니다 :) 날씨정보 파싱부분은 https://github.com/carpedm20/HeXA-Bot/blob/master/kakao2.py#L340 입니다

      삭제
  8. 서버가 기간이 다 되셔서 닫으신건가여?

    답글삭제
  9. 저기 이런건 어떻게 만드시는지 알려주실 수 있습니까?

    답글삭제