Files
wechat_chatter/idapro/trigger_send.py
T
2025-12-25 18:41:33 +08:00

81 lines
3.2 KiB
Python

import ida_idd
import ida_bytes
import idc
import time
sendMessageAddress = 0x1120eed40
MessageAddress = 0x1120eee40
task_id = 0x20000090
idc.patch_dword(MessageAddress + 0x08, task_id)
idc.patch_dword(sendMessageAddress + 0x20, task_id)
idc.patch_dword(0x175ED6600, task_id)
MessageAddrAddr = 0x1120eed80
idc.patch_dword(MessageAddrAddr+0x18, int(time.time()))
# 改task id, 改 cgi,改第一个指针即可
payload = (
b"\x0A\x02\x00\x00" # 0x00 // task id / cmd id 175ED6600
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x08
b"\x03\x00\x00\x00\x10\x00\x00\x00" # 0x10
b"\x40\xec\x0e\x12\x01\x00\x00\x00" # 0x18 // cgi 1120eec40
b"\x20\x00\x00\x00\x00\x00\x00\x00" # 0x20
b"\x30\x00\x00\x00\x00\x00\x00\x80" # 0x28
b"\x00\x01\x01\x01\x00\xAA\xAA\xAA" # 0x30
b"\x00\x00\x00\x00\x03\x00\x00\x00" # 0x38
b"\x01\x00\x00\x00\xFF\xFF\xFF\xFF" # 0x40
b"\xFF\xFF\xFF\xFF\x00\xAA\xAA\xAA" # 0x48
b"\xFF\xFF\xFF\xFF\xAA\xAA\xAA\xAA" # 0x50
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x58
b"\x0A\x02\x00\x00\x00\x00\x00\x00" # 0x60
b"\x64\x65\x66\x61\x75\x6C\x74\x2D" # 0x68 (default-)
b"\x6C\x6F\x6E\x67\x6C\x69\x6E\x6B" # 0x70 (longlink)
b"\x00\xAA\xAA\xAA\xAA\xAA\xAA\x10" # 0x78
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x80
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x88
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x90
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x98
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xA0
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xA8
b"\x00\x00\x00\x00\xAA\xAA\xAA\xAA" # 0xB0
b"\xC0\x66\xED\x75\x01\x00\x00\x00" # 0xB8
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xC0
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xC8
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xD0
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xD8
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xE0
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xE8
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xF0
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0xF8
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x100
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x108
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x110
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x118
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x120
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x128
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x130
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x138
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x140
b"\x01\x00\x00\x00\xAA\xAA\xAA\xAA" # 0x148
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x150
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x158
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x160
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x168
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x170
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x178
b"\x03\x00\x00\x00\x00\x00\x00\x00" # 0x180
b"\x00\x00\xAA\xAA\xAA\xAA\xAA\xAA" # 0x188
b"\x98\x67\xED\x75\x01\x00\x00\x00" # 0x190
b"\x00\x00\x00\x00\x00\x00\x00\x00" # 0x198
)
ida_bytes.patch_bytes(0x175ED6604, payload)
my_func = ida_idd.Appcall.proto(0x10444A99C, "long long __fastcall sub_10444A99C(long long *a1, long long a2);")
try:
my_func(0x8E1699400, 0x175ED6600)
print("Executed with manually set X0.")
except Exception as e:
print(f"Error: {e}")