xgmsv/analysis/opcodes.py
2024-01-21 14:31:43 -08:00

226 lines
4.3 KiB
Python

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},')