惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

月光博客
月光博客
博客园_首页
大猫的无限游戏
大猫的无限游戏
Recent Announcements
Recent Announcements
量子位
H
Help Net Security
D
Docker
小众软件
小众软件
Google DeepMind News
Google DeepMind News
U
Unit 42
H
Hackread – Cybersecurity News, Data Breaches, AI and More
I
InfoQ
S
SegmentFault 最新的问题
罗磊的独立博客
云风的 BLOG
云风的 BLOG
Vercel News
Vercel News
Martin Fowler
Martin Fowler
D
DataBreaches.Net
AI
AI
SecWiki News
SecWiki News
V
Visual Studio Blog
Google Online Security Blog
Google Online Security Blog
腾讯CDC
J
Java Code Geeks
Jina AI
Jina AI
O
OpenAI News
N
News | PayPal Newsroom
Help Net Security
Help Net Security
CTFtime.org: upcoming CTF events
CTFtime.org: upcoming CTF events
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
Cloudbric
Cloudbric
S
Secure Thoughts
V
V2EX
N
News and Events Feed by Topic
F
Full Disclosure
MyScale Blog
MyScale Blog
The Cloudflare Blog
Security Archives - TechRepublic
Security Archives - TechRepublic
Attack and Defense Labs
Attack and Defense Labs
cs.CV updates on arXiv.org
cs.CV updates on arXiv.org
Forbes - Security
Forbes - Security
T
Troy Hunt's Blog
WordPress大学
WordPress大学
H
Hacker News: Front Page
D
Darknet – Hacking Tools, Hacker News & Cyber Security
B
Blog
Engineering at Meta
Engineering at Meta
Latest news
Latest news
Blog — PlanetScale
Blog — PlanetScale
cs.AI updates on arXiv.org
cs.AI updates on arXiv.org

記緒漂流

Cloudflare One 集成 OAuth 访问控制 | 記緒漂流 Cloudflare One 集成 OAuth 访问控制 打造专属记账助手 | 記緒漂流 打造专属记账助手 Numb | 記緒漂流 Numb 三月自白 | 記緒漂流 三月自白 相反的你和我・同频的心与心 | 記緒漂流 相反的你和我・同频的心与心 使用 Tailscale 内网穿透 | 記緒漂流 使用 Tailscale 内网穿透 在《HackHub》中成为世界首富 社交距离 | 記緒漂流 社交距离 UNIQLO × Akamai 联名 T 恤 | 記緒漂流 UNIQLO × Akamai 联名 T 恤 Windows 按键重映射 | 記緒漂流 Windows 按键重映射 少女・魔法・救赎 | 記緒漂流 少女・魔法・救赎 Live 初体验 | 記緒漂流 Live 初体验 《剧场版总集篇 GIRLS BAND CRY【后篇】嘿,未来。》观后有感 | 記緒漂流 《剧场版总集篇 GIRLS BAND CRY【后篇】嘿,未来。》观后有感 从 UnoCSS 迁至 Tailwind CSS | 記緒漂流 从 UnoCSS 迁至 Tailwind CSS AI² 与站点 LOGO | 記緒漂流 AI² 与站点 LOGO YAML 多行语法 | 記緒漂流 YAML 多行语法 所以我放弃了 npm | 記緒漂流 所以我放弃了 npm 上下求索,以飨四方 | 記緒漂流 上下求索,以飨四方 理想、偏见与「博友圈」 | 記緒漂流 理想、偏见与「博友圈」 甲流就医纪实 | 記緒漂流 甲流就医纪实
在《HackHub》中成为世界首富 | 記緒漂流
TuyuriTio · 2026-01-31 · via 記緒漂流

《HackHub》,大概是一款等了些个年头的游戏,终于进入 EA 阶段,首发购入体验了一番。

作为黑客模拟器,对于尝鲜来说的确做到了相当程度的拟真,但如果要较真起来,讨论沉浸感,那我对于游戏整体或许会得出游玩体验不佳的结论,甚至觉得不列出几页测试反馈清单,都显得游玩的时间有些缺乏价值。

不讨论剧情内容,讲讲我遇到的其中一个「设计」,并稍稍探索了一下逃课方法。


主线中,需要向某个账号转账 $100 以完成任务。

由于游戏中的转账是一个开放操作,金额及转入账户都需要自己填写,且似乎只做了基础的有效性检验。于是,趁着这次「数值变动」,我试图增加自己的游戏货币,并针对这个任务目标简单做个测试。

打开 Cheat Engine,向对方账户转账 $1,但并未检测到该数值在内存中的存储位置,分别以不同金额尝试了多次依旧不成功。最后,稍有不耐烦,把剩下正好到 $100 的数额全部转了过去,这下好了,内存没扫出来,任务也没有完成。

得试试邪道。


游戏使用 Electron 开发,从 Steam 打开游戏文件目录,可以看到 resources 下包含一个 app.asar.unpacked 目录以及一个 app.asar 文件。

安装 asar 解包 app.asar 得到 app 文件夹:

pnpm install -g asar
asar extract app.asar app

或许因为还在 EA 阶段,Fuse 机制暂未启用,将 app.asar 重命名为备份名称后,游戏将优先读取 app 目录下的内容。因此,直接修改 app 中的代码,效果就会直接反应在游戏中。

app 目录包含 distdist-electron 两个目录,前者是前端代码,后者是 Electron 主进程代码。在 dist/assets 下的大量 JavaScript 文件中,搜索 account balance amount - 等关键词,就可以找到转账相关的代码,最后发现位于 dist/assets/index-BhK6uC38.js 的第 81685 行。

代码经过压缩混淆,美化后如下:

/**
 * 转账功能函数
 * @params state - 全局状态
 * @params action - 转账动作相关数据
 */
function addBankTransaction(state, action) {
    // 根据发送方的 IBAN 查找账户索引
	const fromAccountIndex = state.accounts.findIndex(account => account.IBAN === action.payload.from.IBAN);

    // 根据接收方的 IBAN 查找账户索引
	const toAccountIndex = state.accounts.findIndex(account => account.IBAN === action.payload.to);

    // 将交易记录存入历史
	state.transactions.push(action.payload);

    // 减少发送方余额
	if (fromAccountIndex >= 0) {
		state.accounts[fromAccountIndex].balance -= action.payload.amount;
	}

    // 增加接收方余额
	if (toAccountIndex >= 0) {
		state.accounts[toAccountIndex].balance += action.payload.amount;
	}

	return state;
}

可以看到转出账户通过 -= action.payload.amount 的语句扣款,那么修改这一步就能实现钱越转越多

起初我只是将 -= 改为 +=,但是这样余额的增速还不够快,于是在句末加上了 * 1000。多进行这样的几次操作后,账户中的余额足够在游戏里横着走了。

同样,代码体现出对方也存在账户,转账并不是虚空的数值变换,那么也可以相同操作,直接将转出语句改为 state.accounts[toAccountIndex].balance = 0,把泼出去的钱收回来(坏心眼魅力时刻🤧)