文章 / AI编程与办公自动化
网红 REA(逆向万物)逆向千寻失败了,我换了个思路:不逆代码、只调 DLL——做出不用装千寻框架的旧版微信登录工具
原创 李伟坚 Excel催化剂(附件请在原始资料库或公众号中获取)) 2026年10月16日 一开始,我的目标是: 用当下最火的 REA(逆向万物)去逆向千寻微信框架的核心代码 ,把它的登录能力彻底吃透、自己重写一份。 结果—— 它失败了 。栽得很彻底。 后来我换了个思路: 不逆向代码了,改为直接调
原创 李伟坚 Excel催化剂(附件请在原始资料库或公众号中获取))
2026年10月16日
一开始,我的目标是:用当下最火的 REA(逆向万物)去逆向千寻微信框架的核心代码,把它的登录能力彻底吃透、自己重写一份。
结果——它失败了。栽得很彻底。
后来我换了个思路:不逆向代码了,改为直接调用千寻的 DLL,模拟它的调用方式,把登录能力从千寻框架里“抽”出来单独用。
于是就做成了这个工具:旧版微信登录 + RPA 模拟人工操作,批量整理好友备注与标签。
而且它有个额外的好处:千寻框架主打的是群发,我根本用不上,我只需要它的登录能力。所以你不用去下载千寻那套工具,也就少了一份“因为群发工具被封号”的顾虑。顺便说一句更重要的:我已经做了 43 套 Skill,它们让零基础、完全没有编程背景的人,也能自己做出工具、插件、业务系统,甚至手机 App。 这个微信工具箱,只是其中一个小小的证明。
一、先说清楚:这工具是干什么的
不绕弯子,就两个功能,一屏看完:
| 功能 | 做什么 |
|---|---|
| ① 扫码登录旧版微信 | 启动你机器上的微信 3.9.12.56,绕过“版本过低”的拦截,正常弹出登录二维码 |
| ② 批量整理备注 / 标签 | 按 Excel 表逐个搜索联系人并更新备注与标签,处理结果直接回写 Excel |
交付形式很简单:一个 exe,双击即用。
不用装 Python、不用装千寻框架、不用配环境——连那个关键 DLL,我都内置进程序里了,你拿到手就是一个文件。
界面也很朴素,两步走:配置微信路径 + 启动微信并扫码登录 → 选 Excel 文件 + 选修改模式 → 开始批量修改。左侧栏还有“打开日志目录”,出了什么问题,日志里写得明明白白。
这个工具的重点,我要划一下:它做的不是“外挂”,是 RPA。
那种“全自动接管消息”的路子我不走。我用的是界面自动化——模拟真人在微信界面上点鼠标、敲键盘。 这也是它能“相对安全、不易封号”的根本原因,最后一节我会把这件事讲透。
二、为什么要“倒回”旧版微信?
这是很多人第一反应会问的问题:新版微信功能更全、界面更漂亮,为什么你要去折腾一个旧版本?
答案非常直接,而且是做自动化的人都知道的一条铁律:
新版微信(4.0 以上)对界面自动化,实在是太不友好了。
我这些年做 RPA、做 UIA 自动化,最怕的不是功能复杂,而是“看不见”。新版微信 4.0 用的是全新的界面框架,那个界面在自动化工具眼里,就像一堵没有门也没有窗的墙——控件树读不出来、元素定位不上去、稳不住。
反过来看旧版微信(3.9.x),它是经典的 Duilib 界面:
- 控件树读得干干净净——联系人列表、搜索框、备注栏、标签栏,全都是标准控件,一个一个能精确抓到;
- 模拟人工操作非常顺——真实鼠标点击、真实键盘输入,和人工操作在系统层面几乎没有区别;
- 通讯录管理这一块效果尤其好——这正是“批量改备注 / 改标签”最核心的两个动作:输入、修改。
所以结论很清楚:新版做不了自动化,不是我技术不行,是它压根没给路。旧版给了路,我就走旧版。
(顺便说一句:这条思路对所有做 RPA、做自动化办公的人都有用——“选对版本”有时候比“写对代码”更重要。)
三、把 Excel 插件里的老功能,完整搬到新工具上
这一节,是给老朋友们看的——因为“批量改微信标签”这件事,我在 Excel 插件里早就做过。
老版本:在 Excel 里选中一片区域,点一下按钮
当年“Excel催化剂”插件里的做法是这样的:你在工作表中选中有“昵称 / 备注 / 标签”的区域,点一个按钮,插件就自动打开微信通讯录,一行一行地帮你把备注和标签改掉,处理结果回写在右边。
那套老功能的底子,我留着一份 C# 参考实现——核心逻辑就是 FlaUI 驱动界面自动化,把“搜索联系人 → 打开编辑 → 写入备注 → 勾选标签”这一套流程走完。
新版本:同样的流程,独立成一个工具,用 Python 重写
这次搬家,不是“复制过去”,是重写了一遍,并且升级了:
① 语言和框架换了。 从 C# / FlaUI,换成 Python + pywinauto / UIA3。逻辑一一对应,但装进了独立工具里——你不需要打开 Excel 才能用,也不需要装 Office 插件。
② Excel 格式完全沿用,老用户零学习成本。 还是固定列序、首行表头自动识别模式,三种模式任你选:
| 模式 | 列序 | 说明 |
|---|---|---|
| 备注 + 标签 | 昵称 | 备注 |
| 仅备注 | 昵称 | 备注 |
| 仅标签 | 昵称 | 标签 |
③ 结果看得见,随时能停。 处理完,工具会在数据列右侧自动写回状态列(“更新完成”或具体错误原因)和时间列——哪条成了、哪条败了、为什么败,一行一行清清楚楚。昵称重复的,按备注精确匹配;匹配不到的写进状态列跳过,绝不会瞎改。 批量中间点了【停止】就能中断,不用关程序。
四、我砍掉了“导出通讯录”——因为做了个更好的版本
有个变化,我要主动交代一下。
这版工具里,“导出通讯录到 Excel”这个功能,被我删掉了。 就是我最新那一次提交里做的改动。
为什么删?因为它已经有更好的替代方案了——我自己另做了一版导出工具,走的是完全不同的技术路线:
模仿 Weflow 的方式,直接读取微信数据库,把通讯录整表导出来。
这一版好在哪?两个地方:
第一,字段更全。 界面自动化只能“看到什么抓什么”,导出的是昵称、备注、标签这几样;而直读数据库,能拿到微信号、微信 ID 这些界面里根本抓不到的关键字段——对做客户管理、做好友盘点的人来说,微信号才是那张表的主键。
第二,数据更好用。 界面采集靠滚动,理论上会有遗漏;直读数据库是一次性完整拉取,更全、更准、更稳定。
所以逻辑很简单:这个工具只专注做它最擅长的事——登录 + 界面自动化写回;导出这件事,交给更好的那版工具去做。 一个工具做好一件事,不硬塞功能,这是我的取舍。
五、我让 REA 去逆向千寻,它失败了
接下来这段,是我这篇推文最想说的部分。
我做这件事的第一步,本来是打得很“聪明”的:
用 REA(逆向万物)去逆向千寻微信框架的核心代码——把“绕过版本检查 + 完成登录”这一整套机制彻底吃透,然后自己重写一份,彻底不依赖任何第三方。
这个想法,听起来很对,对吧?当下最火的 AI 逆向工具,加上一个目标明确的小任务,怎么看都是天作之合。
我也真的信了,认真去用了。结果——它失败了。而且是栽得很彻底的那种失败。
我手上那两个东西,是它的“照妖镜”:
- 那个 DLL 是 VMProtect 3.x 保护的(32 位);
- 宿主 exe 是魔改过的 UPX 壳;
- 结果:连脱壳这一步都直接
NotPackedException报错,静态反汇编出来的东西,打开一看——全是虚拟机字节码,一个字都读不懂。
问题出在哪?不是我不会用,是这个工具的“传说”根本不适用于这类目标。 它适合的是“常规壳 / 未加壳”的普通二进制,遇到商业级虚拟机壳,它整个静态逆向路线就是失效的。
所以我把话说难听一点,也是我的真实感受:
REA 这种项目,吹牛不上税。真正的能力,用过才知道。
我很反感那种“包装出来的强大”——宣传语写得天花乱坠,真到了硬骨头上,一碰就碎。在这件事上,它没有帮到我一点忙。
那到底是谁帮我破的局?
是一套老掉牙的笨办法:动态取证 + 控制变量实验。 我用 Python(pefile / ctypes)做进程内存 diff、做重定位数学验证、扫描 trampoline 页、抓登录会话的内存残留;再靠一次一次的行为实验——复现、换变量、看结果,前后走了 11 轮,最后才一步到位。
而 AI 在这中间的角色,是那个不厌其烦陪我试错的人: 这一轮实验的设计、这一轮结果的解读、下一个变量该换什么——我的假设,它帮我验证;我的验证,它帮我推翻重来。11 轮下来,是把答案“逼”出来的,不是一开始就知道的。
所以这件事的功劳,一份不属于那个“逆向万物”,一份属于我那双老实的手。工具只是手,假设—验证的流程才是脑。
六、不逆代码了,改调 DLL:这就是“脱离千寻框架”的思路
既然“从零逆向、自己重写一份”这条路走不通(或者说成本高到不划算),那就换思路——这件事,“千寻微信框架”早就做成了。
关键转折:不逆向代码,改为调用它的 DLL
我停下来重新想了一遍这个问题。我的目标到底是什么?
不是“证明我能从零写出那套机制”,而是”让用户能安全地登录旧版微信“。
那结论就清楚了:
既然逆向不了它的核心代码,那我就不逆了——我直接调用它的 DLL,模拟它的调用方式。
我要的不是它的代码,是它能干活这件事本身。
这条路,就是今天这个工具的核心:把千寻那套 DLL 和它的启动规则完整“复刻”出来,让这个 DLL 脱离千寻框架、独立跑起来。 具体来说:
① 先把它“为什么能行”搞清楚。 千寻凭什么能让旧版微信正常登录?真相其实是:
它既不改微信的任何文件,也不改内存里的任何一个字节。
它做的是一件非常精妙的事——在 ntdll 的资源读取层做 inline hook。微信启动时会去读自己的版本资源(LdrFindResource_U / LdrAccessResource),就在这个“读”的动作上,hook 处理器即时返回一份伪造的“新版”数据。微信自己一看:“哦,我版本不低”,就放行了。
② 再把它的“调用方式”完整复刻。 也就是千寻平时是怎么“喂”这个 DLL 的:
- 载体的伪装:把 DLL 复制到缓存目录,改名 + 在尾部附加 29 字节(16 位随机标识 + 13 位毫秒时间戳);
- 启动协议:用
CreateProcessW启动微信,lpApplicationName指向微信 exe,而lpCommandLine里塞的是一个纯 JSON 配置(callBackUrl / port / tcp / dllFileName / cacheData / wxExePath 等字段)——微信进程里那句GetCommandLine(),返回的其实就是这坨 JSON,DLL 靠它完成初始化。 - 零延迟注入(这是整个项目最大的坑):那个 DLL 必须拿到它的首选基址
0x10000000。我一开始是延迟 3 秒注入的——结果那个地址早被微信的HPSocket4C.dll占了,DLL 被重定位,VMP 内部的绝对地址全部失效。最坑的是:没有任何报错、不会崩溃,hook 装上了,但它就是静默不工作。 你要是没经验,能在这上面耗掉好几天。
解法是:CreateProcessW返回的那一瞬间,立刻CreateRemoteThread + LoadLibraryW。 - 跨位数的坑:我的 Python 是 64 位,微信是 32 位。函数地址必须从目标进程的
C:\Windows\SysWOW64\KERNEL32.DLL导出表里去解析LoadLibraryW的真实地址,绝不能拿本进程的 64 位地址去用——否则一个0xC0000005直接崩给你看。
顺便说一句:下面这些路我全试过,全失败,一并告诉你们,别再走:
- 静态文件 patch / 内存里版本常量 patch——登录照样被拒(版本上报根本不在静态位置);
- 改名屏蔽
wcprobe探针——直接触发“环境变化”拒绝,跳转官网; - IAT / EAT / 虚表 hook、硬件断点、DLL 劫持——微信模块零字节改动,人家压根不用这些。
这些细节,全是我和 AI 一起,一版一版试错试出来的。
为什么“脱离千寻框架”,对你反而更安全?
这里我要专门讲一件事,因为它才是这个工具真正的价值所在。
千寻那套框架,主打的是“群发”。 它本质上是个消息机器人框架:批量发消息、自动回复、营销推送……
可这些东西,我根本用不上。
我要的只有一样——它的微信登录能力。
那就好办了。我在这个工具里只保留了登录这一件事,把群发那整套东西全部剥离掉了:
| 用千寻原版框架 | 用我这个工具 | |
|---|---|---|
| 你要下载的东西 | 千寻框架整套 + DLL | 一个 exe,DLL 已内置 |
| 框架能力 | 登录 + 群发 + 消息机器人 | 只有登录 |
| 多出来的风险 | 群发/营销行为才是封号主因 | 不含消息功能,风险面仅剩登录本身 |
| 心理负担 | “我装了个外挂工具?” | 就是个登录器,心里踏实 |
这就是我最想说的一点:你没必要去下载千寻那套工具,也没必要为它那一堆你用不上的功能提心吊胆。
你只需要一个“能登录”的东西,那我就只给你“能登录”的东西。
而最终交付到你手上的,是这样一句话:DLL 已经在程序里了,你不需要安装千寻框架、不需要懂什么 inline hook、不需要知道 0x10000000 是什么。 双击,扫码,登录。
这就是“把复杂留给自己,把顺滑留给你”——顺便,也把风险留给自己,把安心留给你。
七、它真正的用武之地:我自己天天在用的场景
前面讲的全是技术。现在讲一件更实在的事——这个工具,我自己在天天用。
我自己也在运营微信好友。大家可能看到过我发过不少推广消息,我不否认。但我想说的是:我从来不是“无脑群发”。
消息群发这件事,做砸和做对,差别巨大:
| 无脑群发的做法 | 我的做法 |
|---|---|
| 拉一张名单,一键全发 | 先用标签把人分层,不同标签推不同内容 |
| 同一批人反复收到同样的广告 | 靠标签去重,保证不重复发送,同一个人不会被重复打扰 |
| 内容千篇一律 | 按标签推个性化内容,给对方真正相关的东西 |
| 手动一个个勾选,容易漏 | 用群发工具按标签、以 500 人为单位分批发送 |
这一整套“标签化精细运营”,就是我今天这个功能的高频使用场景。
你想一下,如果标签是乱的、过期的、错的,上面这套全跑不起来:
- 该发的人漏了,不该发的人被打扰;
- 去重失效,同一个人被骚扰两遍,直接就把你删了;
- 个性化推送推错群体,效果打折。
所以“批量整理好友标签”这件事,对我不是锦上添花,是我整个运营流程的地基。
而这个工具解决的就是地基问题:把一个 Excel 表里整理好的标签,一次性、准确、安全地写回微信通讯录。 以前这事得人工一个个点开好友改,几百号人能耗掉一整个下午;现在把表编辑好,一键写回,状态逐个回写,出错了我一眼就能看到。
顺便提醒一句:微信自带的“群发助手”一次最多只能选 500 人,人多了就得自己分批。这也是为什么“标签分得清不清”直接决定你的运营效率——标签清晰,才能按标签分批、按批次推不同内容。
说句实在话:我这个工具不追求“发得更多”,它追求的是“发得更准、更不打扰”。尊重每一个好友,才是能长期做下去的前提。
八、比这个工具更重要的:43 套 Skill,让零基础的人也能造东西
写到这里,我要把真正想说的话说了。
这个微信工具箱,其实算不上什么大成果。它真正的意义,是一个证明——
我至今已经做了 43 套 AI 编程 Skill。它们让零基础、完全没有编程背景的人,也能自己做出工具、插件、业务系统,甚至手机 App。
我这些年一路做下来,覆盖了几乎你能想到的、需要用软件的领域:
- 办公系:Excel、Word、PPT、Outlook、WPS 加载项、WPS 多维表格、飞书多维表格;
- 设计建模系:Photoshop、Illustrator、InDesign、CorelDRAW、Figma、SketchUp、3ds Max、Blender、Rhino、Revit、SolidWorks、AutoCAD;
- 专业领域系:ArcGIS Pro、QGIS、Power BI、Project、Visio、Obsidian、VSCode;
- 工具与系统系:Python、.NET、浏览器插件、全栈业务系统、图标制作、Office 插件管理;
- 移动端系:安卓 App(第 42 套)、iOS App(第 43 套)。
这不是一堆“换个壳的模板”,这是一条完整的路。 我把它讲成大白话:
想要个插件?——有。给 Excel 加个按钮一键汇总、给 Word 做合同批量排版、给浏览器加个一键导出的按钮,说句话就能做出来。
想要个桌面软件?——有。带界面、发给同事双击就能用的那种。
想要个业务系统?——有。用 WPS 或飞书多维表格存数据,多人协作、权限管控,一分钱不花。
想要个手机 App?——也有。 安卓 APK 我跑通了;iOS 更狠,我一个纯 Windows 用户,靠“云端 Mac 工厂”,连一台 Mac 都没见过,就把 iPhone App 装进了 iPad。
这条路最颠覆的地方在于:它把“环境门槛”整个搬走了。
我以前做 .NET,最得意的是“终于不用装 Visual Studio 了”。做安卓 App 那次更夸张——JDK、Android SDK、Gradle,三四个 G 的开发工具链,AI 自己检测、自己挑国内镜像、自己下载、自己装、自己验证,我全程只点了一个“允许”。
而你要付出的,只是“把需求说清楚”。
你说大白话它就懂:“给我做一个 Excel 插件,点按钮自动合并所有 Sheet。”——做完,装好,测好,交给你。
做出的是你的工具,代码是你的,成就感也是你的。 而且一次做好、永久复用——不像平时用 AI 聊天,每次都要重新写、重新烧 token。
这就是我一直强调的那句话:零基础,也能造东西。 不是营销词,是我这 43 套 Skill、加上一整个社区的真实作品,攒出来的结论。
九、“实实在在做实事”——这五个字我要说清楚
我说的这一切,不是为了证明我多厉害。恰恰相反,我想说的是:
我不做“吹牛大王”。我做的东西,是真真切切测过、用过、敢交给你的。
这句话不是自我标榜,是有东西垫着的:
- 11 个自动化测试兜底——启动参数、配置读写、Excel 解析、路径处理,核心逻辑全被测试焊住,改错一处都过不了关;
- 打包版实测通过——不是“源码跑通就算完”,是打包成单文件 exe 之后,真的登录成功了才交付;
- 8 次迭代留痕——从项目骨架,到登录实测成功,到内置 DLL、界面成型,到抓出两处界面自动化的 API 误用,再到这次砍掉导出功能,每一步都在版本记录里,包括我自己的 bug。
这份“实在”,最终是给谁的?
给那批完全没有编程背景的职场人。我亲眼看着他们,用这些 Skill,把自己天天做的重复活儿一件一件自动化掉:不用懂 Python、不用懂 API、不用懂什么 UI 控件树——对着 AI 把需求讲清楚,就能拿到一个双击即用的工具。
而且这件事,我已经在往前推一步了:
我刚刚把“网友作品社区”整个开放了——每位作者的作品,我免费帮他整理、排版、放到网站上、做宣传、做 SEO。最关键的:作者的微信号是公开的,读者可以直接加作者本人,跳过我这个中间人。
有人看中你的作品、想找你定制、想跟你合作——以前他联系不到你,现在能直接开聊。
我少了一些“掌控”,但你们多了很多“机会”。 这才是我做这整套东西的初心:不是把大家圈在我这里,而是让大家自己站起来。
十、该讲的“丑话”,也一并讲在前面
既然是“实实在在做事的风格”,那风险和边界,我也不会藏着。
✅ 低风险的部分:批量改备注 / 标签。
界面自动化(UIA)根本不碰微信进程——它只是读界面控件树 + 模拟鼠标键盘,和人工操作在系统层面没有本质区别。风险点只在行为频率:短时间内猛改几百人,会被行为风控注意到。
⚠️ 中风险的部分:登录器本体。
登录绕过复刻的是千寻同款机制(同 DLL、同启动协议),安全特征与千寻一致。千寻用户量大、存在多年,说明微信对这类组合的日常容忍度还算可以——但请记住,这是“幸存者偏差下的低风险”,不是零风险。
❌ 一定别做的(风险放大器):
- 拿主号、大号去试——请用小号;
- 用它收发消息、搞营销群发——那才是封号的主因(本工具只保留了登录,不含任何消息功能);
- 多开、频繁异地登录、新号立刻上手;
- 高频猛刷通讯录。
使用建议就一条:一个账号一天一批,每条间隔 1~2 秒,单批不超过 100~200 人。
一句话总结:登录旧版 + 改备注标签 ≈ 中低风险;再叠加消息自动化 ≈ 高风险。本工具只做前者。
这也是我这个工具“最小化”的意义:微信不用装插件、框架不用装千寻、功能不留群发——能砍的都砍掉,只留登录。多一个功能,就多一分风险,我不给你添。
丑话说在前面,用起来才不骂娘。 这也是我对每一位用户的底线尊重。
写在最后:我不“吹牛”,但请你帮我“说真话”
这个工具,还是老规矩:不主动宣传,也不留下载链接。
需要它的人,直接加我微信(190262897)找我要。想要那套“直读数据库”的全字段导出工具、或者想要 43 套 Skill 里的任意一套,也是同一个方式。
但最后这一段,我想认真请求大家一件事——
我这个人,不擅长吹牛,也不太会包装自己。 这个项目里,我老老实实承认:最初想用 REA 逆向千寻的核心代码,失败了;后来是靠“不逆代码、改调 DLL”这个思路,加上 AI 反复试错,才把路走通的。我也老老实实承认:登录器本身是有中风险的,请用小号、请控频率;我连自己漏删的一句日志文案都主动交代了。
该有的成绩,我一样不少地摆给你看;该讲的丑话,我一句不落地提前讲。 这就是我做事的全部风格。
可是“实在”这件事,自己说十句,不如别人说一句。
所以如果你用过我的 Skill,觉得它真的帮到了你、真的解决了你的问题,我想拜托你:
帮我推广一下、宣传一下、推荐一下。
转给那个天天手动改备注改到崩溃的同事;
转给那个想自动化却总觉得自己“不懂代码、做不了”的朋友;
转给那个被各种“吹牛不上税”的 AI 工具伤过心的人。
让更多人知道:零基础,也能做出真的能用的工具、真的能用的业务系统、真的能装进手机的 App。
具体怎么帮?其实很简单——社区现在最缺的就是新朋友,所以我把重心放到了“推荐好友”上:
把有需要的朋友的名片推给我(或者把我的名片推给他),邀请 10 位好友,就能解锁 2 套 Skill,而且推荐数会一直累计,不会归零。
不方便邀请的,登记 1 个你自己的作品,就能抵扣 1 个名额;点赞、转发、留言、在群里分享作品、帮群友答疑,我也会酌情算作贡献值。
每一份参与,我都认真记着。价值观对齐的人,值得被优先对待。
这条路我会一直走下去——不吹牛、不画饼、一个一个真能用的东西往外交。 至于那些只会吹的,时间会替我们分辨。
叫上身边的人,一起来把 AI 编程玩转。
想体验全套免费 Skill?欢迎加好友进入免费社群,关注公众号,后台回复「Skill」,不要理会AI自动回复,等我发联系方式,加好友进群自助获取。
公众号:Excel催化剂 | 微信:190262897 | 承接数据咨询解决方案、软件功能定制、AI编程培训服务等