NopX 的开发记录。

2024-11-05 第九天

发烧终于好了,继续研究无限内存视图的各种bug

2024-11-02 第八天

用 UIKit 重写了一切,实现了简陋的无限内存视图,不过一旦更改显示类型就会产生bug,不知道怎么办。。。

2024-11-01 第七天

学习 UIKit,真不错,比较方便控制 UI 刷新时机,加载新数据的时机,重新布局的时机。

2024-10-30 第六天

SwiftUI 是真瘠薄沙壁,各种小 bug 一大堆,例如 默认实现的输入框限制数字类型,数字多了(大概十几个就会崩溃)、alert 难以自定义,只能自己实现一个样式一摸一样的凑合用、ipad 横屏快速反复点击输入框,取消键盘,输入框会闪烁,甚至有几率给输入框卡没…竖屏则完全没问题…

还好写的不多,准备用 UIKit 重写

2024-10-29 第五天

重构一些 Rust 代码;用 SwiftUI 实现进程选择页面,搜索页面,设置页面。

2024-10-25 第四天

用 Rust 创建了 NxCore,自动生成 Swift Package,内部是 XCFramework,自动生成多个架构的绑定。

用 SwiftUI 完成了基本的界面框架,暂时打算 UI 模仿 iMemSeeker 。

2024-10-24 第三天

swift-bridge 功能实在太少了,例如 Vec 一类的数据结构都不支持(可以正常生成代码,但各种协议都没用实现,没法直接调用),改用 uniffi 了。

完成了获取进程列表的接口。

2024-10-23 第二天

写了一些 mach 内核API相关 rust bind。

swift 方面基本敲定了使用 swift-bridge。

恶补学习 SwiftUI 相关知识。

2024-10-22 第一天

简单调研了一下 rust 自动生成 swift 接口的方案,swift-bridge/uniffi。

swift-bridge 性能好,但安全性比较难保证,用起来也比较麻烦,支持的类型不多。

uniffi 性能比较差,好在支持的类型较多,并且可以方便的打包为 XCFramework。

2024-10-21 产品构思

打算走冷门赛道,做一款跨平台的内存修改器(名字暂定NopX)以及一个交流社区,致力于成为最优质的内存修改器。

NopX APP

目前计划中的核心功能有:

  • 基本的内存扫描: 精准/模糊(i8/u8/i16/u16/i32/u32/i64/u64/string/array/group/pattern),并且资源开销尽量低

  • 自动扫描指针链

  • 过滤指针链: 布隆过滤器对比/哈希对比/运行时过滤

  • 方便查找特征码的简洁内存视图,并且可以自动标记指针

  • 断点调试: 是什么(读取/写入)了这个地址

  • 自动(汇编/反汇编)指令、代码注入

  • SpeedHack 变速齿轮

  • 脚本: 主要用于分享以及执行自动化任务

  • 插件: 公开一些接口允许扩展功能

  • 其它特定于平台的特殊功能

NopX Community

NopX 网站交流社区,用户在这里交流心得,发布脚本、插件,同时可能可以获得奖金激励。

支持平台优先级

从高到低: ios > android > linux/macos > nintendo-switch > windows > other

ios 用户付费意愿高,并且相关工具实在少的可怜,所以放在第一优先级。

android 用户数量最多,放在第二优先级。

linux pc 和 macos 都是我正在用的,放在第三优先级。

nintendo-switch 需要一些更深度的技术储备,并且受生态影响,很多功能难以实现,还在调研中。

windows 已经有 CheatEngine 了,而且我平时很少使用 windows,优先级为最低。

当然,支持的平台可能会增加,优先级可能随时发生改变

技术选型

  • NopX APP

ios/macos 使用 swift 做UI,rust 写核心功能。

android 使用 java/kotlin 做UI,rust 写核心功能。

linux pc 不做UI(已经有非常好的PINCE),rust 写部分核心功能(同时贡献给开源社区)。

nintendo-switch UI待定,rust 写核心功能。

windows 使用 win32 做UI,rust 写核心功能。

争取所有平台 APP 大小不超过 10MB,在不缺失功能的情况下,还要做到小而美。

  • NopX Community

前端使用 Svelte,后端采用 go 语言。尽量看起来简洁轻快。

收费模式

程序采用设备激活方式,永久买断。

众筹阶段:每捐赠 30 元都可在未来获得一份设备激活资格。

产品上线:暂定每个设备 50 元人民币。