qq分享产生的xml卡片消息存储在qq内存中,可以在qq运行内存中搜索找到其xml源码,记录源码相应的内存地址,通过内存地址修改掉内存数据,再次转发这条分享的消息就会发现内容的变化。
要实现完全自定义XML卡片消息就要继续操作↓
还需要继续过滤,直到确定唯一存储了卡片消息源码的那个内存地址。
若转发的消息内容无变化,说明刚才所选的那些地址不是存储xml源码的地址,删除那些地址条目;
若内容变化,说明所选的地址其中有一个真正存储xml源码的地址,删除除这些地址以外的地址条目。
13.双击条目的type(类型)表头数据,将刚才添加的地址条目的数据类型指定为字符串
转发测试效果
[DllImportAttribute("kernel32.dll")]public static extern IntPtr OpenProcess(int dwDesiredAccess,bool bInheritHandle,int dwProcessId); [DllImportAttribute("kernel32.dll")]public static extern bool WriteProcessMemory(IntPtr hProcess,IntPtr lpBaseAddress,int[] lpBuffer,int nSize,IntPtr lpNumberOfBytesWritten); [DllImport("kernel32.dll")]private static extern void CloseHandle(IntPtr hObject); public static void WriteMemoryValue() { IntPtr hProcess = OpenProcess(0x1F0FFF, false, 8608); WriteProcessMemory(hProcess, (IntPtr)0x17729DBF, new[] {0x3C, 0x3F,}, 4, IntPtr.Zero); CloseHandle(hProcess); }
这里随便解释几个qq内置的xml卡片消息样式的标识符,更多的可以通过搜索内存查找分析或网上提问。
ActionData:点击消息的跳转地址,可以跳转打开一个网址,可以打开一个qq号的资料卡
<msg serviceID= templateID= action= = brief= sourceMsgId= url= flag= adverSign= multiMsgFlag=>
Source:消息后缀
<source name="官方认证消息" icon="https://qzs.qq.com/ac/qzone_v5/client/auth_icon.png" action="" appid="-1" />
Item:内容板块,可以在消息内容中插入一张图片,可以插入标题,具体内容。layout的数值决定了板块的样式
<item layout="9">
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"></msg>
框架中的消息内容里至少有一项内容才能发送出去
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"><item layout="2"><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item></msg>
1.简要提示:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"brief="[QQ红包]发红包啦!"> <item><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item> </msg>
2.点击打开资料卡
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"action="plugin" actionData="mqqapi://card/show_pslcard?src_type=internal&source=sharecard&version=1&uin=2221234077"> <item><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item> </msg>
3.点击打开网页
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"action="web" url="http://buluo.qq.com/mobile/detail.html?bid=12372&pid=4694151-1528083221&_bid=128&_wv=1027#from=grp_sub_obj&gid=613689927&_wv=1027"> <item><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item> </msg>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item> </msg>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item> <title>test title</title><summary>test content</summary></item> </msg>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item> <title>test title</title> <summary>test content</summary><picture cover="http://url.cn/5CEwIUy"/></item> </msg>
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item><title>生死8秒!女司机高速急刹,他一个操作救下一车性命</title></item><source name="官方认证消息" icon="https://qzs.qq.com/ac/qzone_v5/client/auth_icon.png" action="" appid="-1" /></msg>
默认样式:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item> <title>test title</title> <summary>test content</summary> <picture cover="http://url.cn/5CEwIUy"/> </item> </msg>
样式2:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item layout="2"> <title>test title</title> <summary>test content</summary> <picture cover="http://url.cn/5CEwIUy"/> </item> </msg>
样式3:
<?xml version="1.0" encoding="UTF-8" standalone="yes"?> <msg serviceID="1"> <item layout="9"> <title>test title</title> <summary>test content</summary> <picture cover="http://url.cn/5CEwIUy"/> </item> </msg>
样式4:
layout="10"
更多样式请修改layout的值自行测试。