puppet-xp
puppet-xp copied to clipboard
运行时报错access violation accessing 0x38
报错信息如下:
15:28:17 SILL SidecarBody [SCRIPT_MESSAGRE_HANDLER_SYMBOL]({"type":"error","description":"Error: access violation accessing 0x38","stack":"Error: access violation accessing 0x38\n at <anonymous> (frida/runtime/core.js:141)\n at onEnter (/script1.js:1195)","fileName":"frida/runtime/core.js","lineNumber":141,"columnNumber":1}, null)
15:28:17 ERR SidecarBody [SCRIPT_MESSAGRE_HANDLER_SYMBOL]() MessageType.Error: Error: access violation accessing 0x38
at <anonymous> (frida/runtime/core.js:141)
at onEnter (/script1.js:1195)
file:///E:/xp/node_modules/sidecar/src/sidecar-body/sidecar-body.ts:400
const e = new Error(message.description)
^
Error: Error: access violation accessing 0x38
at WeChatSidecar.[scriptMessageHandler] (file:///E:/xp/node_modules/sidecar/src/sidecar-body/sidecar-body.ts:400:21)
at E:\xp\node_modules\frida\dist\script.js:95:21
----- Agent Script Internal -----
Error: access violation accessing 0x38
at <anonymous> (frida/runtime/core.js:141)
at onEnter (/script1.js:1195)
依赖版本信息
"dependencies": {
"axios": "^1.2.0",
"dotenv": "^16.0.3",
"koa": "^2.13.4",
"koa-body": "^6.0.1",
"koa-bodyparser": "^4.3.0",
"koa-router": "^12.0.0",
"koa2-cors": "^2.0.6",
"log4js": "^6.7.0",
"node-schedule": "^2.1.0",
"request": "^2.88.2",
"request-promise-native": "^1.0.9",
"sqlite3": "^5.1.2",
"wechaty": "^1.20.2",
"wechaty-puppet-xp": "^1.12.1",
"xml2js": "^0.4.23"
},
"devDependencies": {
"@chatie/tsconfig": "^4.6.3",
"@types/lodash": "^4.14.190",
"@types/node": "^18.11.9",
"@types/xml2js": "^0.4.11",
"cross-env": "^7.0.3",
"ts-node": "^10.9.1"
}
微信版本
系统版本 Windows 10 家庭中文版21H2,19044.2251
I am getting a very similar issue when trying to run my app. My error is the following ,
19:02:35 ERR SidecarBody [SCRIPT_MESSAGRE_HANDLER_SYMBOL]() MessageType.Error: Error: access violation accessing 0xfe5f6b10
at <anonymous> (frida/runtime/core.js:141)
at <eval> (/script1.js:252)
node:events:491
throw er; // Unhandled 'error' event
^
Error: Error: access violation accessing 0xfe5f6b10
at WeChatSidecar.[scriptMessageHandler] (file:///C:/Users/User/wechat/node_modules/sidecar/dist/esm/src/sidecar-body/sidecar-body.js:269:31)
at C:\Users\User\wechat\node_modules\frida\dist\script.js:95:21
----- Agent Script Internal -----
Error: access violation accessing 0xfe5f6b10
at <anonymous> (frida/runtime/core.js:141)
at <eval> (/script1.js:252)
Emitted 'error' event on WeChatSidecar instance at:
at WeChatSidecar.[scriptMessageHandler] (file:///C:/Users/User/wechat/node_modules/sidecar/dist/esm/src/sidecar-body/sidecar-body.js:275:26)
at C:\Users\User\wechat\node_modules\frida\dist\script.js:95:21
My dependencies are the following
"dependencies": {
"wechaty": "^1.20.2",
"wechaty-puppet-xp": "^1.12.4"
}
Hello, 今天我也遇到了同样的问题。此报错是撤回消息引起的。如果使用
const { Message, WechatyBuilder, log, types } = require("wechaty")
//bot login and some other codes...
async function onMessage(message) {
const text = message.text()
const sender = message.talker()
const room = message.room()
const type = message.type()
if (room) {
const topic = await room.topic()
if (type === types.Message.Emoticon) {
console.log(`${sender} in ${topic}: [表情包]`)
} else if (type === types.Message.Attachment) {
console.log(`${sender} in ${topic}: [file]`)
} else if (type === types.Message.Audio) {
console.log(`${sender} in ${topic}: [音频]`)
} else if (type === types.Message.Video) {
console.log(`${sender} in ${topic}: [视频]`)
} else if (type === types.Message.Text) {
console.log(`${sender} in ${topic}:`, text)
} else if (type === types.Message.Image) {
console.log(`${sender} in ${topic}: [图片]`)
} else if (type === types.Message.Recalled) {
const recalled = await message.toRecalled()
console.log(`${sender} in ${topic} recalled a message:`, recalled)
}
} else {
if (type === types.Message.Emoticon) {
console.log(`${sender}: [表情包]`)
} else if (type === types.Message.Attachment) {
console.log(`${sender}: [file]`)
} else if (type === types.Message.Audio) {
console.log(`${sender}: [语音]`)
} else if (type === types.Message.Video) {
console.log(`${sender}: [视频]`)
} else if (type === types.Message.Text) {
console.log(`${sender}:`, text)
} else if (type === types.Message.Image) {
console.log(`${sender}: [图片]`)
} else if (type === types.Message.Recalled) {
console.log(`${sender} recalled a message:`, text)
}
}
}
那么就说明了这一段:
else if (type === types.Message.Recalled) {
console.log(`${sender} recalled a message:`, text)
}
并没有被运行。反而,
else if (type === types.Message.Text) {
console.log(`${sender}:`, text)
}
被运行了。因此就有了这个报错码。希望 @atorber 可以重新审视这个问题
Hello, 今天我也遇到了同样的问题。此报错是撤回消息引起的。如果使用
const { Message, WechatyBuilder, log, types } = require("wechaty") //bot login and some other codes... async function onMessage(message) { const text = message.text() const sender = message.talker() const room = message.room() const type = message.type() if (room) { const topic = await room.topic() if (type === types.Message.Emoticon) { console.log(`${sender} in ${topic}: [表情包]`) } else if (type === types.Message.Attachment) { console.log(`${sender} in ${topic}: [file]`) } else if (type === types.Message.Audio) { console.log(`${sender} in ${topic}: [语音]`) } else if (type === types.Message.Video) { console.log(`${sender} in ${topic}: [视频]`) } else if (type === types.Message.Text) { console.log(`${sender} in ${topic}:`, text) } else if (type === types.Message.Image) { console.log(`${sender} in ${topic}: [图片]`) } else if (type === types.Message.Recalled) { const recalled = await message.toRecalled() console.log(`${sender} in ${topic} recalled a message:`, recalled) } } else { if (type === types.Message.Emoticon) { console.log(`${sender}: [表情包]`) } else if (type === types.Message.Attachment) { console.log(`${sender}: [file]`) } else if (type === types.Message.Audio) { console.log(`${sender}: [音频]`) } else if (type === types.Message.Video) { console.log(`${sender}: [视频]`) } else if (type === types.Message.Text) { console.log(`${sender}:`, text) } else if (type === types.Message.Image) { console.log(`${sender}: [图片]`) } else if (type === types.Message.Recalled) { console.log(`${sender} recalled a message:`, text) } } }
那么就说明了这一段:
else if (type === types.Message.Recalled) { console.log(`${sender} recalled a message:`, text) }
并没有被运行。反而,
else if (type === types.Message.Text) { console.log(`${sender}:`, text) }
被运行了。因此就有了这个报错码。希望 @atorber 可以重新审视这个问题
唯一不一样的是:代码没有被停止运行。反而可以继续收取群消息和私聊消息。