问题标签 [cydia-substrate]

For questions regarding programming in ECMAScript (JavaScript/JS) and its various dialects/implementations (excluding ActionScript). Note JavaScript is NOT the same as Java! Please include all relevant tags on your question; e.g., [node.js], [jquery], [json], [reactjs], [angular], [ember.js], [vue.js], [typescript], [svelte], etc.

0 投票
0 回答
627 浏览

ios - iOS - 通过调整启动“照片”应用程序?

我想通过越狱调整启动“照片”应用程序(苹果股票)。我已经钩住了跳板,覆盖了我需要的方法,现在我需要启动“照片”应用程序。我的问题是,没有为它设置 URL。那么我该怎么做呢?提前致谢!:)

0 投票
1 回答
965 浏览

ios - PreferenceBundle Not Loading Specifiers in Jailbreak (Theos) App

I have been fighting with this bizarre all afternoon long with no results. Before, I was able to just create a Tweak, using Theos' Tweak template, and add a PreferenceBundle to it by creating the subproject using the template in its directory. I'd run the tweak, open its page in the Settings.app, and it would loud the specifier list (which includes "Awesome Switch 1" when you don't modify it).

In other words, I'd get this screen by just creating the project doing little to no modifications at all:

enter image description here

Now, today I created a new project the same way (create Tweak first, PreferenceLoader project second) and tried to get to this result with no avail.

I have been fighting with this for over 6 hours. I have tried it in two jailbroken devices. I have uninstalled and re-installed Theos. I have reset my computer, I have rebooted both devices, and no matter what I do, that screen doesn't include it's preferences. It contains the background, but no specifiers at all.

The plist currently looks like this. I need to not the plist tool doesn't return any syntax error when running -lint:

(Five.plist. The PreferenceLoader subproject is called "Five").

And the preferences .mm looks like this:

Now I know the file exists and is being read properly because I checked if it exists manually in /Library/PreferenceBundles and because you can change the title key in the above plist and it will reflect in the Preference's page navbar title. I'm not sure what is causing it to read the title but not the rest of the specifiers.

I'm completely dumbfounded by this. I have never seen such a weird behavior with PreferenceLoader projects, and it looks like it started completely randomly, as I haven't changed any Theos setting or anything.

Any help with this will be appreciated.

0 投票
0 回答
159 浏览

ios - 如何在 iOS 上捕获发送到系统的所有事件?

我想捕获来自用户操作的所有人机界面设备事件,例如触摸内部,触摸移动,摇动......我知道使用MobileSubstrate挂钩事件的方式是一个好方法,但我不知道我应该在哪里挂钩。我不是说只捕获一个特殊应用程序的事件,而是在整个系统中捕获事件。我将不胜感激任何建议。谢谢你。

0 投票
1 回答
1550 浏览

iphone - 以编程方式更改 iPhone 消息应用程序的设置/首选项

我想在越狱应用程序中以编程方式更改 iPhone 的消息通知首选项。可以使用任何私有API,并且该应用程序不适用于AppStore,因此请不要说“应用程序不会被Apple批准”

如何关闭传入消息的通知?

0 投票
0 回答
156 浏览

iphone - 如何在 iOS 的 Tweak 程序中编写 GUI?

Wen可以用nib,storyboard,或者普通合法项目中的代码编写app的GUI,可以上传到AppStore。但是在iOS开放开发的tweak中,通常我们编写.xm代码来挂钩或做任何其他事情实现一些功能,也许我们需要GUI与用户交互,GUI部分会与tweak部分进行通信以实现某些功能。我们如何才能像在法律项目中那样制作 GUI 部分?我们如何将调整部分添加到现有的常见法律项目中?任何帮助将不胜感激!

0 投票
1 回答
208 浏览

ios - 在 iOS 6 中更改了 sqlite3_open 实现

我使用 Cydia Substrate 来挂钩一组 C 文件 IO 函数:open、read、write、pread、pwrite、lseek... 我发现 iOS 4 和 5 中的 sqlite3 实现实际上确实调用open函数来从 db 获取文件描述符文件。然后文件描述符在查询/更新时用于读取/写入数据库。

但是,当我对 iOS 6 进行相同的测试时,我发现open(和其他函数:close、fstat)没有被调用。我很确定我的函数挂钩可以工作,因为我看到 open/close/fstat 在其他地方被调用。

当我使用 iOS 6 进行测试时,会打印以下日志:

下面是相同的代码,但在 iOS 5 上运行:

很明显,它在 2 个文件描述符 9 和 10(我认为是 db 和 db-journal 文件)上调用了 pread/pwrite。它是如何在不调用 open 的情况下获取文件描述符的?

0 投票
2 回答
785 浏览

iphone - Mobilesubstrate:创建一个调整以连接到另一个调整或 dylib

是否可以创建一个调整以连接到另一个现有的调整?

0 投票
1 回答
211 浏览

ios - iOS(越狱)通过 SBAppContextHostManager 显示应用程序

基本上,我正在尝试使用 SpringBoard 的私有 API SBAppContextHostManager 显示应用程序。到目前为止,我有这个代码:

然后我打电话

获取包含应用程序的视图的 UIImage。但是,这个 UIImage 的输出是完全空白的,这导致我认为我对 SBAppContextManager 的调用不正确,从而导致空白 SBHostWrapperView。因此,我应该如何以这种方式显示应用程序?

0 投票
1 回答
939 浏览

iphone - iphone上的MobileSubstrate游戏黑客

我正在为 ipad 的游戏 Kingdom Age (v2.0) 练习 mobilesubstrate 黑客攻击。

我只想在游戏中赚很多钱,但我一事无成。播放器在 CCPlayer 类中定义,有时会被服务器检查。

所以我试图深入数据的核心,在 CCGameInformation 类中。函数 -(id)activePlayer 是 callet 很多(比如每秒 30 次),所以我认为这是一个不错的起点。

CCPlayer 被定义(在包含文件中)为

我在 Tweaks.xm 中将其声明为:

我实际上包括了整个事情,只是改变了基类。

CCGameInformation 定义为:

我在 Tweaks.xm 中将其定义为

我的钩子看起来像:

但它根本不起作用。它确实按预期打印出“Energy:10”,但游戏中的能量并没有改变。

我是否正确使用了挂钩过程和减速,或者游戏是否比我预期的更受保护?

谢谢。

0 投票
2 回答
1428 浏览

ios - 使用 AppList 数据源的 -[NSIndexPath 行] 中的断言失败

请参阅下面的更新。

我正在编写一个调整并且正在使用 AppList。我正在关注聚光灯并为所有已安装的应用程序创建一个表格。我正在尝试使用 dataSource 来获取信息(显示标识符等)。问题是如果定义了 dataSource ......我收到以下错误:

SpringBoard[1622] <Warning>: *** Assertion failure in -[NSIndexPath row], /SourceCache/UIKit/UIKit-2380.17/UITableViewSupport.m:2680 SpringBoard[1622] <Warning>: ***** AltKeyboard Uncaught Exception: Invalid index path for use with UITableView. Index paths passed to table view must contain exactly two indices specifying the section and row. Please use the category on NSIndexPath in UITableView.h if possible. *****
或者
SpringBoard[1890] <Warning>: ***** AltKeyboard Uncaught Exception: *** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1] ***** SpringBoard[1890] <Error>: *** Terminating app due to uncaught exception 'NSRangeException', reason: '*** -[__NSArrayM objectAtIndex:]: index 2 beyond bounds [0 .. 1]' *** First throw call stack:

如果未定义 dataSource 并且我使用假数据(测试名称),则可以正常生成表。当我打印数据源时,其中只有两个项目。

IRC 上的 Ryan Petrich 似乎暗示我做的一切都完全错误,但在那之后并没有太大帮助。也许我正在错误地解决这个问题?

代码:http
://pastebin.ca/2457626 存储库:https ://github.com/twodayslate/ListLauncher

编辑/更新! dataSource 给我带来了问题。它没有获取相同数量的应用程序,因此我收到了索引错误等。我有 200 多个应用程序,但 dataSource 只获取 2 个
。以下代码没有错误,但只显示 2 个项目: http: //pastebin.ca/2458961

编辑! 我改变了它,所以我只使用 ALApplicationList。我能够列出所有应用程序。但是,当我尝试滚动表格时,它会崩溃。排序和创建列表真的很慢,所以我相信这可能会导致问题。我不是 obj-c 的专家,所以我确信有比我正在做的更好的方法。http://pastebin.ca/2459318