2026 年还能正常访问的 100+网盘资源搜索引擎列表
由于信息的爆发增长，如今使用网盘的人越来越多，人们用网盘存储各种各样的电子资料，但是百度网盘，阿里网盘，夸克网盘等等这些网站不提供搜索所有分享资源的功能，所以就出现了第三方的网盘搜索引擎网站，这篇文章耗时 1 天人工筛选过滤出来了截至 2026 年 1 月还能正常使用的网盘资源搜索引擎列表，整理不易，如果对大家有帮助，请帮忙点赞收藏分享，谢谢大家网盘俱乐部百度网盘版本： https://pan.club, 夸克网盘版本：https://quark.pan.club网盘俱乐部网站设计简洁清爽，没有广告，无需注册和登录，也不用关注公众号就能拿到网盘分享带密码链接，提供百度网盘和夸克网盘资源搜索，搜索速度快，支持按匹配度，热度，时间，大小排序，支持不同类型文件分类搜索，每天会更新新收录的资源盘大师https://www.pandashi8.com/盘大师 聚合云盘高效搜索，提供 阿里云盘、夸克网盘、百度网盘、蓝奏网盘、迅雷网盘、天翼网盘、彩和网盘 等网盘资源搜索。更新快、资源全、速度快、免费。没有广告，不需要注册登录和关注公众号口袋云https://www.woxiangsou.com/口袋云也不需要注册登录，关注公众号，速度快，没有广告，界面简洁友好，支持百度、阿里、夸克网盘资源收录站点，但是资源比较旧了，新收录的资源基本没有趣盘搜https://pan.funletu.com/这个网站有谷歌广告，但是不需要注册和登录，也不需要关注公众号就能打开网盘资源，支持的网盘类型也比较多，还可以提交分享资源进行收录，没有会有新收录的资源释放出来小云搜索https://www.yunso.net/小云搜索是一个资源丰富、更新速度极快的综合资源搜索网站，专注于收录全网综合盘资源，包括：影视资源、音乐资源、图片资源、电子书资源、软件资源、小说资源等等，不需要注册登录和关注公众号，但是这个网站有挺多的谷歌广告，不过搭建网站也需要成本，可以理解Pansouhttps://so.252035.xyz/著名开源项目 https://github.com/fish2018/pansou 的官方网站，PanSou 是一款高性能的网盘资源搜索 API 服务，支持 TG 频道和插件搜索。系统设计以性能和可扩展性为核心，支持多频道多插件并发搜索、结果智能排序和网盘类型分类。docker 集成前后端，一键启动，开箱即用，没有广告，不需要注册登录和关注公众号夸夸盘搜https://www.kuakuaso.com/这个网站设计和盘大师是同一个网站主的，搜出来的资源都是一样的，网站结构和设计也类似，可以当一个备用的网站啊飞网盘分享https://dagehao889.cn/免费分享百万级网盘资源，致力打造顶尖网盘搜索引擎，让您畅享资源无忧！这个网盘资源站有手机 app ，也是不需要注册登录和关注公众号就能直接访问网盘资源，电脑端会弹出地址，移动端点击资源链接就能直接打开我能搜https://www.wnsearch.top/我能搜是一款新出的夸克网盘搜索引擎，影视资源为主, 也是不需要注册登录和关注公众号就能直接访问网盘资源，也没有广告，就是网站设计有点过于简单，体验稍微差了点，不过找资源也不太依赖于网站体验知了搜https://www.zlxapp.top/知了搜是一款高效云存储网站，提供安全便捷的文件分享平台，用户可轻松上传，下载和管理文件。支持夸克云盘资源的全文检索，短剧搜索，影视搜索。也是不需要注册登录和关注公众号就能直接访问网盘资源，没有广告，日均流量在 1000+以上海豚搜索https://www.haitunsou.com/海豚搜索为您提供百万级网盘资源的免费分享，专注于打造顶尖的网盘搜索引擎，让您畅享短剧、影视资源无忧。也是不需要注册登录和关注公众号就能直接访问网盘资源，没有广告混合盘搜https://hunhepan.com/混合盘是一款规则引擎 APP,可以将任何搜索网站制作成规则,供用户聚合搜索使用。典型的是网盘搜索规则:可以从 20 多个网盘搜索网站检索出你需要的资源。这全部是免费的，不需要注册和登录以及关注公众号，但是有谷歌广告。不能直接跳转到网盘资源页面，需要先复制按钮然后手动打开新窗口复制地址访问皮卡搜索https://www.pikasoo.top/皮卡搜 - 阿里夸克百度蓝奏天翼五大网盘聚合搜索引擎，10000000+ 网盘资源免费无偿分享，坚持做最好的网盘搜索引擎！本站配套的超强网盘搜索工具，无需注册登录和关注公众号就能打开网盘资源，有 banner 广告但不影响体验海搜https://haisou.cc/在海量 196,191,324 个文件总计 50,260 TB 中搜索, 无需注册登录和关注公众号，资源非常丰富，没有广告，网站体验好，还有小程序版本影搜https://yingso.fun/影搜是一个开放纯粹的资源搜索平台，汇集了阿里云盘、百度云盘、夸克云盘、迅雷云盘四大资源，免费、免登录、无广告，专注于云盘资源搜索，方便、迅速、丝滑、流畅、高效。资源集中在夸克网盘多一些阿里盘搜https://www.alipanx.com/Alipanx 提供全网网盘资源，阿里云盘资源的搜索服务，包括但不限于热门影视、小说，电视剧，但是只有阿里网盘资源，无需注册登录和关注公众号，但是有谷歌广告热盘搜http://www.repanso.com/热盘搜是最大最专业的百度云网盘搜索引擎，为你提供免费的网盘云搜索服务。你可以在这里搜索电影、电视剧、小说、文档、资料等百度云资源，是你百度云搜索的好帮手。这个网站目前没有使用 https 安全协议，打开网盘资源链接也比较慢，但是好在不需要注册登录和关注公众号，也没有广告伏羲盘https://fuxipan.com/画面清爽，收录了诸如百度网盘、阿里云盘、夸克网盘、迅雷等多个国内主流云盘的搜索引擎入口，方便你快速查找各种分享的影视、软件、文档等网盘资源。无需注册登录和关注公众号，但是有谷歌广告Fastsosohttps://www.fastsoso.cc/fastsoso 搜索支持百度云搜索，可快速搜索百度网盘资源中的有效连接，自动识别无效的百度云网盘资源，每天更新海量资源。不需要注册登录和关注公众号，但是有谷歌广告，只有百度网盘资源学霸盘https://www.xuebapan.com/学霸盘只收录百度网盘资源，不需要注册登录和关注公众号，也没有广告，资源丰富，是比较知名的百度网盘搜索引擎，好评兄弟盘https://xiongdipan.com/猫狸盘搜的百度盘版——兄弟盘,百度云搜索,支持百度云盘搜索,可快速搜索阿里云盘资源中的有效连接,每天更新海量资源，不需要注册登录和关注公众号，也没有广告，资源丰富。小宇网盘https://xykmovie.com/小宇搜索是多网盘影视搜索引擎。网站界面与橘子盘搜 一样。支持夸克网盘、百度云网盘、迅雷云盘等网盘搜索。网站设计比较简单，资源不算很丰富。不需要注册登录和关注公众号，也没有广告天逸搜天逸搜看名字就知道是用来搜索天翼云网盘文件网盘搜索引擎。只要输入名字就能找到天翼云网盘免费资源（天翼云也是一款非常不错的网盘）。界面与阿里云网盘资源搜索的猫狸云 、百度云网盘资源搜索的兄弟盘 一样，这个三个网盘搜索引擎应该是一家。不需要注册登录和关注公众号，也没有广告https://www.tianyiso.com/奇乐搜https://www.qileso.com/奇乐搜支持阿里云盘、夸克网盘等 2 个网盘平台的资源搜索。提供基础的网盘资源搜索功能。该工具提供网盘资源搜索服务。用户可以通过关键词检索各类网盘分享资源。需要注意：服务稳定性很差，经常出现访问报错、无法访问等问题盘友圈https://panyq.com/盘友圈支持阿里云盘、百度网盘、夸克网盘等 3 个网盘平台的资源搜索。提供基础的网盘资源搜索功能。该工具提供网盘资源搜索服务。用户可以通过关键词检索各类网盘分享资源。有广告但是不需要注册登录和关注公众号短剧搜https://www.duanjuso.cc/短剧搜支持阿里云盘、百度网盘、夸克网盘、迅雷云盘等 4 个网盘平台的资源搜索。提供基础的网盘资源搜索功能。该工具提供网盘资源搜索服务。用户可以通过关键词检索各类网盘分享资源。 不需要注册登录和关注公众号，也没有广告备用网址：www.duanjuso.uk迅极搜https://xunjiso.com/迅极搜是一款聚合搜索工具，支持 5 个主流网盘平台，包括迅雷云盘、夸克网盘、阿里云盘等。提供基础的网盘资源搜索功能。不需要注册登录和关注公众号，也没有广告懒盘搜索https://www.lzpanx.com/懒盘搜索是一款聚合搜索工具，支持 5 个主流网盘平台，包括百度网盘、夸克网盘、阿里云盘等。不需要注册登录和关注公众号，有谷歌广告大盘搜https://dapanso.com/支持百度网盘、夸克网盘等网盘搜索，没有广告，支持注册和登录，但是不登录也能打开资源，学搜搜https://www.xuesousou.net/学搜搜支持百度网盘、阿里云盘等 2 个网盘平台的资源搜索。提供基础的网盘资源搜索功能。无需注册登录和关注公众号，没有广告网盘搜索引擎聚合器https://www.chaonengsou.com/ 超能搜网站资源很久没有更新的网站列表小白盘 https://www.xiaobaipan.com/咔帕搜索 https://www.cuppaso.com/盘么么 http://www.panmeme.com/ 虽然收录的资源很多，但是都是很旧的资源了v 盘搜 http://www.vpansou.com/需要登录才能访问资源的网站列表优聚搜 https://v4.jujuso.com/盘了个盘 https://www.panlegepan.com/ 可能需要付费盘搜 Pro https://panso.pro/ 可能需要付费如风搜 https://rufengso.com/UP 云搜 https://www.upyunso.com/小马盘搜 https://www.xiaomapan.com/ 备用站点 https://www.feizhupan.com ，https://www.xiaomapan.xyz我的小站 https://pan666.net/ (不是笔者的网站，是这个网站原来的名字就是我的小站)搜副业 https://www.sofuye.com/盘库吧 https://panku8.com/ 需要 vip 才能下载资源蜂吧 https://www.fengba.net/小鸡窝 https://xiaojiwo.top/需要关公众号才能访问的网盘搜索引擎网站列表爱盘搜 https://aipanso.com/易搜 https://yiso.fun/千帆搜索 https://pan.qianfan.app/猫狸盘搜 https://www.alipansou.com/ 只有阿里云盘的资源盘搜搜 https://www.pansoso.com/ 只有百度网盘资源nice 搜 https://www.niceso.net/盘小子 https://pan.xiaozi.cc/ 资源不多，大概 10w 量级秒搜 https://miaosou.fun/云盘 4K https://www.codelicence.cn/小兔搜搜 https://xiaotusoso.com/打不开的网盘搜索引擎网站列表云铺子 https://www.yunpz.net/ 搜索报错聚搜搜 https://www.jusoso.cc/夸克探宝 https://www.quarkfinder.top/云易搜 https://www.yun1sou.com/熊猫搜盘 https://www.sopandas.com/ 搜索报错云盘狗 https://www.yunpangou.com/盘搜 http://coapan.vip/橘子盘搜 https://www.nmme.icu/乌鸦搜 https://www.wuyasou.com/文件搜 https://wjsou.com/云盘狗 http://www.yunpangou.com/毕方铺 https://www.iizhi.cn/大力盘 https://www.dalipan.com/ed3000 https://www.ed3000.com/夸克搜 https://www.quark.so/资源精灵 https://www.bifangpu.com/迅雷盘搜 https://xlpanso.com/剧盘搜 https://www.jupanso.com/无忧盘搜 https://51yunpan.co福利搜 http://www.fulisou.com/吃瓜云 http://chigua.cloud/搜宝藏 https://sobaozang.com/ 打不开搜索结果页面，提示转存失败天天搜索 https://www.daysou.com/搜盘网 http://www.soupan.info/这是我能收集到最全的网盘搜索引擎列表了，来源包含百度搜索，谷歌搜索，网盘搜索导航站，每个都打开体验过，需要注册登录和关注公众号的就没有一一尝试了，因为有挺多免费资源了，这篇文章不含 AI 创作，纯手工古法写作，创作不易，请帮忙点赞留言分享，谢谢大家，大家也可以留言你在用的网盘搜索引擎，如果好用我可以收录到这个列表里面。
1. frida：真机调试1.1 前置条件有root权限的android手机:oneplus5T+lineageos打开开发者权限，USB调试，ROOT身份调试1.2 安装fridapip install frida pip install frida-tools安装完后，进入frida官网https://github.com/frida/frida/releases下载符合你frida版本的firda server下载后，将server使用adb push 命令传送到手机上并添加root权限如果没有adb，去网上随便下载一个android的模拟器，模拟器目录下都会存在adb.exe执行程序,把其所在目录加入到环境变量当中即可使用1.3 firda使用adb devices # 查看连接的设备 adb root #以root权限链接 adb -s xxx push frida-server /data/local/tmp/frida-server # 将frida-server推送到标识为xxx的手机上 adb -s xxx shell # 连接上手机，xxx是手机的编号， cd /data/local/tmp chmod 777 frida-server # 给frida-server最高权限 ./frida-server & # 后台运行frida-server完成上述命令后，可以在pc上运用frida-ps -U查看手机上的进程
案例内容：趣头条app的sign值分析和生成。案例环境：趣头条（8.1.0）、夜神模拟器（安卓5）、Frida（12.11.18）、Unidbg（0.9.5）声明：文章内容仅供参考学习，如有侵权请联系作者进行删除。@[toc]接口分析url： "http://39.107.213.234/search/searchContentNew"params：{ "dtu": "003", "tk": "ACH5kAjk7kEzhC-JcKT27sgVQw5V2TuYW0Q0NzUxNDk1MDg5NTIyNQ", "lon": "0.0", "token": "", "guid": "ee4d8ab62051306258de31e88ec1.04506739", "uuid": "ba4be62de1e14e14a80f64e9e1ef42f3", "tuid": "-ZAI5O5BM4QviXCk9u7IFQ", "tabCode": "0", "oaid": "", "distinct_id": "d81d2cf27a955ec6", "version": "31043000", "keyword": "%E8%A2%AB%E7%8E%8B%E6%80%9D%E8%81%AA%E6%89%8B%E6%92%95%E4%BB%A5%E5%B2%AD%E8%8D%AF%E4%B8%9A%E5%86%A4%E4%B8%8D%E5%86%A4%EF%BC%9F", "traceId": "94c370c5a88283dafd2f235f29a7762a", "keywordSource": "hotword", "page": "1", "deviceCode": "863064707522829", "limit": "20.0", "sign": "02ebb2d129c354762e6a4083cb17b05d", "time": "1649991315231", "h5_zip_version": "1004", "versionName": "3.10.43.000.0603.1931", "network": "wifi", "OSVersion": "5.1.1", "searchSource": "0", "innoseed": "", "device_code": "863064707522829", "lat": "0.0" }经过简单的测试，发现params中的参数都不能缺少。说明服务端对这些都进行了校验，那么直接在源码中检索这些关键词定位即可。经过一顿找，hook了几个位置，确定了在com.jifen.framework.http.napi.util.d中。hook看看参数和参数值包名：com.jifen.qukan版本：8.1.0Frida Hookimport frida, sys def on_message(message, data): print("[%s] => %s" % (message, data)) session = frida.get_usb_device().attach('com.jifen.qukan') js_code = """ Java.perform(function(){ console.log("1 start hook"); var ba = Java.use('com.jifen.framework.http.napi.util.d'); if (ba){ console.log("2 find class"); ba.c.implementation = function(a1){ console.log("3 find method"); console.log(a1); var res = ba.a(a1) console.log(res); return res; } } }) """ script = session.create_script(js_code) script.on('message', on_message) script.load() sys.stdin.read() 打印结果：参数是list，把params的参数转为 ｛key=value｝后添加在数组中。在函数中把list转换为了字符串，并且进行了排序。返回的结果中则生成了sign。所以最终的计算在NativeUtils.getInnoSoInfo(sb.substring(0, sb.length() - 1));可以看到最终是执行了native String innoSign(String str) ，接下来继续HOOK getInnoSoInfo方法。js_code = """ Java.perform(function(){ console.log("1 start hook"); var ba = Java.use('com.jifen.qukan.utils.NativeUtils'); if (ba){ console.log("2 find class"); ba.getInnoSoInfo.implementation = function(a1){ console.log("3 find method"); console.log(a1); var res = ba.getInnoSoInfo(a1) console.log(res); return res; } } }) """打印结果：计算的参数已经知晓，通过在线网站生成的md5值和返回的结果不同，说明参数在so中进行了处理。那我们去NativeExample.so中看看innoSign方法。So分析找到NativeExample.so。拿IDA反汇编。搜索innoSign。双击innoSign进入后F5查看伪代码。innoSign()内容如下：int __fastcall innoSign(const char *a1) { const char *v1; // r6 char *v2; // r4 int v3; // r0 size_t v4; // r0 char *v5; // r5 size_t v6; // r0 size_t v7; // r0 char *v8; // r4 int result; // r0 int v10; // [sp+48h] [bp-78h] int v11; // [sp+4Ch] [bp-74h] int v12; // [sp+50h] [bp-70h] int v13; // [sp+54h] [bp-6Ch] int v14; // [sp+58h] [bp-68h] int v15; // [sp+5Ch] [bp-64h] unsigned __int8 v16; // [sp+A0h] [bp-20h] unsigned __int8 v17; // [sp+A1h] [bp-1Fh] unsigned __int8 v18; // [sp+A2h] [bp-1Eh] unsigned __int8 v19; // [sp+A3h] [bp-1Dh] unsigned __int8 v20; // [sp+A4h] [bp-1Ch] unsigned __int8 v21; // [sp+A5h] [bp-1Bh] unsigned __int8 v22; // [sp+A6h] [bp-1Ah] unsigned __int8 v23; // [sp+A7h] [bp-19h] unsigned __int8 v24; // [sp+A8h] [bp-18h] unsigned __int8 v25; // [sp+A9h] [bp-17h] unsigned __int8 v26; // [sp+AAh] [bp-16h] unsigned __int8 v27; // [sp+ABh] [bp-15h] unsigned __int8 v28; // [sp+ACh] [bp-14h] unsigned __int8 v29; // [sp+ADh] [bp-13h] unsigned __int8 v30; // [sp+AEh] [bp-12h] unsigned __int8 v31; // [sp+AFh] [bp-11h] int v32; // [sp+B0h] [bp-10h] v1 = a1; v2 = malloc(0x11u); _aeabi_memclr(); v3 = 0; do { v2[v3] = byte_3648[v3] ^ byte_3658[v3]; ++v3; } while ( v3 != 16 ); v4 = strlen(v1); v5 = malloc(v4 + 512); strcpy(v5, v1); v6 = strlen(v5); *&v5[v6] = 2036689702; *&v5[v6 + 4] = 61; strcat(v5, v2); v10 = 0; v11 = 0; v12 = 1732584193; v13 = -271733879; v14 = -1732584194; v15 = 271733878; v7 = strlen(v5); j_MD5Update(&v10, v5, v7); j_MD5Final(&v10, &v16); free(v5); free(v2); v8 = malloc(0x21u); sprintf( v8, "%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x%02x", v16, v17, v18, v19, v20, v21, v22, v23, v24, v25, v26, v27, v28, v29, v30, v31, v19, v18, v17, v16, v10, v11, v12, v13, v14, v15); result = _stack_chk_guard - v32; if ( _stack_chk_guard == v32 ) result = v8; return result; }简单看了一下，最后返回了result。result = _stack_chk_guard - v32;if ( _stack_chk_guard == v32 ) result = v8;_stack_chk_guard 是检查栈帧是否溢出，检查数据是否被修改。不往下追了，后面还有很多内容。接下来通过unidbg来调so的方法。Unidbg调用先搭个架子执行下看看是否需要补环境，路径自己改一改。package com.jni; import com.github.unidbg.AndroidEmulator; import com.github.unidbg.Module; import com.github.unidbg.linux.android.AndroidEmulatorBuilder; import com.github.unidbg.linux.android.AndroidResolver; import com.github.unidbg.linux.android.dvm.*; import com.github.unidbg.memory.Memory; import java.io.ByteArrayOutputStream; import java.io.File; import java.io.IOException; import java.io.ObjectOutputStream; public class qutoutiao extends AbstractJni { private final AndroidEmulator emulator; private final VM vm; private Module module; String rootPath = "C:\\Users\\Desktop\\AppTest\\"; File apkFile = new File(rootPath+"趣头条.apk"); File soFile = new File(rootPath+"libNativeExample.so"); // OtoB: Object to Bytes; private static byte[] OtoB(Object obj){ try { ByteArrayOutputStream ByteStream = new ByteArrayOutputStream(); ObjectOutputStream ObjectStream = new ObjectOutputStream(ByteStream); ObjectStream.writeObject(obj); ObjectStream.flush(); byte[] newArray = ByteStream.toByteArray(); ObjectStream.close(); ByteStream.close(); return newArray; } catch (IOException e) { throw new IllegalStateException(e); } } public qutoutiao() { emulator = AndroidEmulatorBuilder.for32Bit().build(); final Memory memory = emulator.getMemory(); memory.setLibraryResolver(new AndroidResolver(23)); vm = emulator.createDalvikVM(apkFile); vm.setVerbose(false); vm.setJni(this); DalvikModule dm = vm.loadLibrary(soFile, true); module = dm.getModule(); dm.callJNI_OnLoad(emulator); Runtime.getRuntime().addShutdownHook(new Thread(new Runnable() { @Override public void run() { try { emulator.close(); } catch (IOException e) { e.printStackTrace(); } } })); } public String get_sign(){ DvmClass BitmapkitUtils = vm.resolveClass("com/jifen/qukan/utils/NativeUtils"); String params = "OSVersion=5.1.1&deviceCode=863064707522829&device_code=863064707522829&distinct_id=d81d2cf27a955ec6&dtu=003&guid=ee4d8ab62051306258de31e88ec1.04506739&h5_zip_version=1004&innoseed=&keyword=Lx&keywordSource=search&lat=35.00024265777022&limit=20.0&lon=107.56824527000379&network=wifi&oaid=&page=1&searchSource=0&tabCode=0&time=1650004096206&tk=ACH5kAjk7kEzhC-JcKT27sgVQw5V2TuYW0Q0NzUxNDk1MDg5NTIyNQ&token=&traceId=94c370c5a88283dafd2f235f29a7762a&tuid=-ZAI5O5BM4QviXCk9u7IFQ&uuid=ba4be62de1e14e14a80f64e9e1ef42f3&version=31043000&versionName=3.10.43.000.0603.1931"; StringObject signs = BitmapkitUtils.callStaticJniMethodObject(emulator,"innoSign()",params); String sign = signs.getValue(); return sign; } public static void main(String[] args) { com.jni.qutoutiao qtt = new com.jni.qutoutiao(); System.out.println(qtt.get_sign()); } }用frida hook的参数和Unidbg执行结果进行对比。发现两者一致。继续抓包对比下。将数据包params的sign删除后按key排序生成新字符串，放到unidbg中执行。生成的sign和返回的一致。那么本节案例到此结束了，大家动手操作一遍！
本文是大众点评APP的分析记录。声明：文章内容仅供参考学习，如有侵权请联系作者进行删除。案例环境：夜神安卓5，APP版本10.45.7。 工具：Frida、Charles。点评看不到http/https数据包，它走了自己的CIP协议，网上的抓包方案有降级或者VPN转发。 本文通过hook的方式来抓http/https数据包。用super-Jadx时内存溢出，我删除了一些无用文件，将dex分批反编译，这块就不再说了。@[toc]Hook 抓包Hook代码：执行hook脚本后，成功抓到包。Hook http/https请求信息Hook代码：查看执行结果：Hook 明文响应内容Hook代码：查看执行结果：格式化后和设备页面信息对比，发现内容一致。Hook 代码整理import frida, sys def on_message(message, data): print("[%s] => %s" % (message, data)) session = frida.get_usb_device().attach('com.dianping.v1') js_code = """ Java.perform(function(){ Java.openClassFile("/data/local/tmp/r0gson.dex").load(); const gson = Java.use('com.r0ysue.gson.Gson'); var c1 = Java.use("com.dianping.nvnetwork.tunnel2.a"); c1.isSocketConnected.implementation = function () { return false; } var bb = Java.use("com.dianping.dataservice.mapi.b"); bb.b.overload('java.lang.String', 'com.dianping.dataservice.mapi.c').implementation = function(a1, a2){ //console.log("**************************** http start"); console.log(a1); // console.log('a2:', a2); var res = this.b(a1, a2); // console.log(res); //console.log("**************************** http end"); return res; } var d = Java.use("com.dianping.dataservice.mapi.impl.d") d.a.overload('java.lang.String', 'java.lang.String').implementation = function(a1, a2){ //console.log("**************************** https start"); var res = this.a(a1, a2); console.log(res); //console.log("**************************** https end"); return res; }; var c3 = Java.use("com.dianping.picassocontroller.jse.c"); c3.a.overload('com.dianping.picassocontroller.vc.e', 'java.lang.String', '[Ljava.lang.Object;').implementation = function (a,b,c) { console.log('a: ', a); console.log('b: ', b); console.log('c: ', c); var v = this.a(a,b,c) console.log(v.string()) return v; } //// hook decryptData var ByteString = Java.use("com.android.okhttp.okio.ByteString"); var SocketSecureManager = Java.use("com.dianping.nvnetwork.tunnel.Encrypt.SocketSecureManager"); SocketSecureManager.decryptData.implementation = function(bstr, str){ console.log('bstr: ', bstr); console.log('bstr-tojson:',gson.$new().toJson(bstr)); console.log('bstr-hex: ', ByteString.of(bstr).hex()); console.log('str: ', str); var ret = this.decryptData(bstr, str); // console.log(Java.use("android.util.Log").getStackTraceString(Java.use("java.lang.Throwable").$new())); console.log('decryptData Results: ', ByteString.of(ret).hex()); return ret; } // var AESUtils = Java.use("com.meituan.android.common.unionid.oneid.util.AESUtils"); // AESUtils.decrypt.implementation = function(str){ // console.log('decrypt is called'); // str = "RNtYlL8BsMe4EOqz-X0a1WAw3FwHsr1fdXSOBRnPEF_MiYYvJ1GSqvIIA1NwwTUxuoNWGGueSBRl50pmkidrgdQmVUUScNhW4FpBl1ZFPSyJAz4Zo0PpDNStJnb5JCf8fEe8oDXOCAsptjpuGpRJGClsKeIqe9ph6gAyvYfOk2XafwXbHf4VlsjATDVI7r4f-2s6QQ5Mfc6jvRMyqNdLJNtLwg5XDEmL4Leu7fCnHJbJ46O8hy8MFuN38avBqh6N-2s6QQ5Mfc6jvRMyqNdLJLVj6r8HF-qtkeIznxOc2qXKVyQ4dzMLEBQjCADd9vGF" // var ret = this.decrypt(str); // console.log('decrypt ret value is ' + ret); // return ret; // }; }) """ script = session.create_script(js_code) script.on('message', on_message) script.load() sys.stdin.read()
夜神安卓7系统的charles证书导入。由于用户安装的外部证书不被信任，所以需要把SSL证书安装到安卓系统证书目录里。一：下载证书开启本地代理，在浏览器输入 chls.pro/ssl 下载证书到本地。把证书原名charles-proxy-ssl-proxying-certificate.pem 先修改为 charles.pem二：打印证书通过openssl输出证书内容，自行安装openssl下载地址：https://slproweb.com/products/Win32OpenSSL.html安装后通过 openssl command 打开command。输入 openssl x509 -inform PEM -subject_hash_old -in charles.pem执行后打印的结果中，第一行的90e59ded复制一下。此处把证书名修改为 90e59ded.0 。 注意格式，你修改为 xxx.0三：导入设备不管啥方法，把证书传进设备的 /sdcard/ 文件下。可以通过adb push，命令： adb push xxx.0 /sdcard/然后进入adb shell中，adb shell 连接手机，不是root的通过命令 su 切换下，然后cd到 /sdcard/中。没问题的话将证书移动到 /system/etc/security/cacerts/ 路径下。命令： mv xxx.0 /system/etc/security/cacerts/有可能会执行失败，说只读之类的Read-only file system 可以先执行命令：mount -o rw,remount /system或者执行命令：mount -o rw,remount /然后再mv移动。四：证书授权给证书权限的执行命令：chmod 777 /system/etc/security/cacerts/xxx.0重启手机：reboot证书导入完成，配置下wifi代理就可以正常抓包了。
雷电模拟器mount: ‘/system‘ not in /proc/mounts
报错：Read-only file system报错原因：/system 是以只读的形式挂载上来的，所以无论你怎么chmod都无法修改其权限。解决办法：重新挂载，挂载读写执行权限gracelte:/ $ su # 重新挂载/system 文件夹 :/ # mount -o rw,remount /system mount: '/system' not in /proc/mounts报错：mount: '/system' not in /proc/mounts# 在windows窗口运行以下命令，不要进到adb shell 里面运行 D:\platform-tools> adb root # 解锁分区（需要升级到最新版本adb，才有disable-verity工具） D:\platform-tools> adb disable-verity # 重新挂载，没加权限 表示rwx全部挂上 D:\platform-tools> adb remount雷电9模拟器：# 在windows窗口运行以下命令，不要进到adb shell 里面运行 D:\platform-tools> adb root # 雷电模拟器，直接在设置打开磁盘写入功能 # 重新挂载，没加权限 表示rwx全部挂上 D:\platform-tools> adb remount # 进入adb shell D:platform-tools>adb shell
Charles+postern抓包教程Android 7.0以上系统需要将Charles证书从“用户证书目录”移动到“系统证书目录”#将系统根目录挂载为可读写 mount -o rw,remount / #系统证书路径 /etc/security/cacerts #用户证书路径 /data/misc/user/0/cacerts-added #移动完之后记得把权限改回只读 mount -o remount,ro /可以使用MT管理器打开终端操作命令和移动证书参考地址：https://www.cnblogs.com/bawangxx/p/15075079.html参考地址：https://www.cnblogs.com/tjp40922/p/16819984.html
环境准备模拟器夜神安卓7版本。配合charles的抓包步骤：http://t.csdn.cn/lpNaV模拟器需要是64位的，在商店下载推荐版本时会提示更新。安装后，创建64位的模拟器，从商店下载app打开后再按要求更新一下，即可成功进入APP。更新后的版本：4.95.1.10No_PROXY抓包发现搜索后没抓到有用的数据包，但是有其他包，可能这个APP采用了 NO_PROXY 的方式拒绝代理。那我们可以采用VPN转发的方式进行测试，如果还不行就需要分析源码进行Hook 或者更换其他类型的抓包工具。我用 drony 转发并没有成功，所以来分析源码。com.shizhuang.duapp.common.net.DuHttpConfig.a在本地进行hook：import frida, sys def on_message(message, data): print("[%s] => %s" % (message, data)) # dewu 4.95.1.10 session = frida.get_remote_device().attach('com.shizhuang.duapp') # okhttp3拦截器 js_code2 = """ Java.perform(function(){ console.log("1 start hook"); var ba = Java.use('okhttp3.internal.http.RealInterceptorChain'); if (ba){ console.log("2 find class"); ba.proceed.overload('okhttp3.Request').implementation = function(a1){ console.log("3 find method"); console.log(a1); return ba.proceed(a1) } } }) """ js_code1 = """ Java.perform(function(){ console.log("1 start hook"); var ba = Java.use('com.shizhuang.duapp.common.helper.net.interceptor.HttpRequestInterceptor').$new(); if (ba){ console.log("2 find class"); ba.intercept.implementation = function(a1){ console.log("3 find method"); console.log(a1); return ba.intercept(a1) } } }) """ script = session.create_script(js_code1) script.on('message', on_message) script.load() sys.stdin.read()找到 com.shizhuang.duapp.modules.mall_search.api.ProductService.searchProductNew()
晶晨芯片固件精简及遥控移植（含固件下载）
下载安装晶晨CustomizationTool 双击打开CustomizationTool（管理员方式运行）点击加载，勾选设置基本信息（解压system镜像），只勾选这一个就可以了，上面的三个选项就会被自动选中。加载原版固件解压中，请耐心等待解压成功进入解包目录：C:\Program Files (x86)\Amlogic\CustomizationTool\tmp\level2\system，当然CustomizationTool安装目录不同，所以解包目录也不同，灵活掌握。替换原桌面，根据上文提到的图片，找到原桌面的目录：system\app\AmlogicLauncher，复制当贝精简桌面到该目录，删除原桌面，同时把当贝精简桌面重命名为：AmlogicLauncher进入system\preinstall目录，删除不需要的预装apk。回到CustomizationTool界面，点击压缩，完成img精简晶晨线刷工具_Amlogic_USB_Burning_Tool刷机坑：线刷到98%失败，Amlogic Usb burning tool 2.1.6.8以后的版本做了超时退出，固件太大，验证时间超过30秒就会失败，这个地方卡了最久，建议使用2.1.6这个版本；引用及参考：晶晨芯片固件精简及遥控移植（含固件下载）：https://www.znds.com/tv-1224925-1-1.html中兴机顶盒B860AV2.1刷机避坑总结：https://zhuanlan.zhihu.com/p/600600257
SSL证书是保证网站安全的重要组成部分，它可以加密网站和用户之间的通信，防止敏感信息被窃取。ACME是一种自动化证书管理协议，可以帮助我们快速申请SSL证书并自动续期。本文将介绍如何使用ACME申请SSL证书和自动续期。1.安装ACME客户端首先，我们需要安装ACME客户端。ACME客户端是用于与证书颁发机构（CA）通信的工具。在本文中，我们将使用Certbot作为ACME客户端。可以使用以下命令在Debian/Ubuntu系统中安装Certbot：sudo apt-get install certbot在CentOS/RHEL系统中，可以使用以下命令安装Certbot：sudo yum install certbot申请SSL证书安装完成后，我们可以使用Certbot申请SSL证书。可以使用以下命令申请证书：sudo certbot certonly --webroot -w /var/www/example.com -d example.com -d www.example.com其中，-w参数指定网站的根目录，-d参数指定网站的域名。执行命令后，Certbot会自动与CA通信，申请SSL证书。配置Web服务器申请证书后，我们需要将证书配置到Web服务器中。以Nginx为例，可以使用以下命令配置证书：ssl_certificate /etc/letsencrypt/live/example.com/fullchain.pem; ssl_certificate_key /etc/letsencrypt/live/example.com/privkey.pem;其中，/etc/letsencrypt/live/example.com/fullchain.pem是证书文件，/etc/letsencrypt/live/example.com/privkey.pem是私钥文件。自动续期SSL证书有一个有效期限，通常为90天。为了保证网站的安全性，我们需要定期更新证书。使用ACME可以自动续期证书，无需手动操作。可以使用以下命令设置自动续期：sudo certbot renew --dry-run执行命令后，Certbot会检查证书是否需要续期，并自动续期证书。可以使用cron定时执行该命令，实现自动续期。总而言之使用ACME可以快速申请SSL证书并自动续期，大大简化了证书管理的流程。在Linux系统中，可以使用Certbot作为ACME客户端，申请证书和自动续期非常简单。希望本文对你有所帮助。