13作者: jackpriceburns大约 1 个月前原帖
在过去的几个月里,我积极参与了反编译社区。我亲手反编译了一款我童年时期非常喜爱的游戏(《星际狐狸冒险》)。我开始这个旅程时完全没有反编译的经验,更糟糕的是,我几乎没有接触过C语言和汇编语言。 学习如何进行反编译是一个挑战。很难找到好的学习资源,而任何开源项目要么不活跃,要么几乎没有实际的学习材料。 因此,我创建了反编译学院!反编译学院是一个互动学习平台,旨在教你如何将PowerPC汇编代码反编译回C语言。该网站运行一个实时的Metrowerks CodeWarrior GC/2.0编译器,将你的C代码转换为汇编代码,并检查你的汇编代码与目标代码的匹配程度。如果有哪怕一条指令或一位不符,那就算失败。这是视频游戏反编译的金标准,比普通的反编译要求要严格得多。 截至目前,网站上有250多个课程,课程从最基础的内容开始,因此任何有一点编程经验的人都应该能够直接参与,即使你不是C语言专家。有些课程还包含来自活跃开源反编译项目(如《星际狐狸冒险》、《马里奥派对4》、《皮克敏》、《银河战士:首个》)的真实函数。这个想法是让你在完成学习后,能够掌握一切必要知识,以便参与到真实的反编译项目中。 该网站完全免费、开源,所有课程无需注册即可访问。所有课程以Markdown格式存储在代码库中(src/curriculum),添加或修改课程非常简单。网站非常新,课程内容每天都在快速更新,并且正在开发一个C++部分。该网站已经得到了反编译社区的良好反馈,我很高兴能与HN分享。我非常希望其他人能为这个项目贡献力量,并希望这能成为互联网上学习反编译艺术的最佳资源。请告诉我你的想法! 来源: [https://github.com/JackPriceBurns/decomp-academy-fe](https://github.com/JackPriceBurns/decomp-academy-fe)
1作者: no_0044大约 1 个月前原帖
Moumantai 是一个自托管的运行时,用于创建个人“迷你应用”:你只需定义一次应用,服务器负责保存其状态和逻辑(无论是确定性的还是由代理驱动的),并且可以通过任何设备上的轻量客户端(如手机、手表、浏览器或嵌入式板)本地访问和渲染。 和许多人一样,我曾尝试为自己构建和定制小应用,最初是从一些网络应用开始,但很快我意识到我希望能够在我拥有的设备上访问这些应用,而无需打开浏览器。虽然现在许多代理可以生成临时应用,根据当时的需求进行定制并在聊天界面中展示,但每次都重新生成所有内容可能会很慢且成本高昂。我想要的是一个折中方案:我可以自己创建、定制和托管的 AI 小部件/迷你应用——可重用的,仍然在需要时具备来自大型语言模型的智能,并且能够在不同设备上访问和使用。 在 Moumantai 中,应用只需一次定义,包括模式(数据)、工具(操作)和界面(视图)。服务器托管状态,后台有一些代理作为智能层,处理所有繁重的工作。客户端只是本地渲染用户界面,服务器上解决不同设备特定的界面。主要的应用逻辑仍然是简单的 CRUD 操作,其中一些被包装为工具,以便后端代理在需要时提供智能。 这主要是一个个人的小实验,因此在设计上有些主观,围绕我使用和需要的内容进行构建。欢迎任何反馈,以使其更有用。特别是任何安全问题或性能建议,以及任何使架构更优雅、降低复杂性的推荐。任何问题都欢迎提出 :)
4作者: foodevl大约 1 个月前原帖
在昨天的“自由条形码项目”讨论中,1bpp问道:“有没有人愿意为了实现一个作为TTF提示代码的QR渲染器而牺牲自己的理智?”<p>是的。我有一些代币可以消耗,并且对此很感兴趣……结果发现,这是可能的。这是由Gemini、GPT和Claude的混合成果(具体取决于哪个使用限制先用完)。
3作者: psafronov大约 1 个月前原帖
四月初,我需要在图书馆打印一些税务表格,这是很久以来第一次,我开始思考:将文件传送到公共电脑上最简单的方法是什么? 有很多方法,但大多数都涉及在某个地方创建账户或插入U盘。我使用密码管理器,所以我的密码很长且复杂,不容易输入。我不想在公共电脑上插入任何东西,也不想把我的税务文件上传到某个随机网站。 我考虑了一下什么样的产品会很有帮助,大约一个小时后,我开发出了第一个版本,<a href="https://gitlab.com/PavelSafronov/engye/-/tree/09f6ca401246b2dc2277143770143d5f1eff064a" rel="nofollow">https://gitlab.com/PavelSafronov/engye/-/tree/09f6ca401246b2...</a>:一个静态的 Vite TS 网站,托管在 GitLab Pages 上,使用二维码通过 WebRTC 连接两个网站实例。 现在我只需在图书馆的电脑上导航到一个 URL,扫描生成的二维码,选择我手机上的税务文件,图书馆的电脑就会立即下载它。 在图书馆的这次经历后,我进一步研究了这个领域,发现没有人解决跨网络、无需安装、无需账户、无需云存储的特定组合。Snapdrop 和 PairDrop 是类似的网站,但仅限局域网或需要公共房间。LocalSend 需要在两个设备上安装软件,这使得在公共设备上使用变得不切实际。而其他解决方案要么是硬件锁定(如 AirDrop、Quick Share),要么需要将文件上传到云端(如 Google Drive、Dropbox),或者通过他们自己的服务器传输数据(如 Wormhole)。 因此,在一些决心、夜间和周末的编码以及大量的范围扩展下,我们推出了... Engye,发音为“an-jee”,就像名字 Angie,一切都可以在 <a href="https://engye.fuzzyworld.net" rel="nofollow">https://engye.fuzzyworld.net</a> 上使用,只需一个二维码和无需账户即可完成很多事情: - 发送文件:用户可以从你的浏览器标签下载文件 - 收集文件:用户可以将文件上传到你的浏览器/桌面 - 剪贴板共享:用户可以共享一个文本框,适合分享短文本 - 虚拟驱动器:Engye Drive 允许你创建并附加一个虚拟 U 盘 我想我可能在最后一个功能上有些过于兴奋了。¯\_(ツ)_/¯ 我真心希望这个项目能使 U 盘在大多数情况下变得过时。(几乎给这个项目起名为“We Break Thumb(drive)s”,以此致敬《辛普森一家》,但最终没能找到合适的名字。)现在是2026年,从一个设备转移文档到另一个设备应该是非常简单的事情! 所以我决定做这个显而易见且简单的项目,我认为它可以为很多人提供帮助。虽然使用这个应用程序传输4K电影并不实用(大文件会使浏览器崩溃,因为我们将数据加载到内存中两次),但对于大多数人传输几张图片和文件的使用场景,这个项目应该能大大简化流程。 在我完成基本功能后,Engye Drive 是一个有趣且极具技术感的附加功能。我真的希望能够通过扫描二维码连接一个虚拟驱动器。这个网页应用程序提供了对 Engye Drive 的完全访问权限,通过安装一个 npm 包,你甚至可以在 Finder 或 Explorer 中自动挂载驱动器。 为了安全起见,应用程序使用 AES-256-GCM 加密,并为每个请求生成新的 IV,因此你的数据在浏览器之间始终是加密的。如果使用 TURN 或其他中继,它们永远不会看到明文,因此你可以防范中间人攻击。加密密钥在二维码中,所以只有扫描你代码的人才能与你共享数据。 没有账户,关闭浏览器会终止连接。如果你需要更长的会话或离线使用,可以安装在后台运行 Engye 的 Android/iPhone 应用。 这个项目也作为我个人在自主编码方面的实验。我设计了这个应用,指导 Claude 实现它,然后在大约三个月的时间里通过与 Claude 的聊天逐步开发这个应用。 代码在 GitLab 上,AGPL-3.0 — 免费使用和自托管:<a href="https://gitlab.com/PavelSafronov/engye" rel="nofollow">https://gitlab.com/PavelSafronov/engye</a> 很高兴听到其他人的看法。
1作者: apostophet大约 1 个月前原帖
在一个副项目(quizzy.earth)的基础上构建了这个。<p>有趣的工程问题是最佳第三名座位逻辑——国际足联预先发布了一个包含495行的查找表(附录C),涵盖了所有可能的第三名晋级组合。人工智能不断出现错误的分组规则,因此我最终阅读了实际的规定PDF。每种495种情景都有多达24,000种有效的分组安排;国际足联为每种情景预先确定一个,因此在比赛之夜不会产生歧义。<p>对于一个未完成的分组,我采用二分匹配(优先安排约束条件最强的队伍)。一旦所有8个第三名被选中,就会切换到官方查找。<p>无需注册。匿名选择。想知道HN对这些分组的看法。