- 博客(29)
- 资源 (3)
- 收藏
- 关注
原创 安卓脱壳指南
目标app的类或方法的代码体被抽空,在类被加载或者具体方法被调用时才回填,这种方式直接脱壳只能得到包含类名和方法名的空代码dex文件,防止dex在加载阶段被脱壳。目标通过自定义虚拟机来执行指令,原来的smali代码被替换成了适用于自定义虚拟机的指令,这种方式直接脱壳会发现方法被native化。得到dex文件,dex文件里有smali代码,可以反编译成java,用于对apk进行进一步的分析。目标app先读取dex到内存,然后通过内存加载dex,防止直接对apk解包就能获得dex文件。
2025-07-31 15:14:07
501
原创 如何把一台手机的屏幕投到另一台手机上
手机屏幕互投方案摘要 本文介绍将一台手机屏幕投屏到另一台手机的三种方法: Scrcpy+PC中转:通过电脑中转实现投屏和控制 远程控制工具:如RustDesk、向日葵等,需开启无障碍服务 ADB+Scrcpy方案:重点讲解方案,需root权限 方案核心流程: 被控端:配置ADB调试(可选Magisk模块实现无感连接) 控制端:安装ADB、启动Scrcpy服务、解析H264视频流 技术难点包括ADB端口转发、授权管理和视频流解析。文章提供了Kotlin代码示例解析视频流,并附有效果视频演示。该方案适合需要深度
2025-07-04 17:46:11
1419
原创 Ubuntu20.4编译AOSP源码实践
Ubuntu20.4编译AOSP源码实践摘要 本文详细记录了在Ubuntu20.4系统上编译AOSP(android-8.1.0_r38)的完整流程。主要内容包括:1)虚拟机配置建议(8G内存、200G磁盘);2)依赖库安装指南(JDK8、Python2、Git等);3)使用清华源同步AOSP源码的方法;4)编译命令及参数设置;5)常见错误解决方案(SSL证书错误、Python版本冲突、Jack服务器连接问题等)。重点解决了源码同步中的网络连接问题、编译过程中Python版本冲突以及Jack服务器的TLS配
2025-07-03 13:07:02
618
原创 安卓开机自启动方案
本文介绍了利用Magisk实现安卓设备开机自启动shell脚本的解决方案。针对拥有root权限的设备,作者首先尝试了Init.d方案但因其部署繁琐和设备兼容性问题而放弃。随后采用Magisk方案,通过在/data/adb/post-fs-data.d目录放置可执行脚本实现开机自启动。文章详细说明了部署步骤,包括脚本推送和权限设置,并提供了注意事项:如MIUI系统的特殊限制处理方案,以及避免因脚本问题导致系统卡死的建议(如使用nohup执行耗时脚本)。最后指出若出现问题可通过Recovery模式进行修复。
2025-07-03 13:06:01
1234
原创 Art下Xposed解析整理
用于Xposed框架及模块的管理工作,最终产物即是我们看到的Xposed安装器应用2.Xposed本质上是Xposed版的zygote(孵化器),由XposedInstaller来将原生的zygote进行替换,从而达到注入的目的此项目产物即XposedBridge.jar,也就是Xposed待注入的jar包,编写Xposed模块时使用到的一些类如XposedHelpers、XposedBridge都在这里此项目编译编译生成需要替换的系统so库例如libart.so。
2025-07-02 10:27:53
901
原创 拆解QtScrcpy的熄屏控制功能
本文分析了QtScrcpy安卓投屏软件的熄屏功能实现原理。该功能通过反射调用android.view.SurfaceControl类的setDisplayPowerMode方法实现,需要系统级权限。文章详细介绍了两种实现方案:基于adb权限的方案将scrcpy-server推送至设备执行;基于root权限的方案则通过app_process直接调用dex文件。作者最终采用root方案开发了独立应用,无需PC连接即可实现熄屏控制,并提供了完整的实现代码和效果展示。该功能在延长设备寿命、降低功耗方面具有实用价值。
2025-07-02 10:23:16
1327
1
原创 安卓内核定制开发笔记(三)系统调用Hook
安卓内核系统调用Hook技术解析 本文详细介绍了安卓内核层系统调用Hook的实现方法。重点解决了内核态无法直接修改用户态内存的难题,通过使用get_fs()和set_fs(KERNEL_DS)临时解除内存访问限制,实现对openat等系统调用的参数修改。文章还分析了该技术在文件重定向中的应用,并指出需要同时hook多个相关系统调用(如readlinkat、execve等)以避免重定向逃逸。最后介绍了两种部署方式:有root权限时可动态加载模块,无root权限时需编译进内核。注意该技术不适用于重打包场景。
2025-07-01 20:50:08
560
原创 安卓内核定制开发笔记(二)系统拦截
本文介绍了在安卓内核中实现系统调用Hook的方法,以openat为例。首先通过查找系统调用表(sys_call_table)获取目标调用地址,然后编写内核模块替换原调用地址为自定义函数,并保存原地址。在模块卸载时需要恢复原地址。开发阶段可使用insmod/rmmod命令加载卸载模块,通过dmesg查看printk日志输出。该方法可用于监控或修改系统调用行为。
2025-07-01 07:30:00
341
原创 安卓内核定制开发笔记(一)内核源码编译
本文详细记录了安卓内核定制开发流程,以一加3T设备为例,从环境准备到内核编译和刷入全过程。内容包括:安装编译依赖、获取交叉编译工具链、下载AnyKernel3和内核源码;执行编译命令生成内核镜像;使用AnyKernel3打包并刷入手机;针对一加3T的WiFi驱动问题提供了两种解决方案。特别强调刷机风险,适合具备Android开发基础的用户参考实践。通过修改内核版本字符串或内核模块校验机制,成功解决了驱动兼容性问题。
2025-06-30 10:00:00
920
原创 浅谈安卓逆向工程-注入篇
注入与反注入对应于逆向中的攻防,没有绝对的安全防护,也没有普适的攻击手段。上文从原生Xposed出发,介绍了发展至今的各种“Xposeder”们,下面用一张图理清他们之间的关系。下图对上文提到的注入手段做个整理。
2025-06-26 14:31:34
2495
原创 开源投屏工具Escrcpy的使用教程
Escrcpy是一款基于scrcpy的开源Android投屏工具,拥有美观界面和丰富功能。相比QtScrcpy,它新增了扫码连接、反向供网、文件管理、相机捕获等特性,并支持配置文件和计划任务。特别适合开发者调试、手游投屏、教学演示等场景。通过USB调试连接设备后,可实现屏幕镜像、批量化操作等实用功能,还支持熄屏控制等进阶玩法。目前项目正在快速迭代中,具备较大发展潜力。
2025-06-06 12:54:28
1687
原创 爬虫技巧----突破前端反调试(无限debugger)
爬虫技巧----突破前端反调试需求描述四种解决方法1.禁用浏览器断点2.利用中间人修改响应代码需求描述在采集某些网站时,目标网站为了防止别人分析调试前端代码,采取了反调试措施。其中一种做法是当你按F12进入浏览器控制台后,浏览器会自动命中debugger断点,并且无限循环,导致无法调试。以食品药品监督管理总局数据查询网站为例。如下图:按F12进入控制台四种解决方法1.禁用浏览器断点...
2019-08-10 15:46:43
13609
4
原创 蘑菇街列表页mw-sign值计算
蘑菇街mw-sign值计算需求描述分析过程1.寻找加密位置2.分析传入参数3.mw-uuid4._mwp_h5_token和_mwp_h5_token_enc5.最终流程梳理结果展示关注我们需求描述在采集蘑菇街的时候,按照关键词搜索宝贝列表的接口中有mw-sign参数,...
2019-07-25 15:27:50
1136
2
原创 HTTP抓包利器Fiddler基础及进阶教程(四)----使用Fiddler破解离线版极验验证
本文通过小微企业名录网站的极验滑块验证案例,展示了Fiddler在特定场景下的应用。分析发现离线版验证只需确保滑块位置(c值)与缺口位置(f值)误差小于3。使用Fiddler的AutoResponder功能将远程JS替换为本地修改版,使任意滑块位置都能通过验证。同时提供了FiddlerCore的实现思路,通过拦截响应修改JS内容。该方法有效破解了滑块验证机制,演示了Fiddler在请求拦截和内容替换方面的强大功能。
2019-07-14 14:50:03
2608
原创 HTTP抓包利器Fiddler基础及进阶教程(三)---- 修改请求和响应+FiddlerCore使用
本文介绍了Fiddler工具的进阶使用技巧,包括修改HTTP请求和响应数据。通过设置请求断点,可修改目标URL,将访问导向不同页面;设置响应断点则可修改返回内容,如替换页面文本。文中以博客链接修改为例,详细展示了操作步骤并通过Gif动态演示效果。最后介绍了如何通过FiddlerCore类库在代码中实现相同功能,提供了核心代码示例。这些方法可用于接口调试、数据篡改测试等场景,比前端审查元素更底层。
2019-06-29 21:48:16
2338
1
原创 HTTP抓包利器Fiddler基础及进阶教程(二)---- 手机端抓包+强制全局代理
本文详细介绍了使用Fiddler进行移动端HTTP抓包的方法。首先需要在Fiddler中开启远程连接并获取本地IP地址;然后配置手机代理,确保手机与电脑处于同一局域网,通过WiFi高级设置填入代理信息;接着在手机浏览器中下载安装Fiddler证书。针对部分不走系统代理的APP,推荐使用需要Root权限的ProxyDroid工具强制代理。配置完成后即可在Fiddler中查看手机应用的网络请求数据包。
2019-06-16 17:15:20
2564
3
原创 HTTP抓包利器Fiddler基础及进阶教程(一)
本文详细介绍了HTTP抓包工具Fiddler在PC端的使用方法。主要内容包括:Fiddler的安装步骤、浏览器HTTPS抓包设置(含证书配置方法)、常用工具栏功能说明(如Inspectors查看请求/响应、Composer重放数据包、Filters过滤URL),以及如何配置其他桌面程序通过Fiddler代理进行抓包。文章还提供了模拟提交工具的获取方式。通过图文并茂的方式,帮助读者快速掌握Fiddler的基础和进阶功能,是网络爬虫开发者的实用指南。
2019-06-12 22:47:45
1697
原创 爬虫应对IP封禁的一般性处理方法
本文介绍了三种应对网站封禁IP的方法:1)通过设置X-Forwarded-For请求头直接绕过某些网站的风控;2)使用拨号切换IP,但存在断网、IP段限制等问题;3)使用代理IP,包括免费短时效代理和付费高质量代理池。文章还提供了相关案例和更专业的技术文章链接,帮助读者根据实际需求选择合适的IP规避方案。
2019-05-31 21:13:38
2254
原创 CerSharp 更规范的使用方式
前文链接前文中使用的是离线依赖包直接引入的方式,这种方式拿到的dll始终不是最新的,本文将提供一种更为规范的CefSharp使用方法,使用Nuget包引用1.老规矩 先拖个界面 本文使用的框架为 .Net Framework 4.5.22.从Nuget上安装CefSharp.WinForms安装完之后工具栏应该会多出来这个控件3.把项目改成64位(x86应该也可以 没试过)4.在...
2019-05-14 09:45:57
1475
3
原创 行政区域边界提取
实现功能:使用WebBrowser和百度地图JS API 提取任意行政区域边界最终效果展示提取结果:实现过程: 1.将html源文件载入到WebBrowser WebBrowser wb = new WebBrowser(); using (StreamReader sr = new StreamReader("1.html")) {
2017-12-19 15:55:47
3577
原创 C# 实现Sort接口 排序自定义实体类集合
预定义实体类 class SortClass { public SortClass(int id,String value) { this.Id = id; this.Value = value; } String _Value
2017-11-07 11:55:39
2041
原创 基于C#的Http参数化请求工具
本文介绍了一款接口调试工具,主要用于模拟客户端请求API接口。工具支持GET/POST请求自动识别、内容抽取、图片请求和文件下载等功能,并配有详细操作截图。作者表示因工作需求开发此工具,但目前不再维护更新,推荐使用功能更强大的Reqable替代。最后提供了原工具的百度网盘下载链接(密码gbxj)和Reqable的官网地址。
2017-11-03 16:37:10
9785
6
原创 Newtonsoft.Json.dll 的使用
1.类库说明Newtonsoft.Json.dll是.NET 下开源的json格式序列号和反序列化的类库,利用此类库,可以方便地操作json数据,其中在反序列化时,可以直接将格式化的json数据处理成预定义的实体类,也可以生成对应的匿名类2.环境配置1通过NuGet程序包直接配置 在对应项目的引用选项上右键,在弹出菜单中选择”管理NuGet程序包”,在搜索框中搜索json,找到Newtonso
2017-10-30 11:14:28
22668
原创 C# 图片和Base64字符串互相转换
1.base64编码的字符串转换为图片格式(Bitmap) /// <summary> /// base64编码的文本 转为 图片 /// </summary> /// <param name="basestr">base64字符串</param> /// <returns>转换后的Bitmap对象</returns>
2017-10-30 10:31:26
9629
原创 C# Linq 的使用整理(持续更新中)
Linq 说明1.什么是LINQ? LINQ即Language Integrated Query(语言集成查询),LINQ是集成到C#和Visual Basic.NET这些语言中用于提供查询数据能力的一个新特性。 注:LINQ(发音为Link)2.关于LINQ的重要高级特性? 1> LINQ是.NET框架的扩展,它允许我们以数据库查询的方式查询数据集合。 2> C# 3.0包含整合LINQ到
2017-10-20 11:42:01
1647
原创 C#中CefSharp的简单使用
准备工作1. 创建32位winform项目 必须指定32位或64位 这里使用32位 2. 下载CefSharp相关文件 3. 复制CefSharp相关文件到项目debug目录并添加引用1.创建项目关键步骤是项目必须是32位 2.CefSharp相关文件可以直接通过NuGet程序包直接导入,本人为了图方便直接将用到的文件打包,新建项目时解压到debug目录就行压缩包下载链接 密码:5n49包
2017-10-19 11:44:21
27426
7
原创 C# 实现自动ADSL拨号
前言由于工作原因,需要使电脑长时间保持宽带连接状态,并且有动态拨号更换ip的需求,在网上查阅资料许久,首先找到了这篇博客: 使用C#实现ADSL自动拨号但是本人在win8 64位的系统上并未成功,后来采用bat去实现这个功能并封装成帮助类类代码类代码如下//---------------------------------------名称:基于bat批处理的ADS...
2017-10-18 16:41:05
4524
2
原创 C# 泛型使用
1.预定义编译器为VS2013 编译环境为Framework 4.0 项目类型为控制台应用程序预定义实体类 class TestClass { int _Key = 0; public int Key { get { return _Key; }
2017-10-18 14:46:20
537
原创 前端学习Tips
前端学习Tips整理了一些本人前端学习路上一些tipsJQuery1.获取相同标签的class数例如要知道页面中class为a的标签数量 代码如下html代码:<div class="a"></div><div class="a"></div><div class="a"></div><div class="a"></div><div class="a"></div><div clas
2017-10-18 11:02:19
754
CefSharp测试.7z
2019-05-14
CefSharpNuget.7z
2019-05-14
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人
RSS订阅