iOS 定位的矛与盾

做后台定位这段时间,我主要在跟两样东西较劲:先是 iOS 本身,后来是 iOS 给我的数据。 我在做一个足迹 App,暂时叫“代号:地图”(什么游戏开发者取名):打开记录后,它全天在后台记下你走过的路,在地图上一点点揭开。要求就四条:不漏记,不乱记,不费电,状态栏上别一直挂着定位提示。听着不多,做起

October 13, 2026 by mian

something about...JPEG

something about…JPEG 一些色彩空间(色彩模型): RGB:红绿蓝,通过三原色不同的配比表示不同的颜色,通常用于显示屏 CMYK:用青色、品红、黄色、黑色四组颜色数值表示色彩,经过四种颜色不同配比显示不同色彩,常用于印刷 YUV(YCbCr):JPEG编码使用的色彩模型,拥有三个分量,Y(亮度)、Cb(彩度蓝)、Cr(彩度红), 人眼工作机制: 人眼内含有视锥细胞和视杆细胞,前者具有感知颜色的能力,后者具有感知亮度的能力,通常眼中视杆细胞数量相对较多,因此对亮度的敏感程度高于色彩的的敏感程度。JPEG利用该特性,在压缩图像时将亮度和颜色分开处理。 JPEG压缩过程 RGB -> YUV(BT.601标准):对每个像素点的RGB三个数值执行如下变换(该步骤结束后图像大小不变): Y = 0.299*R + 0.587*G + 0.114*B Cb = -0.1687*R - 0.3313*G + 0.5*B + 128 Cr = 0.5*R - 0.4187*G - 0.0813*B + 128 色度抽样:对每个像素点的Y、Cb、Cr三个分量采取 Y:Cb:Cr=4:2:0 的分量,即Y分量全采样,对CbCr分量进行1/4取样(2:0并不是Cb分量取一半而Cr不取,而是二者间隔取样,奇数行取Cb分量,偶数取Cr)。原本像素数为N的图片大小(字节数)为3N,经过该步骤后为1.5N,此为第一次压缩,称为缩减采样。 离散余弦变换(DCT)+量化:在JPEG算法中图像被分成了8*8的像素组,每个像素组的Y、Cb、Cr分量的数据都要单独进行处理。先进行电平偏移(-128),这样像素值的范围就从 0~255 变为 -128~127 ,再用离散余弦变换进行频域编码,得到DCT系数。将DCT变换后的临时结果,除以各自量化步长(量化表)并四舍五入后取整,得到量化系数。 注:J

October 10, 2026 by wuliwa

x86asm(intel syntax)

x86-64 ASM Assembly Tutorial x86-64 Architecture , 练习平台 基础指令语法 register rax, rbx, rcx, rdx - al, ah, ax, eax, rax rsp - stack pointer rbp - base pointer rsi, rdi r10, r9, r8 r11, r12, r13, r14, r15 rip - instruction pointer mov mov rax, 5 mov rbx, rax mov rcx, 0x1234 mov rdx, [0x401000] add, sub, inc, dec add rax, 5 sub rbx, 3 inc rcx dec rdx RAM lea ( load effective address ) .text _start: lea rsp, [mem] .data mem: .byte 0x00, 0x01, 0x02 .word 0x1234 .long 0xdeadbeaf .quad 0x0123456789abcdef syscall 系统调用号通过 rax 传递,参数依次通过 rdi, rsi, rdx, r10, r8, r9 传递。 print "Hello World!" .intel_syntax noprefix .global _start .text _start: mov rax, 1 mov rdi, 1 lea rsi, [str] lea rdx, [strlen] syscall mov rax, 60 xor rdi, rdi syscall .data str: .ascii "Hello World!" strlen = . - str linux-syscall-table jm

October 8, 2026 by c0d4

LightCube 11 周年:AI 一天,人间一年

时间过得真快。 不只是过去的一年,也是这个 14 天的中秋 + 国庆假期。 本来今年国庆不打算回深圳的,但确实也没有更好的安排。原本想着国庆去意大利玩,或者是去东京走走,但女友忙于工作没办法陪我,最后只能买回深圳的机票了。 国庆那天一家人去看了企鹅岛,后面又去大亚湾住了一晚,剩下的时间我就是在家里躺着刷手机,或者 Vibe 新的项目。我留了两天时间提前回上海,好提前处理下工作之类的。(虽然大部分时间也还是躺在床上刷手机) AI 一天,人间一年 回看过去的一年,AI 的发展也很是迅猛。从今年年初的 OpenClaw 全民养虾,到后面的 Claude Mythos 给安全方面带来的变革;又陆续造出来了 Harness engineering、Loop engineering 这些新名词。模型已经迭代到 GPT 6.1、Claude Opus 5.5,可以说是 AI 一天,人间一年。 我在两年前使用 Hugo 替换 WordPress 时,是将原本 WordPress 主题的 CSS 样式,一点点抠出来,复制到新的 Hugo CSS 文件中,尽可能保留之前的主题样式。完整迁移后,我曾尝试用当时的模型,将 style.css 里的 CSS 样式,使用原子化的 TailwindCSS 重构。试了很多次都不能 1:1 保留原本的样式不变。 直到今年 GPT-6-Astra 做到了。正如你所看到的,虽然博客的主题样式没变,但 F12 打开开发者面板可以发现全都使用 TailwindCSS 重写了。说实话我也不清楚这么做有什么收益,只是显得这个站点更加“现代化”了。 与此同时,我还让 GPT 用 Computer Use 操控谷歌浏览器跑 Lighthouse 测试页面性能,并进行调优。它将评论 API 改为异步请求,从而避免接口偶尔加载卡顿导致页面短暂白屏的问题。 Sayrud 重生 说

October 6, 2026 by E99p1ant

常见胶卷挑选指南

胶片基础介绍 胶片一般可以分成以下四类: 彩色负片:最常见的彩色胶片类型,通常使用 C-41 工艺冲洗。直接观看底片为颜色反相+色罩的效果,数字化需要做去色罩处理。 彩色反转片:又称为正片(“反转”是相对于普通负片而言的),通常使用 E-6 工艺冲洗,可以直接在观片台上或使用放映机观看底片。相较于彩色负片通常宽容度较低。 黑白:字面意思。通常为负片,使用 D-76 工艺冲洗,但有些工艺可以冲洗为正片效果。 电影卷:为电影制作优化、附带碳层的彩色负片,通常使用 ECN-2 工艺冲洗。官方一整盘卖,有些工作室会分装成一卷一卷单独卖,所以通常比彩色负片价格低一些,是性价比高的选择。也有一些彩色正片、黑白电影卷,或者更加特殊的拷贝卷等等,“电影卷”主要是指这种非官方零售的分装方式。 还有一种例外情况:有些工作室会将电影卷的碳层除去,制成除碳卷售卖,可以使用 C-41 或 ECN-2 两种工艺冲洗。例如著名的 CineStill 系列。 每款胶卷都有一个固定的度数,也就是感光度,相当于数码相机的 ISO。通常来说度数高的卷会不如度数低的细腻,但也看具体型号而异,所以需要根据不同的拍摄场景选择不同的胶片。 如果想详细了解一款胶片的详细参数和显色特性,可以去搜索各款胶卷的详细技术手册查看胶片特性曲线,作为可量化的色彩和成像风格的参考指标。 每款胶片在不同场景、保存环境、温度等外部因素下的表现都不同,喜好因人而异,这篇文章作为个人分享提供参考。所提到的胶卷仅为我了解的,可能不太全面。 本文中介绍的所有胶卷都是其在 135 格式下的表现,120 版本可能会有些区别。 彩色负片 Kodak ColorPlus 200 我个人挺喜欢这款胶卷。网上都说 CP200 颗粒粗,但我实际用下来觉得还算可控,颗粒均匀柔和,不太影响整体观感。它的颜色偏淡一些,对比度较低,但整体风格还原,甚至在正确曝光下颜色

September 28, 2026 by ScaredCube

Agent

Agent 是什么? 最初含义:Agent = 会“主动”做事的主体 “Agent”这个词来自拉丁语 agere,意思是「去做、去行动」。 所以最初含义非常简单:Agent = 能感知世界、形成意图、并主动行动的主体。 核心出现:Loop 最早的智能体模型,它的思维路径是一个闭环: 感知(Perceive) → 推理(Reason) → 行动(Act) → 获得反馈(Observe) → 调整策略(Loop) 这一框架之核心,就在于能闭环行动(Loop),它可以根据获得的反馈去进行调整。 LLM 时代的 Agent 大模型时代,机器具备了理解自然语言、推理问题、规划行动的能力。那么很自然的,研究者就想到,如果LLM可以根据行动后获得的反馈去决定下一步要做什么,是不是就能实现自动化? 于是,LLM 时代下的 Agent 架构诞生了: 单 Agent: ReA...

September 24, 2026 by srf27

CobaltStrike的容器化实现

Cobalt Strike 4.8 Client Docker 部署指南 为解决java环境不兼容问题,将 Cobalt Strike 4.8 汉化版客户端 (Java Swing GUI)完整容器化,通过浏览器远程桌面访问。 Github项目链接 📋 前置要求 Docker Desktop : 20.10+(含 Compose v2) 内存 : 至少 4GB 可用(容器限制 2GB) CPU : 建议 2 核以上 🏗️ 技术架构 ┌─────────────────────────────────────────────┐ │ Docker Container (Ubuntu 20.04) │ │ │ │ entrypoint.sh (PID 1 入口) │ │ ├─ [启动前] start_vnc.sh 清理残留 │ │ │ (锁文件/socket/孤儿进程/shm) │ │ └─ exec supervisord │ │ ├─ [vncserver] Xvnc :99 │ │ │ └─ 内联再清一次锁后启动 (:5900) │ │ ├─ [noVNC] websockify (:6080) │ │ │ └─ 浏览器 WebSocket→VNC │ │ └─ [csclient] start.sh → CS GUI │ │ (DISPLAY=:99) │ └─────────────────────────────────────────────┘ ↑ port 6080 / 5900 浏览器 http://localhost:6080 关键设计点 :

September 18, 2026 by lewis

半年过去了,AI Agent和Agent安全何去何从?

从2026年开年, 随着Claude的发布,AI智能体的井喷时代来临 ,在过去的半年里,大家从刚开始对于AI重新刷新认知,到开始了解深入体验,半年时间过去了,AI到底诞生了哪些新概念?我做了哪些尝试和研究呢? AI模型的变化 在2026年的年初,市面上最主流的AI模型是claude opus4.6和GPT-5.3-Codex。 而那会儿国模的差距还是相当之大,国模的主流是GLM5、minimax2.7、Deepseek3.2。 在今年年初的时候,我曾经说过, AI智能体爆火有一个重要的变因就是模型本身有了更长更有效的上下文 ,这也是模型能力的第一个质变性的更新,他的标志性模型版本就是 Claude opus 4.6和GPT-5.3-Codex 从这个版本开始, claude code+claude opus 4.6和codex+GPT-5.3-Codex ,这种 模型+Agent 的构建方案,开始允许AI模型去应对更长更复杂的任务。 而真正我认为质变的模型是 GPT-5.6和Claude Opus 4.8 对应国模的Deepseek V4、 GLM-5.1 从这个版本开始,AI模型真正明确了一个核心要点,就是Ai不能停留在一个对话智能助手上,而是 需要更具体的复杂任务完成能力 ,从这里开始模型本身的能力开始变得没那么重要, 所有的厂家都把重心放到了Agent能力 上。 Claude开始卷Claude code,openai开始卷Codex,GLM卷ZCode,Deepseek推出了开源的Harness,前段时间xiaomi开始内测Mimo Code,腾讯押注Workbuddy,豆包开始推出豆包桌面版。 各家的AI模型都开始深入到自己的Agent层面做优化 ,不再局限于对话智能助手,也不再局限于代码开发能力,这是为什么呢? 从wf到重skill到loop到Harness 这条

September 18, 2026 by LoRexxar

9月随笔

看了一下,又将近一个半月没有写东西了。 为了对冲一下 AI 带来的用脑不够的情况,希望自己可以坚持一下每个月写点东西,活动一下大脑。 以前为了锻炼身体,有健身房,以后脑力用的少了,不知道会不会出现健脑房,每个人一个小格子开始做高数题。 其实我不太知道这次要写什么东西,技术的事情似乎没有什么值得拿出来讲的,既没有挖到牛逼的漏洞,也没有做出什么创新的工具,甚至连一点有趣的点子都没有。 看看前几篇文章,似乎一直都在吐槽公司。 于是我思考了一下怎么会如此。 最后发现,公司榨干了我所有的创造力,被各种破事情占满了精力,不停的在切换上下文。 当上完一天班,没有足够的精力与专注力后,自然也没有心情去做一些安全的研究。 以前经历充沛,可能不太会思考这些。 但走下坡路的公司,确实会带来一些负作用。 公司股价下跌,我没有太大感受,毕竟我手里也就仨瓜俩枣的。 周围熟悉的人一个个逐渐离职,我也没有太大感受,毕竟留下的也有很多熟悉的人。 但是当公司开始抓考勤了,这事情就变得不一样了,也确实让我感受到公司开始走下坡路了。 虽然有句梗说是:一流公司抓业绩,三流公司抓考勤。 甚至当年假都请不出来的时候,我第一次感受到这个公司可能已经真的没招了。 我曾经一度很自豪的向大家分享公司的年假制度,想什么时候休假都可以,只要不耽误工作。 但是现在我曾经引以为豪的门,也被关上了。 为什么要抓考勤呢?公司业绩不好,无非是管理层决策失误,或者员工不努力。 利益既得者们怎么会承认自己的决策失误呢?他们依然在用二三十年前靠着站在风口的运气,当做自己成功的经历和经验。 甚至还会认为 “现在的年轻员工怎么都不服管了?” 但是互联网早已不是二三十年前的互联网了。 所以抓考勤就成了洗脱自己责任的最强有力的抓手,毕竟业务的抓手抓不动了。 “公司业绩不好,都是因为员工散漫不加班,都是因为员工请假太多” 反过来看就会得到一个很荒谬的逻辑,

September 16, 2026 by lightless

2026湾区杯wp

更新中(working Pwn logd 保护基本全开,仅有Partial RELRO。不出意外是格式化字符串改GOT表。看了一下题目架构,大概是程序会循环收ticket,格式为p16+ChaCha8(明文部分),nonce(密钥)硬编码在二进制里。 总的来说是一个crypto-pwn 解密过程 因为没有隐藏符号表,可以用nm读出符号,我就列几个关键的 CHACHA_KEY @ .rodata 0x2060 : "ChaCha8T1ck3tK3y20260psChannelXX" (32B)BF_KEY @ 0x2080 : "L06d-S3cr3t-K3y!" (16B Blowfish 密钥)PW_CT @ 0x2090 : 登录口令密文 用 BF_KEY ECB 解密 PW_CT 即得 L0gd-Ma1nT-2026!。 #!/usr/bin/env python3 """Client-side crypto for logd: Blowfish (pi-digit tables, key schedule, decrypt)and ChaCha8 keystream, matching the service implementation.""" import struct # ---------------- Blowfish ---------------- def _arctan_inv ( x , scale ) : total = 0 k = 0 x2 = x * x term = scale // x while term : t = term // ( 2 * k + 1 ) total += t if k % 2 == 0 else - t term //= x2 k += 1 return total def _pi_words ( ) : n =

September 10, 2026 by DODOR