aardio_类似fiddler内置抓包中间件sunny全局抓包和指定抓包全面示例

Admin Admin
发布:2022-02-25 06:00:00 分类:群聊整理
import win.ui;
import win.ui.ctrl.vlistEx
/*DSG{{*/
var winform = win.form(text="www.jianma123.com 简码编程";right=1435;bottom=812)
winform.add(
button={cls="button";text="开始 http/https/ws/wss 拦截";left=424;top=760;right=626;bottom=796;db=1;dl=1;dr=1;z=1};
button2={cls="button";text="停止";left=646;top=760;right=722;bottom=796;db=1;dr=1;z=2};
button3={cls="button";text="打开ws测试网站";left=18;top=759;right=138;bottom=795;db=1;dl=1;z=4};
button4={cls="button";text="打开wss测试网站";left=151;top=759;right=271;bottom=795;db=1;dl=1;z=5};
checkbox={cls="checkbox";text="全局代理";left=327;top=769;right=404;bottom=791;z=7};
custom={cls="custom";text="自定义控件";left=7;top=8;right=1423;bottom=457;edge=1;z=8};
editLog={cls="edit";left=1015;top=470;right=1423;bottom=728;edge=1;hscroll=1;multiline=1;vscroll=1;z=6};
vlist={cls="win.ui.ctrl.vlistEx";text="自定义控件";left=7;top=470;right=1008;bottom=740;db=1;dl=1;dr=1;dt=1;edge=1;z=3}
)
/*}}*/

winform.vlist.setColumns({"序号","协议类型","消息类型","url"},{40,100,100,-1});

import process;
import godking.sunny;
var sunny = godking.sunny();

import web.view;
var wb = web.view(winform.custom,"c:\user1",`--proxy-server="socks://127.0.0.1:2021"`);

sunny.callback_http = function(winform,id,msgid,msgtype,mod,url,pid,notice,err){

// 注意:1、回调函数为线程函数;2、要重新引用godking.sunny
import godking.sunny;

var urlTab = string.split(url,"@://");
//winform.editLog.print("urlTab[1]=",urlTab[1]);
if(urlTab[1]=="http"){
// 将部分内容写入窗口虚表中
winform.vlist.addRow("[@rowindex]","http",godking.sunny.getMsgType(msgtype),url);
}
if(urlTab[1]=="https"){
winform.vlist.addRow("[@rowindex]","https",godking.sunny.getMsgType(msgtype),url);
}
winform.vlist.ensureVisible(winform.vlist.count);

// 将图片请求进行替换
if msgtype==godking.sunny.msgType.http_request {
var request = godking.sunny.httpRequest(msgid);
var t = request.getAllHeaders("Content-Type")
import string
if ..string.find(url,"@@.jpg") or ..string.find(url,"@@.jpeg") or ..string.find(url,"@@.png"){
request.setUrl("http://chengxu.online/images/banner.gif")
}
}

}

sunny.callback_websocket = function(winform,id,msgid,msgtype,mod,url,pid){

// 注意:1、回调函数为线程函数;2、要重新引用godking.sunny
import godking.sunny;

// 将部分内容写入窗口虚表中
winform.vlist.addRow("[@rowindex]","websocket",godking.sunny.getMsgType(msgtype),url)
winform.vlist.ensureVisible(winform.vlist.count)

//WS
if msgtype==godking.sunny.msgType.ws_send {
var ws = godking.sunny.webSocket(msgid);
var t = ws.getBodyText();
winform.vlist.addRow("[@rowindex]","ws","发送数据",t)
winform.vlist.ensureVisible(winform.vlist.count)
t = t++"(已修改)";
ws.setBody(t);
}
if msgtype==godking.sunny.msgType.ws_received {
var ws = godking.sunny.webSocket(msgid);
var t = ws.getBodyText();
winform.vlist.addRow("[@rowindex]","ws","接收数据",t)
winform.vlist.ensureVisible(winform.vlist.count)
}

//WSS
if msgtype==godking.sunny.msgType.wss_send {
var ws = godking.sunny.webSocket(msgid);
var t = ws.getBodyText();
winform.vlist.addRow("[@rowindex]","wss","发送数据",t)
winform.vlist.ensureVisible(winform.vlist.count)
t = t++"(已修改)"
ws.setBody(t);
}
if msgtype==godking.sunny.msgType.wss_received {
var ws = godking.sunny.webSocket(msgid);
var t = ws.getBodyText();
winform.vlist.addRow("[@rowindex]","wss","接收数据",t)
winform.vlist.ensureVisible(winform.vlist.count)
}


}

winform.button.oncommand = function(id,event){
var isGlobal = winform.checkbox.checked;
winform.editLog.print("isGlobal=",isGlobal);
//start(2021/*代理端口*/,true/*请求过滤*/,true/*启动IE代理*/,winform/*传递窗口*/)
var result = sunny.start(2021,true,isGlobal,winform);
if (result){
..win.msgbox("已开启!",,,winform.hwnd);
}else{
..win.msgbox("开启失败!",,,winform.hwnd);
}
}

winform.button2.oncommand = function(id,event){
sunny.stop();
..win.msgbox("已停止!",,,winform.hwnd);
}

winform.onClose = function(hwnd,message,wParam,lParam){
sunny.stop();
}

winform.button3.oncommand = function(id,event){
//process.execute("http://coolaf.com/tool/chattest")
wb.go("http://coolaf.com/tool/chattest");
}

winform.button4.oncommand = function(id,event){
//process.execute("https://www.idcd.com/tool/socket")
wb.go("https://www.idcd.com/tool/socket");
}

winform.show();
win.loopMessage();
感谢群友:光庆 封装sunny.dll的aardio版用户库,使aardio也能写出一个fiddler.
感谢各位围观的萌新,正是你们渴望的眼神,让大佬们献出了金光闪闪的爱心.
[ 发单/接单 ]
换IP投票软件
PC蛋蛋自动挂机投注
新浪微博发微博显示尾巴的方法,比如显示来自iphone 7
百度文库批量自动上传软件
一点资讯app刷阅读量/评论/收藏/订阅功能/手机号注册
定做一个阿迪达斯官网注册器(需要破点击文字式验证码)
定制人人网自动注册/修改资料/采集/私聊软件
酷狗繁星直播网页协yi
YY多功能刷订阅刷粉丝
滑块验证码本地识别
狼人杀POST QQ登录注册 获取金币数量
做个贴吧发发帖的软件懂的来
今日头条账号保存cookie
抖音粉丝软件定做,只要粉丝
百家号自媒体发文软件定制
哔哩哔哩播放量
读取TB某个商品上架时间和相关信息
网易博客软件定制
定制天涯论坛发帖软件
定制今日头条批量自动发私信软件
[ 站内搜索 ]
[ 最近热帖 ]
万能助手 -- 扩展库大全集 13756
用aardio创建web工程图文讲解(1) 12847
电脑编程入门自学:Fiddler https 抓包时提示创建根证书不成功问题彻底解决(https插件dll方式) 11747
aardio绘图演示 11415
通过chrome.dll中间件控制外部chrome浏览器 10130
我常用的aardio技巧 9780
《边学C语言边赚钱——简码编程入门教程》系列集合 9620
aardio使用http或whttp进行get/post请求时经常cookies失效怎么办?__电脑计算机编程入门教程自学 9324
[源码下载]简码视频加密解密播放工具个人版v1.0发布,永久免费开源的知识变现神器 8559
python人工智能爬虫系列:怎么查看python版本_电脑计算机编程入门教程自学 8052
编程入门教程:aardio批量上传文件并显示进度条 7888
aardio调用nodejs的ws模块做一个简单的聊天通信示例 7041
电脑计算机编程入门教程自学:原生JavaScript判断字符是否为A-Za-z英文字母 6911
电脑计算机编程入门教程自学:腾讯tx或极验geetest滑块按住拖动完成拼图验证成功破解思路及源码 6506
乐玩插件AARDIO调用 6092
[ 近期热答 ]
电脑计算机编程入门教程自学:什么是buffer缓冲区? 1
aardio_代码编辑框书签管理器开源 1
aardio_怎么用ide库从代码编辑框中取出指定行的源码? 1
aardio_codepage代码页编码乱码暴力猜解工具 1
aardio内嵌echarts图表添加鼠标事件响应功能 2
aardio列表框listbox_模糊查找和精确查找 1
8亿QQ绑定手机泄露:通过腾讯QQ号查询QQ绑定的手机号码漏洞! 1
carl listviewex调用例子----------源码搬运工 2
Aardio内嵌Electron浏览框怎么正确添加启动参数? 1
Aardio取汉字的字节数或字符数 1
怎么实现mssql图片数据的读写 2
aardio_从49个数字里选六个和值为150的不重复的数字 1
在嵌入wps的时候,多了一个 透明的边框,这个怎么消除它 1
万能助手入门帮助教程:学会科学地管理工作文件 1
Aaardio开发内嵌Electron浏览框放服务器上无法下载组件的解决办法 1