73 lines
2.5 KiB
Python
73 lines
2.5 KiB
Python
from protobuf import message_pb2
|
|
|
|
from messages.member import MemberMessage
|
|
from messages.like import LikeMessage
|
|
from messages.roomuserseq import RoomUserSeqMessage
|
|
from messages.gift import GiftMessage
|
|
from messages.social import SocialMessage
|
|
from messages.chat import ChatMessage
|
|
|
|
from colorama import init, Fore
|
|
# define colors
|
|
RED = Fore.RED
|
|
GREEN = Fore.GREEN
|
|
BLUE = Fore.BLUE
|
|
CYAN = Fore.CYAN
|
|
MAGENTA = Fore.MAGENTA
|
|
YELLOW = Fore.YELLOW
|
|
WHITE = Fore.WHITE
|
|
RESET = Fore.RESET
|
|
init()
|
|
|
|
def unpackMsgBin(filepath):
|
|
response = message_pb2.Response()
|
|
|
|
try:
|
|
with open(filepath, 'rb') as f:
|
|
response.ParseFromString(f.read())
|
|
|
|
decodeMsg(response.messages)
|
|
except Exception as e:
|
|
pass
|
|
|
|
def decodeMsg(messages):
|
|
for message in messages:
|
|
try:
|
|
if message.method == 'WebcastMemberMessage':
|
|
member_message = MemberMessage()
|
|
member_message.set_payload(message.payload)
|
|
member_message.persists()
|
|
print(f"\n{RED}[+] {member_message} {RESET}")
|
|
|
|
elif message.method == 'WebcastSocialMessage':
|
|
social_message = SocialMessage()
|
|
social_message.set_payload(message.payload)
|
|
social_message.persists()
|
|
print(f"\n{GREEN}[+] {social_message} {RESET}")
|
|
|
|
elif message.method == 'WebcastChatMessage':
|
|
chat_message = ChatMessage()
|
|
chat_message.set_payload(message.payload)
|
|
chat_message.persists()
|
|
print(f"\n{BLUE}[+] {chat_message} {RESET}")
|
|
|
|
elif message.method == 'WebcastLikeMessage':
|
|
like_message = LikeMessage()
|
|
like_message.set_payload(message.payload)
|
|
like_message.persists()
|
|
print(f"\n{CYAN}[+] {like_message} {RESET}")
|
|
|
|
elif message.method == 'WebcastGiftMessage':
|
|
gift_message = GiftMessage()
|
|
gift_message.set_payload(message.payload)
|
|
gift_message.persists()
|
|
print(f"\n{MAGENTA}[+] {gift_message} {RESET}")
|
|
|
|
elif message.method == 'WebcastRoomUserSeqMessage':
|
|
room_user_seq_message = RoomUserSeqMessage()
|
|
room_user_seq_message.set_payload(message.payload)
|
|
# room_user_seq_message.persists()
|
|
print(f"\n{YELLOW}[+] {room_user_seq_message} {RESET}")
|
|
|
|
except Exception as e:
|
|
print(e) |