会员
众包
新闻
博问
闪存
赞助商
HarmonyOS
Chat2DB
所有博客
当前博客
我的博客
我的园子
账号设置
会员中心
简洁模式
...
退出登录
注册
登录
博客园
首页
新随笔
联系
订阅
管理
上一页
1
2
3
4
5
6
7
8
···
46
下一页
2025年5月27日
聊一聊 .NET Dump 中的 Linux信号机制
摘要: 一:背景 1. 讲故事 当 .NET程序 在Linux上崩溃时,我们可以配置一些参考拿到对应程序的core文件,拿到core文件后用windbg打开,往往会看到这样的一句信息 Signal SIGABRT code SI_USER (Sent by kill, sigsend, raise),参考如
阅读全文
posted @ 2025-05-27 11:38 一线码农
阅读(481)
评论(0)
推荐(2)
2025年5月24日
.NET外挂系列:8. harmony 的IL编织 Transpiler
摘要: 一:背景 1. 讲故事 前面文章所介绍的一些注入技术都是以方法为原子单位,但在一些罕见的场合中,这种方法粒度又太大了,能不能以语句为单位,那这个就是我们这篇介绍的 Transpiler,它可以修改方法的 IL 代码,甚至重构,所以这就非常考验你的 IL 功底,个人建议在写的时候要多借助如下三个工具:
阅读全文
posted @ 2025-05-24 14:01 一线码农
阅读(469)
评论(0)
推荐(5)
2025年5月23日
.NET外挂系列:7. harmony在高级调试中的一些实战案例
摘要: 一:背景 1. 讲故事 如果你读完前六篇,我相信你对 harmony 的简单使用应该是没什么问题了,现在你处于手拿锤子看谁都是钉子的情况,那这篇我就找高级调试里非常经典的 3个钉子 让大家捶一锤。 二:三大故障案例 1. ConcurrentBag 大集合问题 在高级调试中经常会遇到一类问题就是托管
阅读全文
posted @ 2025-05-23 16:32 一线码农
阅读(405)
评论(0)
推荐(1)
.NET外挂系列:6. harmony中一些实用的反射工具包
摘要: 一:背景 1. 讲故事 本来想研究一下 IL编织和反向补丁的相关harmony知识,看了下其实这些东西对 .NET高级调试 没什么帮助,所以本篇就来说一些比较实用的反射工具包吧。 二:反射工具包 1. AccessTools AccessTools这个工具包用来简化反射操作,你如果看过 harmon
阅读全文
posted @ 2025-05-23 09:26 一线码农
阅读(691)
评论(1)
推荐(2)
2025年5月21日
.NET外挂系列:5. harmony 中补丁参数的有趣玩法(下)
摘要: 一:背景 1. 讲故事 开局一张表,故事全靠编,为了能够承上启下,先把参数列表放出来。 参数名 说明 __instance 访问非静态方法的实例(类似 this)。 __result 获取/修改返回值,要想修改用 ref。 __resultRef 修改返回引用(方法返回是 ref 返回 )。 __s
阅读全文
posted @ 2025-05-21 22:19 一线码农
阅读(539)
评论(0)
推荐(2)
.NET外挂系列:4. harmony 中补丁参数的有趣玩法(上)
摘要: 一:背景 1. 讲故事 前面几篇我们说完了 harmony 的几个注入点,这篇我们聚焦注入点可接收的几类参数的解读,非常有意思,在.NET高级调试 视角下也是非常重要的,到底是哪些参数,用一张表格整理如下: 参数名 说明 __instance 访问非静态方法的实例(类似 this)。 __resul
阅读全文
posted @ 2025-05-21 10:01 一线码农
阅读(600)
评论(2)
推荐(3)
2025年5月20日
.NET外挂系列:3. 了解 harmony 中灵活的纯手工注入方式
摘要: 一:背景 1. 讲故事 上一篇我们讲到了 注解特性,harmony 在内部提供了 20个 HarmonyPatch 重载方法尽可能的让大家满足业务开发,那时候我也说了,特性虽然简单粗暴,但只能解决 95% 的问题,言外之意还有一些事情做不到,所以剩下的 5% 只能靠 完全手工 的方式了。 二:注解特
阅读全文
posted @ 2025-05-20 11:41 一线码农
阅读(588)
评论(0)
推荐(3)
2025年5月19日
.NET外挂系列:2. 了解强大的 harmony 注解特性
摘要: 一:背景 1. 讲故事 上一篇我们简单的聊了下harmony外挂的基本玩法,让大家宏观上感受到了外挂在 .NET高级调试 领域的威力,这一篇我们从 注解特性 这个角度继续展开。 二:harmony 注解特性 1. HarmonyPatch 解读 在harmony支持的众多特性中,HarmonyPat
阅读全文
posted @ 2025-05-19 10:19 一线码农
阅读(1068)
评论(0)
推荐(5)
2025年5月18日
.NET外挂系列:1. harmony 基本原理和骨架分析
摘要: 一:背景 1. 讲故事 为什么要开这么一个系列,是因为他可以对 .NET SDK 中的方法进行外挂,这种技术对解决程序的一些疑难杂症特别有用,在.NET高级调试 领域下大显神威,在我的训练营里也是花了一些篇幅来说这个,今天我准备用10篇左右来详细聊一聊,供学员和同行们欣赏,详细的文档参考:https
阅读全文
posted @ 2025-05-18 15:42 一线码农
阅读(1866)
评论(6)
推荐(8)
2025年5月14日
.NET程序启动就报错,如何截获初期化时的问题json
摘要: 一:背景 1. 讲故事 前几天训练营里的一位朋友在复习课件的时候,程序一跑就报错,截图如下: 从给出的错误信息看大概是因为json格式无效导致的,在早期的训练营里曾经也有一例这样的报错,最后定位下来是公司的电脑安全软件导致的,一旦有非托管调试器,安全软件就会加密 runtimeconfig.json
阅读全文
posted @ 2025-05-14 13:54 一线码农
阅读(2194)
评论(0)
推荐(10)
2025年5月11日
如何反向绘制出 .NET程序 异步方法调用栈
摘要: 一:背景 1. 讲故事 这个问题源于给训练营里的一位朋友分析的卡死dump,在分析期间我需要知道某一个异步方法的调用栈,但程序是 .framework 4.8 ,没有sos后续版本独有的 !dumpasync 命令,所以这就比较搞了,但转念一想,既然 !dumpasync 能把调用栈搞出来,按理说我
阅读全文
posted @ 2025-05-11 18:30 一线码农
阅读(1379)
评论(0)
推荐(12)
2025年5月10日
Linux系列:聊一聊 SystemV 下的进程间共享内存
摘要: 一:背景 1. 讲故事 昨天在分析一个 linux 的 dump 时,看到了这么一话警告,参考如下: 0:000> !eeheap -gc *** WARNING: Unable to verify timestamp for SYSV10cf21d1 (deleted) 对,就是上面的 SYSV1
阅读全文
posted @ 2025-05-10 11:01 一线码农
阅读(338)
评论(0)
推荐(1)
2025年5月7日
Linux系列:如何用perf跟踪.NET程序的mmap泄露
摘要: 一:背景 1. 讲故事 如何跟踪.NET程序的mmap泄露,这个问题困扰了我差不多一年的时间,即使在官方的github库中也找不到切实可行的方案,更多海外大佬只是推荐valgrind这款工具,但这款工具底层原理是利用模拟器,它的地址都是虚拟出来的,你无法对valgrind 监控的程序抓dump,并且
阅读全文
posted @ 2025-05-07 12:13 一线码农
阅读(1057)
评论(1)
推荐(9)
2025年4月23日
记一次 .NET某工控任务调度系统 卡死分析
摘要: 一:背景 1. 讲故事 前段时间有位朋友加我微信,来了就要进我的训练营,并且附带着纠结了他几个月的一个疑难杂症,让我帮忙看下怎么回事,问题描述截图如下: 由于这个定时任务是 furion 写的,刚好这位学员是VIP客户,找了小僧大佬,大佬需要最小化的问题代码,由于不能本地复现,也就没下文了,毕竟也是
阅读全文
posted @ 2025-04-23 09:58 一线码农
阅读(902)
评论(0)
推荐(7)
2025年4月21日
记一次 .NET某旅行社酒店管理系统 卡死分析
摘要: 一:背景 1. 讲故事 年初有位朋友找到我,说他们的管理系统不响应了,让我帮忙看下到底咋回事? 手上也有dump,那就来分析吧。 二:为什么没有响应 1. 线程池队列有积压吗? 朋友的系统是一个web系统,那web系统的无响应我们首先要关注的就是 线程池,使用 !sos tpq 命令,参考输出如下:
阅读全文
posted @ 2025-04-21 12:39 一线码农
阅读(2685)
评论(5)
推荐(12)
上一页
1
2
3
4
5
6
7
8
···
46
下一页
公告