clear trash

This commit is contained in:
yincong
2026-02-24 11:08:32 +08:00
parent 9dc9b9a982
commit ae3d26bc0c
4 changed files with 26 additions and 96 deletions
-62
View File
@@ -1,62 +0,0 @@
var runReadX0 = ptr(0)
var originCgiPtr = ptr(0)
function patchRunReadWrite() {
Interceptor.attach(runReadWriteAddr, {
onEnter: function (args) {
try {
if (this.context.x5.isNull() || this.context.x5.compare(baseAddr) <= 0) {
return
}
const x5 = this.context.x5;
const cTaskId = x5.add(0x308).readU32();
if (cTaskId !== taskIdGlobal) {
return
}
console.log("[+] enter runReadWriteAddr: " + runReadWriteAddr)
const domainAddr = x5.add(0xd8);
const domainBytes = [
0x73, 0x7A, 0x73, 0x68, 0x6F, 0x72, 0x74, 0x2E, // szshort.
0x77, 0x65, 0x69, 0x78, 0x69, 0x6E, 0x2E, 0x71, // weixin.q
0x71, 0x2E, 0x63, 0x6F, 0x6D // q.com
];
domainAddr.writeByteArray(domainBytes);
domainAddr.add(domainBytes.length).writeU8(0);
domainAddr.add(23).writeU8(0x15);
runReadX0 = this.context.x0;
originCgiPtr = runReadX0.add(0x1018).readPointer();
runReadX0.add(0x1018).writePointer(cgiAddr);
runReadX0.add(0x1020).writeU64(0x22);
console.log("[+] enter runReadWriteAddr finished: " + domainAddr.readUtf8String())
} catch (e) {
console.log("[-] Memory access error at onEnter: " + e);
}
}
})
Interceptor.attach(runReadWriteAddr1, {
onEnter: function (args) {
try {
if (this.context.x20.isNull() || this.context.x20.compare(baseAddr) <= 0) {
return
}
const cTaskId = this.context.x20.add(0x308).readU32();
if (cTaskId !== taskIdGlobal) {
return
}
runReadX0.add(0x1018).writePointer(originCgiPtr);
console.log("[+] leave runReadWriteAddr finished: " + runReadWriteAddr)
} catch (e) {
console.log("[-] Memory access error at onLeave: " + e);
}
}
})
runReadWriteAddr1
}
setImmediate(patchRunReadWrite)
-27
View File
@@ -1,27 +0,0 @@
const mod = Process.getModuleByName("ilink_protobuf");
var addr = mod.base.add(0x12DD4);
console.log("Hooking SerializeToArray at", addr);
Interceptor.attach(addr, {
onEnter(args) {
this.buf = args[1];
this.size = args[2].toInt32();
console.log("[+] SerializeToArray called");
console.log("Buffer:", this.buf, "Size:", this.size);
console.log(
Thread.backtrace(this.context, Backtracer.ACCURATE)
.map(DebugSymbol.fromAddress)
.join("\n")
);
},
onLeave() {
try {
console.log("Data:");
console.log(hexdump(Memory.readByteArray(this.buf, this.size)));
} catch (e) {
console.log("Error:", e);
}
}
});
+4 -7
View File
@@ -48,14 +48,12 @@ function setReceiver() {
var messages = [];
var senderNickname = ""
let splitIndex = content.indexOf(':')
let pureContent = content.substring(splitIndex + 1).trim();
if (sender.includes("@chatroom")) {
msgType = "group"
groupId = sender
senderUser = content.substring(0, splitIndex).trim();
let splitIndex = content.indexOf(':')
let pureContent = content.substring(splitIndex + 1).trim();
const parts = pureContent.split('\u2005');
for (let part of parts) {
part = part.trim();
@@ -91,7 +89,7 @@ function setReceiver() {
// 处理用户的名称
const splitIndex = userContent.indexOf(':')
senderNickname = userContent.substring(0, splitIndex).trim();
messages.push({type: "text", data: {text: pureContent}});
messages.push({type: "text", data: {text: content}});
}
const msgId = generateAESKey()
@@ -208,8 +206,7 @@ function getCleanString(uint8Array) {
out += String.fromCharCode(charCode);
}
}
}
else if ((c & 0xF8) === 0xF0 && i + 2 < len) {
} else if ((c & 0xF8) === 0xF0 && i + 2 < len) {
var c2 = uint8Array[i++];
var c3 = uint8Array[i++];
var c4 = uint8Array[i++];
+22
View File
@@ -0,0 +1,22 @@
{
"protobufAddr": "",
"patchTextProtobufAddr": "",
"PatchTextProtobufDeleteAddr": "",
"sendMessageCallbackFunc": "",
"sendFuncAddr": "",
"req2bufEnterAddr": "",
"req2bufExitAddr": "",
"imgProtobufAddr": "",
"patchImgProtobufFunc1": "",
"patchImgProtobufFunc2": " ",
"imgProtobufDeleteAddr": "",
"uploadImageAddr": "",
"CndOnCompleteAddr": "",
"sendImgMessageCallbackFunc": "",
"buf2RespAddr": "",
"imgMessageCallbackFunc1": "",
"uploadGetCallbackWrapperAddr": "",
"uploadGetCallbackWrapperFuncAddr": "",
"uploadOnCompleteAddr": "",
"uploadOnCompleteFuncAddr": ""
}