Replies: 6 comments 6 replies
-
https://developers.kakao.com 여기서 카카오링크 템플릿을 생성할 수 있는데, 여기서 힌트가 나올 수 도 있지 않을까 싶습니다. |
Beta Was this translation helpful? Give feedback.
-
|
Beta Was this translation helpful? Give feedback.
-
일단은 단순히 노카로 보내는 방법을 빠른 시일내에 성공할 수 있을 것 같지 않아, 브라우저에서 보내는대로의 동작을 따라하는 모듈을 만들고 있습니다. 분석 중, 채팅방 목록을 가져오는데,
혹시 알고 계신분은 답변주시면 감사하겠습니다. |
Beta Was this translation helpful? Give feedback.
-
카카오링크 모듈을 따로 만들었습니다. 모듈은 위에서 말한 것과 같이 브라우저에서 동작하는 내용을 자동으로 할 수 있도록 포팅한 것이며, 그만큼 효율이 노카로 보내는 것보다 떨어집니다. |
Beta Was this translation helpful? Give feedback.
-
카카오톡 앱 [REDACTED] 패키지에 [REDACTED] 클래스가 존재하고, 이것이 지금까지 저희가 써왔던 카카오링크 전송 정보를 가지고 있는 클래스입니다. 이전에 말했다 시피, 기존에 분석한 바로는 [REDACTED] 패키지에 카카오링크 관련 검사 메서드인 [REDACTED] 함수가 유효성검사하는 함수인 것 같습니다. 1먼저 2[REDACTED](P) 항목의 내용중 subType(TP), message(ME), serviceId(SID), docId(DID)들을 코틀린 isBlank함수 사용, 빈값이 아닌지 검사합니다. Content(C) 값이 존재할 땐, 각각의 유효성검사를 따로 한다는 것도 알았습니다. FeedContent든 ListContent든 Content 추상 클래스를 상속받습니다. 그 중 유효성 검사를 해 3verified(KV)의 값이 FALSE라면, forwardable(FW) 또한 FALSE여야 합니다. 4subType(TP) 의 값이 쓰면서 여기까지 알아보니 이 검사루틴은 공유관리자에서 사용하는 것이고, 특정 채팅 타입을 검사하기 위한 루틴인 것 같습니다. 결과적으로, 허탕친 것을 알았습니다. 그러나 1번과 2번 루틴은 그럴싸한 검사방식이니 아주 허탕은 아니라고 심심한 본인위로를 합니다. Note: 해당 글은 @storycraft 에 의해 일부 내용이 수정되었습니다. |
Beta Was this translation helpful? Give feedback.
-
저희에게 중요한 것은 샵검색 기능이 이는 서버에서 유효성 검사를 등록하는 게 아니라 유효성 코드를 부여한 상황에서 전송한다는 것을 알 수 있습니다. 다음은 후킹한 로그 중 로코 전송시에 데이터이니 관심있으신 분은 보시기 바랍니다.
|
Beta Was this translation helpful? Give feedback.
-
시험 버전은
4.0.6 stable
버전입니다.정상 동작하는 카카오링크에 대한 정보는 네이버 블로그 공유하기를 기준으로 테스트했습니다.
(공유하기의 카카오링크 타입은FEED 입니다.)
카카오링크를 보내거나 받을때의 정보는 가장 상위에
P(CustomInfo)
,C(CustomContent)
,K(KakaoLinkInfo)
입니다.여기서
K
의 내부 값은 변경되어도 상관없습니다.이외
P
또는C
의 내용이 변경되기라도 한다면 카카오링크는 전송되지 않습니다.메시지 한 글자, 정보 하나라도 변경되면 올바르지 않은 카카오링크로 인식한다는 소리입니다. 오죽하면 썸네일 이미지 가로크기 정보인
W
를 1 증가시켜도 보내지지 않습니다.제가 생각하기엔
P -> A
객체의 내용이 검사의 열쇠가 된다고 생각됩니다.버전 3의 소스를 보면 타입이
boolean
으로 되어있었는데, 지금 보면 객체가 들어가더군요.객체의 내용은 다음과 같습니다.
version
은 내버려둔다고 해도,code
,createAt
이 핵심같습니다.createAt
은 대충 카카오링크 생성시간같고요.Date.now()
의 값입니다.code
는 보시다시피 base64 인코딩이 되어있는데 디코딩해보면 항상 다른 32바이트 길이의 값이 나옵니다.처음에는 이 값을 분석하면 될 것 같았는데, 지금보니 이 값은 그냥 해시값인 것 같습니다.
해시값을 가지고 서버에서 유효성을 검사하는 것 같고, 그러면 원하는 정보를 토대로 유효성 OK를 받는 카카오링크는 어떻게 동작해야될지 알아봐야 합니다.
저도 틈날 때마다 연구하고 진척이 있으면 업데이트 할테니 여러분도 카카오링크를 보내는 방법을 업데이트 해주시면 감사하겠습니다.
틈날 때마다 연구하고 피드를 업데이트 중이니 가장 마지막에 업데이트 된순으로 보시려면 오른쪽 아래 Newest로 정렬해서 봐주세요.
Beta Was this translation helpful? Give feedback.
All reactions