我如何在五天内利用Codex“恢复”丢失的源代码

我如何在五天内利用Codex“恢复”丢失的源代码

💡 原文英文,约1000词,阅读约需4分钟。
📝

内容提要

作者利用Codex将丢失的Electron绘图应用的编译代码逆向为TypeScript源代码,过程包括提取模块结构、逐个恢复模块、建立外部记忆系统、组装应用及自动修复错误。五天后,大部分功能恢复,尽管仍有一些运行时错误。作者总结了使用Codex的经验,强调计划、进度更新和验证的重要性。

🎯

关键要点

  • 作者利用Codex将丢失的Electron绘图应用的编译代码逆向为TypeScript源代码。

  • 提取模块结构是第一步,从混淆的代码中提取JS和CSS文件。

  • Codex成功分析了主要JS文件并列出了模块,尽管原始模块名称已丢失。

  • 在恢复过程中,Codex希望验证生成的代码是否能运行,导致了问题。

  • 通过添加严格规则,Codex停止关注编译错误,开始逐个恢复模块。

  • Codex的上下文窗口有限,新的会话无法记住之前的背景。

  • 作者建立了一个外部记忆系统,以便Codex能继续之前的工作。

  • 所有模块恢复为TypeScript文件后,下一步是将它们组装成一个实际的Electron应用。

  • Codex自动修复编译错误,并通过运行npm start测试应用,找到问题并修复。

  • 经过五天,作者成功恢复了一个可以运行的Electron应用,尽管仍有一些运行时错误。

  • 作者总结了使用Codex的经验,强调计划、进度更新和验证的重要性。

延伸问答

如何利用Codex恢复丢失的源代码?

通过提取模块结构、逐个恢复模块、建立外部记忆系统、组装应用及自动修复错误,最终在五天内恢复了丢失的源代码。

在恢复过程中遇到了哪些问题?

遇到的问题包括Codex想要验证代码是否能运行,导致跳过不必要的部分,以及Codex的上下文窗口有限,无法记住之前的背景。

作者是如何解决Codex的上下文窗口限制的?

作者建立了一个外部记忆系统,通过描述任务背景和跟踪恢复计划,确保每次新会话都能继续之前的工作。

Codex在恢复模块时采取了什么策略?

Codex逐个恢复模块,并在恢复过程中不关注编译错误,以确保完整恢复。

恢复后的应用功能如何?

恢复后的Electron应用大部分功能正常,但仍存在一些运行时错误和边缘案例的不同表现。

作者从使用Codex中学到了什么?

作者总结了计划和检查清单的重要性,强调了验证和明确指示的重要性,以及Codex需要外部循环机制来处理长时间任务。

➡️

继续阅读