提取保存PC微信图片表情分析
本帖最后由 Sweettea 于 2019-7-22 11:23 编辑某日看到个微信表情,想要保存到本地,然而发现旧方法已失效,无奈又没找到啥新的方法,只好自己动手。
以下是分析过程。
WX客户端版本:2.6.8.51
在新版本微信里,表情文件保存在这个目录下: \WeChat Files\微信号\FileStorage\CustomEmotion
所有图片内容都是被加密了的,都不能以图片格式打开。
自己拿手机添加并发送一个表情,对比原图和加密后文件,发现加密后的文件大小多了7个字节。
用WinHex打开加密后的图片,发现文件头被修改成V1MMWX。
上OD,附加上WeChat.exe,在WeChatWin.dll模块内存使用中文搜索引擎查找文本字符串。
在搜索结果中查找文本V1MMWX,给两个结果都下断点。
这一个内存地址,没收到新的图片就会断下来,猜测是解密本地图片?
取消这个断点,看另外一个内存地址。
拿手机发一个表情(需要本地没有加密保存的表情,本地有的话可以把文件先删除),断下来后看堆栈,翻到第二层返回地址,给上面的CALL下断点。
拿手机再发一个表情,断下来后看堆栈参数,在数据窗口中跟随,对比原图片即可发现,前四个字节指向的内存就是未加密图片的数据,接着四个字节就是未加密图片的文件大小。
分析至此,即可在断点处进行HOOK,每当收到新图片表情时直接写出未加密的图片文件到本地。
附上易语言劫持注入HOOK取图片表情代码:
运行效果:
PS:WIN8/10系统需要以管理员身份运行微信,要不可能会因为权限不够无法创建目录和写出文件
参考帖子:
https://www.52pojie.cn/forum.php?mod=viewthread&tid=735810&authorid=687039&page=1 同版本,但是不成功,没有KCOutput文件夹 补充 直接nop掉jnz的跳转,就可以直接跳过加密图片部分完全不需要写HOOK
提示一下,只要清空CustomEmotion里面的表情文件,这个dll就会起作用。否则会因为图片已存在而不会生成到KCOutput里。 感谢分享,新版wx已失效,网上找了个2.6.8.51还可用。 没效果,没用呀 完全搞不懂怎么提取 下载了两个都不能成功 浪费我时间精力还有币 亲测目前还是可用的,用2.6.8.51版本微信安装路径默认C盘,提前将DLL文件复制到微信根目录下同时创建一个KCOutput文件夹,最后登录微信PC端,用手机给自己发送表情,到KCOutput文件夹下就可看见发送的表情了。 微信闪退报错 亲测可用,只能2.6.8.51版本可用。可以找个绿色版下载,然后把dll放进去。清理掉原来的缓存的表情,然后发送,就会在安装路径下产生新的文件夹,里面就有想要的gif啦 你膨胀了 苦茶 居然变成甜茶了 我也想提取微信表情 围观学习~~刚好想了解 围观学习~~牛b 学到了,很好 高手,厉害 厉害了,学习◖⚆ᴥ⚆◗ 这个就厉害了