破解 Java 系软件入门
因为字节码玩的炉火纯青,在工作休闲之余,破解了一大波 Java 系软件。最终的目标是无痛破解,这里的无痛,指的是不需要破坏原始 Jar 包或者 War 包,就可以达到破解目的 下面列举了一些折腾过的软件 分析 GC 日志的桌面端软件 cen...
因为字节码玩的炉火纯青,在工作休闲之余,破解了一大波 Java 系软件。最终的目标是无痛破解,这里的无痛,指的是不需要破坏原始 Jar 包或者 War 包,就可以达到破解目的 下面列举了一些折腾过的软件 分析 GC 日志的桌面端软件 cen...
0x01 引子:传统的拷贝模式 一个实际的场景是静态文件服务器,客户端请求一个静态资源,服务返回内容给它。传统的处理方式是这样的(备注,为了代码简洁起见,省略一些代码) for (;;) { if (lseek(fd, 0, SEEK_SE...
获取 IDEA 激活码、PyCharm 激活码、WebStorm 激活码和 DataGrip 激活码,提供详细破解教程与永久激活方法。支持 IDEA 永久激活与破解,免费获取注册码与激活码,解决 2024/2025 版本激活问题,轻松实现所有 JetBrains 工具的激活。
线上最近出现了批量insert的死锁,百思不得姐。死锁记录如下 2018-10-26T11:04:41.759589Z 8530809 [Note] InnoDB: *** (1) TRANSACTION: TRANSACTION 1202...
背景 前段时间出现了一个请求在测试环境签名成功,在线上环境签名失败的情况,排查原因是线上url中有双斜杠会被合并成一个传给后端,在测试环境中不会出现。这个就比较神奇了,Nginx 版本完全一样。 确认问题 方式是抓包确认:在线上Nginx和...
前面几篇文章介绍了利用调试MySQL源码的方式来调试锁相关的信息,这里利用这个工具来解决一个比较简单的问题,线上的表字段较多,这里简单成为了一个表 CREATE TABLE `t3` ( `id` int(11) NOT NULL AUTO...
这个是非常经典的一个场景,在网上搜索插入意向锁造成的死锁,绝大部分都会指向这个例子 表结构 CREATE TABLE `t1` ( `id` int(11) NOT NULL AUTO_INCREMENT, `a` varchar(5), ...
死锁的本质是资源竞争,批量插入如果顺序不一致很容易导致死锁,我们来分析一下这个情况。为了方便演示,把批量插入改写为了多条 insert。 先来做几个小实验,简化的表结构如下 CREATE TABLE `t1` ( `id` int(11) ...
Nginx 的 location 实现了对请求的细分处理,有些 URI 返回静态内容,有些分发到后端服务器等,今天来彻底弄懂它的匹配规则 一个最简单的 location 的例子如下 server { server_name website....
前面写了几篇文章来通过调试 MySQL 源码来分析死锁问题,有读者问如何用 IDE 调试源码,这篇文章简单介绍一下如何在 Mac 下调试。 之所以使用调试的方式来分析死锁问题是因为在解决 MySQL 死锁的过程中比较纠结,就算找到了原因,也...
最近我们在测试把 APM 平台迁移到 ES APM,有同学反馈了一个有意思的现象,部署在 docker 中 jar 包项目,在新版 APM 里进程启动完就退出了,被 k8s 中无限重启。 这篇文章写了一下排查的思路,主要包含了下面这些内容。...