开启辅助访问 切换到宽版

精易论坛

 找回密码
 注册

QQ登录

只需一步,快速开始

用微信号发送消息登录论坛

新人指南 邀请好友注册 - 我关注人的新帖 教你赚取精币 - 每日签到


求职/招聘- 论坛接单- 开发者大厅

论坛版规 总版规 - 建议/投诉 - 应聘版主 - 精华帖总集 积分说明 - 禁言标准 - 有奖举报

查看: 276|回复: 4
收起左侧

[已解决] 用易语言抓小程序里的红包封面链接出来

 关闭 [复制链接]
结帖率:80% (8/10)
发表于 3 天前 | 显示全部楼层 |阅读模式   广东省茂名市
300精币
1732187281336.png 如这个小程序里的红包封面
在Fiddler里抓包是能抓出来链接的
1732187458971.jpg


想用易语言封装出一个傻瓜式的软件

最佳答案

查看完整内容

安装 https://esunny.vip/ [e=0].版本 2 .支持库 spec .子程序 __启动窗口_创建完毕 .局部变量 http回调函数, 整数型 .局部变量 WebSocket回调函数, 整数型 .局部变量 Tcp回调函数, 整数型 .局部变量 错误信息, 文本型 ' Sunny中间件 在模块中已是全局变量,直接使用即可 Sunny中间件.绑定端口 (2022) http回调函数 = 到整数 (&__示例__HTTP回调函数) WebSocket回调函数 = 0 Tcp回调函数 = 0 Sunny中间件.绑定回调地址 (h ...

回答提醒:如果本帖被关闭无法回复,您有更好的答案帮助楼主解决,请发表至 源码区 可获得加分喔。
友情提醒:本版被采纳的主题可在 申请荣誉值 页面申请荣誉值,获得 1点 荣誉值,荣誉值可兑换荣誉会员、终身vip用户组。
快捷通道:申请荣誉值无答案申请取消悬赏投诉有答案未采纳为最佳
结帖率:100% (3/3)

签到天数: 24 天

发表于 3 天前 | 显示全部楼层   福建省莆田市
安装 https://esunny.vip/

  
子程序名返回值类型公开备 注
__启动窗口_创建完毕  
变量名类 型静态数组备 注
http回调函数整数型 
WebSocket回调函数整数型 
Tcp回调函数整数型 
错误信息文本型 
' Sunny中间件  在模块中已是全局变量,直接使用即可
Sunny中间件.绑定端口 (2022)
http回调函数 = 到整数 (&__示例__HTTP回调函数)
WebSocket回调函数 = 0
Tcp回调函数 = 0
Sunny中间件.绑定回调地址 (http回调函数, Tcp回调函数, WebSocket回调函数)
' Sunny中间件.设置IE代理 ()  ' 设置IE代理
' Sunny中间件.关闭IE代理 ()'取消IE代理
如果 (Sunny中间件.启动 ())
如果真 (Sunny中间件.安装证书 (错误信息))
信息框 (“自动安装证书到系统失败,请手动安装证书!”#换行符#换行符 + 错误信息, 0, “证书安装失败”, )
' 安装证书请阅读:http://esunny.vip/ 中的 [Sunny网络中间件-示例文档]->[(教程)安装证书]
信息框 (“启动成功”, 0, , )

信息框 (Sunny中间件.取错误 (), #错误图标, “启动失败”, )

子程序名返回值类型公开备 注
__示例__HTTP回调函数  
参数名类 型参考可空数组备 注
SunnyContext整数型Sunny中间件可创建多个 由这个参数判断是哪个Sunny回调过来的
请求唯一ID整数型
MessageId整数型
消息类型整数型#Sunny_消息类型_
请求方法文本型
请求地址文本型
err文本型
pid整数型进程PID 若等于0 表示通过代理远程请求 无进程PID
变量名类 型静态数组备 注
sunnySunny 
bin字节集 
' 必须使用该语句取回sunny对象
sunny = MessageIdToSunny (MessageId)
调试输出 (请求地址)
' 执行流程是 发起请求->请求完成/请求失败
判断 (消息类型 = #Sunny_消息类型_发起请求 )  ' 发起请求 http/https请求    ' 【sunny.请求】 可 在 【发起请求、请求完成、请求失败】 中使用
调试输出 (“消息ID”, 请求唯一ID, “开始请求”, “URL”, 请求地址)
' 修改提交数据
如果真 (请求方法 = “POST”)
bin = sunny.请求.取POST数据_字节集 ()
bin = 子字节集替换 (bin, 到字节集 (“SunnyNet”), 到字节集 (“Hello Sunny”), , )
sunny.请求.修改Body_字节集 (bin)

' 对这个请求设置代理
如果真 (寻找文本 (请求地址, “ip138.com”, , ) ≠ -1)
' ' 设置HTTP代理 admin=账号 123456=密码 127.0.0.1:8888=上游代理
' sunny.请求.置代理 (“http://admin:123456@127.0.0.1:8888”)
' ' 没有账号
' sunny.请求.置代理 (“http://:@127.0.0.1:8888”)
' ' 或者
' sunny.请求.置代理 (“http://127.0.0.1:8888”)
' ' 设置Socket5代理 admin=账号 123456=密码 127.0.0.1:8888=上游代理
' sunny.请求.置代理 (“socket5://admin:123456@127.0.0.1:8888”)
' ' 没有账号
' sunny.请求.置代理 (“socket5://:@127.0.0.1:8888”)
' ' 或者
' sunny.请求.置代理 (“socket5://127.0.0.1:8888”)

' 直接回复文件【2022/03/02新增】
' sunny.响应.修改或新增协议头 (“Content-Type: text/html” + #换行符 + “Server: Sunny”)
' sunny.响应.修改响应内容_字节集 (读入文件 (“C:\Users\qinka\Desktop\node.js”))
' 返回 ()
' 请注意  在【发起请求】中修改响应数据为 直接回复文件
' 将 不会执行【请求完成】【请求失败】
' 设置数据不需要指定文件长度,内部自动计算
' sunny.请求.终止发送() '使用后 这个请求将不会发送出去 2022-09-16 新增【只能在 发起请求 中使用】
' sunny.请求.置请求超时 (15 × 1000)  ' 对这个请求设置15秒的超时时间

判断 (消息类型 = #Sunny_消息类型_请求完成 )  ' 服务器返回数据
' 修改响应请求
如果真 (寻找文本 (请求地址, “game/map_info”, , ) ≠ -1)
bin = sunny.响应.取响应Body ()
bin = 子字节集替换 (bin, 到字节集 (“你好”), 到字节集 (“哈喽”), , )
sunny.响应.修改响应内容_字节集 (bin)
' 【sunny.响应】  仅可在 【请求完成】 中使用  在【发起请求、请求失败 中操作响应对象,只能操作设置数据】
调试输出 (“消息ID”, 请求唯一ID, “请求完成”, sunny.响应.取正文长度 (), “URL”, 请求地址)
判断 (消息类型 = #Sunny_消息类型_请求失败 )  ' http/https请求 请求失败
' 返回数据【2023/01/06新增】
' sunny.响应.修改状态码 (200)'不设置默认就是200
' sunny.响应.修改或新增协议头 (“Content-Type: text/html” + #换行符 + “Server: Sunny”)
' sunny.响应.修改响应内容_字节集 (读入文件 (“C:\Users\qinka\Desktop\node.js”))
调试输出 (“消息ID”, 请求唯一ID, “URL”, 请求地址, “请求失败:” + err)




返回 ()


i支持库列表   支持库注释   
spec (未知支持库)

评分

参与人数 1荣誉 +1 收起 理由
笨潴 + 1 热心帮助他人,荣誉+1,希望继续努力(*^__^*) 嘻嘻!

查看全部评分

回复

使用道具 举报

签到天数: 24 天

发表于 3 天前 | 显示全部楼层   四川省宜宾市
回复

使用道具 举报

结帖率:80% (8/10)

签到天数: 3 天

 楼主| 发表于 3 天前 | 显示全部楼层   广东省茂名市
不一定要抓包,之前的源码抓内存可以提取出来,现在取不了了,找人定制的,我修复不了
核心代码

  
窗口程序集名保 留  保 留备 注
内存   
变量名类 型数组备 注
进程句柄整数型  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用

子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用
如果真 (进程句柄 > 0)
CloseHandle (进程句柄)
进程句柄 = 0

子程序名返回值类型公开备 注
初始化逻辑型 初始化 打开进程PID 支持64位进程
参数名类 型参考可空数组备 注
进程ID整数型为空 为打开自身进程
进程_提升权限 ()
如果真 (是否为空 (进程ID))
进程ID = GetCurrentProcessId ()
进程句柄 = OpenProcess ( #PROCESS_ALL_ACCESS, 0, 进程ID)  ' 取得操作句柄
如果真 (进程句柄 = 0)  ' 打开进程失败
返回 ()
返回 ()
子程序名返回值类型公开备 注
搜索整数型 成功返回成员数量,需提升权限(返回结果数目,失败返回0)
参数名类 型参考可空数组备 注
搜索内容字节集欲搜索的内容  其他类型-需自行转换为字节集类型
结果数组整数型用来保存搜索的结果
区域长度整数型超过这个长度的放弃搜索该区域 如果设置 最好是50000000
变量名类 型静态数组备 注
长度整数型 
内存地址整数型 
内存块信息精易_内存属性 
数据缓冲区字节集 
读取结果逻辑型 
找到地址整数型 
如果真 (是否为空 (区域长度))
区域长度 = -1
清除数组 (结果数组)
长度 = 取字节集长度 (搜索内容)
判断循环首 (VirtualQueryEx (进程句柄, 内存地址, 内存块信息, 28) ≠ 0)  ' 取得内存块信息
如果真 (内存块信息.当前属性 ≠ 16 内存块信息.当前属性 ≠ 1 内存块信息.当前属性 ≠ 512 (区域长度 = -1 区域长度 > 0 内存块信息.区域长度 < 区域长度))  ' 判断保护状态
数据缓冲区 = 取空白字节集 (内存块信息.区域长度)
读取结果 = ReadProcessMemory_字节集 (进程句柄, 内存地址, 数据缓冲区, 内存块信息.区域长度, 0)
判断循环首 (读取结果 ≠ )
找到地址 = 寻找字节集 (数据缓冲区, 搜索内容, 找到地址)  ' 查找是否有要搜索的数据
如果 (找到地址 = -1)  ' 跳出 进行下次循环
跳出循环 ()
加入成员 (结果数组, 到数值 (内存地址 + 找到地址 - 1))
找到地址 = 找到地址 + 长度
判断循环尾 ()
内存地址 = 内存地址 + 内存块信息.区域长度  ' 搜索下一内存块
处理事件 ()
判断循环尾 ()
返回 (取数组成员数 (结果数组))
子程序名返回值类型公开备 注
读字节集字节集 读取字节集数据(返回字节集 失败返回空)
参数名类 型参考可空数组备 注
内存地址整数型内存地址 进制_十六到十 (分割的文本 [n])
长度整数型必须要读取的长度
变量名类 型静态数组备 注
变量字节集保存读取数据的变量
bool逻辑型 
变量 = 取空白字节集 (长度)
bool = ReadProcessMemory_字节集 (进程句柄, 内存地址, 变量, 长度, 0)
返回 (选择 (bool, 变量, {  }))



调用代码:
  
内存.搜索 (到字节集 (“weixin.qq.com/cgi-bin/mmsupport-bin/showredpacket”), 结果)



抓出来的链接:
https://szsupport.weixin.qq.com/ ... _CN&wx_header=0
回复

使用道具 举报

结帖率:80% (8/10)

签到天数: 3 天

 楼主| 发表于 3 天前 | 显示全部楼层   广东省茂名市
之前抓进程内存的方法能提取出来,现在不行了,看看有人能修复不
  
窗口程序集名保 留  保 留备 注
内存   
变量名类 型数组备 注
进程句柄整数型  

子程序名返回值类型公开备 注
_初始化 当基于本类的对象被创建后,此方法会被自动调用

子程序名返回值类型公开备 注
_销毁 当基于本类的对象被销毁前,此方法会被自动调用
如果真 (进程句柄 > 0)
CloseHandle (进程句柄)
进程句柄 = 0

子程序名返回值类型公开备 注
初始化逻辑型 初始化 打开进程PID 支持64位进程
参数名类 型参考可空数组备 注
进程ID整数型为空 为打开自身进程
进程_提升权限 ()
如果真 (是否为空 (进程ID))
进程ID = GetCurrentProcessId ()
进程句柄 = OpenProcess ( #PROCESS_ALL_ACCESS, 0, 进程ID)  ' 取得操作句柄
如果真 (进程句柄 = 0)  ' 打开进程失败
返回 ()
返回 ()
子程序名返回值类型公开备 注
搜索整数型 成功返回成员数量,需提升权限(返回结果数目,失败返回0)
参数名类 型参考可空数组备 注
搜索内容字节集欲搜索的内容  其他类型-需自行转换为字节集类型
结果数组整数型用来保存搜索的结果
区域长度整数型超过这个长度的放弃搜索该区域 如果设置 最好是50000000
变量名类 型静态数组备 注
长度整数型 
内存地址整数型 
内存块信息精易_内存属性 
数据缓冲区字节集 
读取结果逻辑型 
找到地址整数型 
如果真 (是否为空 (区域长度))
区域长度 = -1
清除数组 (结果数组)
长度 = 取字节集长度 (搜索内容)
判断循环首 (VirtualQueryEx (进程句柄, 内存地址, 内存块信息, 28) ≠ 0)  ' 取得内存块信息
如果真 (内存块信息.当前属性 ≠ 16 内存块信息.当前属性 ≠ 1 内存块信息.当前属性 ≠ 512 (区域长度 = -1 区域长度 > 0 内存块信息.区域长度 < 区域长度))  ' 判断保护状态
数据缓冲区 = 取空白字节集 (内存块信息.区域长度)
读取结果 = ReadProcessMemory_字节集 (进程句柄, 内存地址, 数据缓冲区, 内存块信息.区域长度, 0)
判断循环首 (读取结果 ≠ )
找到地址 = 寻找字节集 (数据缓冲区, 搜索内容, 找到地址)  ' 查找是否有要搜索的数据
如果 (找到地址 = -1)  ' 跳出 进行下次循环
跳出循环 ()
加入成员 (结果数组, 到数值 (内存地址 + 找到地址 - 1))
找到地址 = 找到地址 + 长度
判断循环尾 ()
内存地址 = 内存地址 + 内存块信息.区域长度  ' 搜索下一内存块
处理事件 ()
判断循环尾 ()
返回 (取数组成员数 (结果数组))
子程序名返回值类型公开备 注
读字节集字节集 读取字节集数据(返回字节集 失败返回空)
参数名类 型参考可空数组备 注
内存地址整数型内存地址 进制_十六到十 (分割的文本 [n])
长度整数型必须要读取的长度
变量名类 型静态数组备 注
变量字节集保存读取数据的变量
bool逻辑型 
变量 = 取空白字节集 (长度)
bool = ReadProcessMemory_字节集 (进程句柄, 内存地址, 变量, 长度, 0)
返回 (选择 (bool, 变量, {  }))


调用代码
1732190694879.jpg

回复

使用道具 举报

您需要登录后才可以回帖 登录 | 注册

本版积分规则 致发广告者

发布主题 收藏帖子 返回列表

sitemap| 易语言源码| 易语言教程| 易语言论坛| 易语言模块| 手机版| 广告投放| 精易论坛
拒绝任何人以任何形式在本论坛发表与中华人民共和国法律相抵触的言论,本站内容均为会员发表,并不代表精易立场!
论坛帖子内容仅用于技术交流学习和研究的目的,严禁用于非法目的,否则造成一切后果自负!如帖子内容侵害到你的权益,请联系我们!
防范网络诈骗,远离网络犯罪 违法和不良信息举报电话0663-3422125,QQ: 793400750,邮箱:wp@125.la
Powered by Discuz! X3.4 揭阳市揭东区精易科技有限公司 ( 粤ICP备12094385号-1) 粤公网安备 44522102000125 增值电信业务经营许可证 粤B2-20192173

快速回复 返回顶部 返回列表