recv_opcodes = { "sz": "w", "pg": "EV", "UUN": "M", "KeOX": "EN", "ik": "DU", "eL": "EO", "NgMy": "BU", "cEj": "JB", "IMv": "LB", "Rg": "B", "Ak": "ID", "iVfo": "IDF", "fIM": "PI", "QpfE": "DI", "woz": "DG", "FvWm": "DP", "yi": "MI", "fS": "IR", "CV": "MSG", "kza": "ALI", "LaR": "ALN", "rMsv": "PMSG", "FPkR": "DAB", "vcAz": "AAB", "Ufm": "GI", "GY": "GT", "CZ": "GMR", "uHb": "BGT", "npzi": "AGM", "XIsR": "LG", "dbQC": "RGM", "uId": "GML", "PfqV": "PGML", "nkda": "GD", "HoW": "PRV", "Ot": "PRS", "TLKH": "PRD", "wD": "PRE", "GH": "PRM", "lz": "PRO", "nB": "L", "uSr": "TK", "dcMv": "FS", "FVm": "HL", "zn": "PR", "LKQy": "KS", "Ukuy": "MP", "iET": "GFL", "McVa": "GPD", "as": "GFLI", "mjCv": "GPDI", "BG": "IH", "MIS": "AC", "klF": "ACS", "RXr": "MU", "sM": "TU", "ixH": "TRPL", "QeuC": "TRS", "aiAb": "TROP", "suI": "TRCL", "OU": "TROC", "Flvp": "PS", "zGp": "ST", "tj": "DT", "ACwB": "FT", "IHw": "LVUP", "kjSK": "PLVUP", "Noeb": "SKSW", "HJQp": "PSSW", "ih": "POS", "ycX": "KN", "xD": "WN", "cZt": "SP", "JFVf": "ClientLogin", "aSEl": "CreateNewChar", "Godf": "CharDelete", "emRV": "CharLogin", "Gp": "CharList", "WA": "CharLogout", "yp": "ProcGet", "rvb": "PlayerNumGet", "Or": "Echo", "IcE": "Shutdown", "DE": "FC", "PGXE": "CH", "lO": "CharLoginGate", "Xoee": "PVUP", "ylGN": "StallStart", "JMh": "StallEnd", "ElVN": "StallBrowse", "wAo": "StallBuy", } send_opcodes = { "Yx": "StallBuy", "KXhH": "StallEnd", "Tmrx": "StallStart", "tq": "MAC", "ed": "PVUP", "PfM": "PV", "Bi": "PlayerNumGet", "GmNM": "CC", "ftaN": "ES", "murD": "PLAYSE", "PVfz": "SH", "bJg": "PC", "wiB": "BGMW", "TFCu": "SE", "Ov": "POS", "sA": "PLVUP", "kg": "LVUP", "BHe": "PS", "We": "TROC", "xEg": "TRCL", "hJq": "TRLG", "NdM": "TROP", "bNY": "PR", "sZWu": "HL", "SkBD": "FS", "frQp": "GD", "oRut": "RGM", "GC": "GC", "IYo": "ALO", "MTg": "BT", "vWpn": "SI", "PudO": "LI", "dAgg": "EN", "OaHi": "EP", "EZ": "EV", "jmb": "MC", "QBt": "XYD", "ft": "StallBrowse", "lSZ": "IP", "LOh": "Echo", "cJzI": "ProcGet", "HMNy": "CharLogout", "Daj": "CharList", "hPUd": "CharLogin", "oy": "CharDelete", "DZ": "CreateNewChar", "whV": "ClientLogin", "TeD": "MN", "zzd": "EF", "BZ": "WN", "Yq": "TRLPS", "RwK": "TRLP", "nUbJ": "TRLI", "ms": "TRS", "Cxo": "TRPL", "JgO": "TU", "nFV": "GPDI", "LY": "GFLI", "ND": "GPD", "ysVc": "GFL", "Yo": "S", "OBee": "PT", "Rspn": "CT", "cNE": "CS", "jv": "CJ", "uSB": "CD", "NI": "CA", "Sc": "TITLE", "JJQj": "CN", "nsY": "C", "TNT": "PP", "AU": "KP2", "IsSy": "KP", "UU": "CP2", "aPc": "CP", "Zd": "STK", "zdr": "TK", "KyN": "PRAD", "DyAG": "PRW", "ow": "PRM", "cNB": "PRE", "DpSY": "PRD", "IUn": "PRA", "eZT": "PRL", "HNP": "PRV", "Rll": "GML", "Kka": "GMI", "yuD": "GM", "znv": "GT", "aDn": "GI", "vI": "ABI", "PhdQ": "ABG", "gnxd": "AB", "lDuJ": "PME", "Dn": "ALN", "dM": "ALI", "Ilz": "AL", "Mhbt": "MSG", "xmgQ": "IR", "rU": "I", "ELoy": "IA", "LYIm": "B", "hB": "RD", "Gn": "RS", "aBS": "M", } class opcode: def __init__(self, opstring, recv_op, send_op): self.o = opstring self.r = recv_op self.s = send_op if __name__ == "__main__": opcodes = {} for recv_op, opstring in recv_opcodes.items(): if opstring not in opcodes: opcodes[opstring] = opcode(opstring, recv_op, "") for send_op, opstring in send_opcodes.items(): if opstring not in opcodes: opcodes[opstring] = opcode(opstring, "", send_op) else: opcodes[opstring].s = send_op for op in opcodes.values(): #print(f'add_opcode_obfuscation_entry( XG_{op.o},\t\t\t\t"{op.o}",\t\t\t\t"{op.r}",\t\t\t\t"{op.s}"),') print(f'XG_{op.o},')