首页
学习
活动
专区
工具
TVP
发布
精选内容/技术社群/优惠产品,尽在小程序
立即前往

PC逆向:分析发送xml名片call

本文作者:鬼手56(安之路病毒分析小组成员) 成员招募:安之路病毒分析小组寻找志同道合的朋友 版本 ? 定位发送 xml 名片 call 发送 xml 名片 call 的切入点 ?...在发送 xml 名片时,需要先选择一个对象,我们首先要找的是选择的 call。找到了选择的 call,就能确定要发送的对象的 ID 的地址了。...此时堆栈的参数中有选中的 ID,我们只要通过对这个 ID 下内存访问断点,栈回溯分析,就能找到发送 xml 名片的 call。...定位发送 xml 名片的 call ? 对找到的 ID 的地址下内存访问断点,F9 运行程序 ? 点击发送,此时程序断下,分析附近堆栈 ?...我们修改接收者的 ID,让原本发送给文件助手的 xml 名片发给好友,如果 xml 名片发给了好友,那么可以证明这个就是我们要的发送 xml 名片的 call 方法扩展 依次类推,这种方法可以定位大多数的功能的

1.4K30
您找到你想要的搜索结果了吗?
是的
没有找到

PC逆向:实现自动保存加密的聊天图片

本文作者:鬼手56(安之路病毒分析小组成员 & 安之路 2019 年度优秀作者) 成员招募:安之路病毒分析小组寻找志同道合的朋友 本文基于 anhkgg 大佬的文章《 PC 端技术研究(2)-...基于保存语音的相关延伸 其实这个地方不单单有语音消息,还有图片消息,当我们发送一条图片消息时 ? [edi+0x30] 的内容里面保存有这一次发送图片的相关数据,包括 ID 等一系列原始的数据。...而且我们已经知道的接收的图片会用异或加密的方式保存到本地。那么我们不妨猜测一下图片相关的处理流程。 首先接收到原始的消息后,会对消息进行一系列的处理,其中就包括判断消息是否是图片。...当运行到这里的时候,图片加密已经完成,我们要在这个函数之前找到图片的加密算法,其实就在上面一点点的位置,鼠标稍微往上翻一下就能看到 ?...项目地址 最后附上我的机器人项目地址(点击阅读原文直达): https://github.com/TonyChen56/WeChatRobot

1.8K10

调用企业API发送文本,图片,文件消息

1.调用api向企业(通过CORPID标识)的自建应用程序(通过Secret, AgentID标识)发送文本、图片或者文件消息; 2.创建实例时传入以下参数: (1) touser–>str,接收消息者的标识...(已在企业的通讯录中添加,添加后后台会自动分配标识),多个用户使用 “|” 隔开(如”zhdb|zhj|wqq”),所有人(“@all”); (2) corp_id–>str,企业ID,申请企业时获得...message str") # 发送image图片消息(本地图片) chat.send_message(msg_type='image', file_obj=open(image_path, 'rb'...)) # 发送file文件消息(本地文件) chat.send_message(msg_type='file', file_obj=open(file_path, 'rb')) 另外也经常有这种情况,调用其它图片生成库在线绘制的图形可先存入到二进制缓存文件中...,再将该对象作为file_obj参数传入, 例如用发送用matplotlib所生成的图片: import matplotlib.pyplot as plt import numpy as np from

3.1K10

PC端技术研究(3)-如何找到消息发送接口

准备工具:Cheat Engine,OllyDbg,IDA 前一篇()已经说过 CE 是什么,也应用 CE 研究了如何保存语音,这篇继续使用 CE 和 OD 来研究一下的消息发送接口。...F9 让 OD 跑起来,然后点击发送按钮,没想到意外发生了,输入框内容清空了,但是断点却没有触发。 怎么回事?断点弄错?地址找错?暂时没有答案。...完成后回到界面,没想到直接断下了,我还没点发送按钮呢。根据以前的经验,下意识就觉得是界面刷新显示文字触发了断点,这可能会影响分析,根本没办法通过发送按钮来触发内存访问断点。 ?...回到界面,这次能够正常显示了,点击发送按钮。OD 触发断点,断在了6f068437也就是CTxtEdit::GetTextEx上,很明显这是发送函数在读取输入框内容。 ?...看到click很明显可以看出这就是发送按钮的响应函数了(相关知识可以了解duilib编程,界面是duilib实现的)。

1.6K50

PC逆向:发送与接收消息的分析与代码实现

至于突破口我们可以从发送的消息内容和消息的接收者的 ID 入手,比如文件传输助手的 ID 是 filehelper,这个可以在接收消息的 call 中拿到。...在这个地方下断点,让程序断下,分析附近代码 分析发送消息的函数 普通消息 ? 此时 edx 指向 ID,[edx+4] 保存的是 ID 的长度 ?...那么这个很有可能就是我们要找的发送消息的 call。 找到了发送消息的函数,那么怎么验证呢?利用 ID。...改变这个地址的 ID 和内容,就能直接改变消息的接收者和内容,这个刚才我们已经实验过了。再结合这个函数传入的参数有当前消息的内容,就可以确定这个 call 就是发送消息的函数。...里面的被艾特的人的 ID,普通消息与艾特消息的区别就在于 eax 是否保存了被艾特人的 ID。大家可以用同样的方式分析处图片和表情在内存中的表现形式。

3K40

在zabbix中实现发送带有图片的邮件和告警

李白《春夜宴从弟桃花园序》 ---- 1 python实现在4.2版本zabbix发送带有图片的报警邮件 我们通常收到的报警,都是文字,是把动作中的消息内容当成了正文参数传给脚本,然后邮件或者进行接收...,往往只能看到当前值,无法直观的获取到历史当天该监控项的运行曲线图,因此根据此需求,使用python编写脚本来分别对邮件告警和告警,进行升级,报警内容中加入了当天的历史趋势图,功夫不负有心人,已成功解锁...2 python实现在4.2版本zabbix发送带有图片告警 2.1 实现思路 ?...调用企业api接口,把图片当成临时素材上传,返回一个media_id,给发送消息和图片调用使用,最后使用mpnews消息类型把图片和报警内容进行推送到信上 2.2 准备环境 脚本是使用python...reload(sys) sys.setdefaultencoding('utf-8')urllib3.disable_warnings()class WechatImage(object): # 根据企业

2.3K51

通信IM案例:代理参数设置错误导致图片消息发送失败

问题描述 TIMMsgSendNewMsg是IM SDK中提供的一个发消息接口,利用这个接口,可以实现发送多种消息,例如可以发送文本消息、表情消息、位置消息、图片消息、声音消息、自定义消息等。...工程师收到一位用户在使用此接口过程反馈会遇到接口返回6006错误的错误,具体提示如下图: 用户不清楚此问题发生的原因和解决办法,用户提到比较多的疑问点如下: 登录正常,而且已经可以发文本类型的消息,...发送方和接收方都能正常收到文本类型的消息,就是发送文件或图片报错。...原因分析及解决方案 TIMMsgSendNewMsg发送图片消息时,会比发送文本消息多一步上传图片的过程:sdk会先将图片资源上传到cos服务器,然后再将消息内容提交到IM后台。...图片消息交互流程: 在上传cos服务器过程中,sdk使用http接口进行上传图片,在这一步可以设置http proxy参数,具体设置方法如下。

1.2K100

通信IM案例分享-图片语音消息发送失败,错误码70402

有客户提工单反馈:App内用户发送语音和图片信息的时候出现失败,提示参数非法,但是文字信息可正常发送 image.png 客户提到文字信息没有失败,说明 消息上行到通信IM后台 -> 通信IM后台处理...而通信IM对图片信息&语音信息的处理逻辑 与 文字信息的区别在于, 对前者会将信息以文件形式存储到腾讯COS,得到一个COS的URL传给通信IM后台,通信后台经过处理,同样将URL下发给消息接收方的用户...APP, APP通过URL去腾讯COS下载文件,展示给用户。...日志分析 拿到用户终端的SDK日志,很容易发现了问题原因: image.png 图片语音消息上传COS之前,需要调用REST API获取COS Token,此处UserSig这个参数丢失了,导致报错。...相比于普通的 login(TIMLoginParam) 接口,该接口可以减少 IM SDK 向您的服务器索要 UserSig 的频率, 既可以加快登录速度,又能减少你的 UserSig 服务器压力,也在一定程度上降低了

2K70

小程序开发实现图片的上传、存储、访问

我们在进行项目开发时,经常需要处理用户上传的图片,如果用传统的后端开发,处理起来是比较繁琐的。小程序开发提供了一系列API供开发者完成想要的效果。 下面我们要实现用户图片的上传、存储及访问。...但是wx.cloud.uploadFile很明显需要我们填写cloudPath和filePath,这个cloudPath其实就是我们要在存储中存放的位置,可以新建一个文件夹,也可以直接往里堆。...fileID和statusCode fileID就是在存储中的链接,可以直接在客户端访问到。 statusCode是一个状态码,可以用来判断操作是否成功。...其实这里我推荐在当初填存储的图片路径的时候,即cloudPath,就把图片的后缀加上,可以通过正则表达式获取真实的图片后缀,也可以人为的在后面手动拼接后缀,都没有问题。...如果路径上有图片的后缀的话,其实就可以直接在网页上浏览图片了,当然也可以下载。 转载: 小程序开发实现图片的上传、存储、访问

4.1K30

unicloud函数开发客服消息自动回复图片消息(完整步骤)

开发者获得加密后的字符串可与signature对比,标识该请求来源于 函数代码如下: 'use strict'; //npm install sha1 const sha1 = require("...先获取access_token 获取access_token文档 注意:APPID和APPSECRET配置在公众平台开发管理里面获取 const tokenUrl = 'https://api.weixin.qq.com...下面只说回复图片消息(这个在大部分教程里面都没写过,其他的可以自行在掘金上搜索) 在做图片消息自动回复之前,根据信文档描述,需要现将图片上传到临时文件服务器,而且图片保存时间有效期只有三天 上传图片信息...客服上传临时图片文档 在请求参数中可以看到,我们需要传一个media的参数,而且是FormData类型的,但是我们不会在小程序上添加一个input框来用作上传图片,所以需要借助nodeJS的form-data...模块 注意:在小程序中,不能直接在代码中写 new FormData() ,需要自行安装模块 首先将需要的图片上传到unicloud存储中,获取到对应的URL const img_url = 'https

1.4K20

无需自己搭建服务器,使用【】开发排行榜!

开发提供了数据库和函数的功能,利用这两个功能,我们可以自主实现一个排行榜功能。 整个流程 先获得用户的基本信息(头像,昵称)等,这些数据可能会用在排行榜里展示。获取成功后,进入主界面。...userInfo) { //保存数据,进入游戏主界面 } }) } } }) 上传分数 在用开发存取用户的数据介绍了如何存取用户数据...云端 先在开发者工具创建一个函数rank和数据库集合rank ? ?...初始化函数 const app = require('wx-server-sdk'); app.init(); const db = app.database(); const collection...name: 'rank', // 传给函数的参数 data: { func: 'getScoreRankInfo', data: { count

2.5K00
领券