问题标签 [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 投票
3 回答
1939 浏览

iphone - 如何创建基本的 MobileSubstrate 调整

我想知道如何制作一个基本的“你好,世界!” MobileSubstrate调整。

0 投票
3 回答
2723 浏览

ios - iOS Patch 程序运行时指令

如何在应用程序运行时修改单个汇编指令?

我正在为现有应用程序编写一个 Mobile Substrate 调整。在调整的构造函数 ( MSInitialize) 中,我需要能够重写应用程序代码中的各个指令。我的意思是,我希望修改应用程序地址空间中的多个位置,但在每个实例中,只需要修改一条指令。我已经为应用程序禁用了 ASLR,并且知道要修补的指令的确切内存地址,并且我有新指令的十六进制字节(作为 char[],但这并不重要,可以根据需要进行更改)。我只需要弄清楚如何执行更改。

我知道 iOS 使用数据执行保护 (DEP) 来指定可执行内存页也不能​​是可写的,反之亦然,但我知道可以在越狱设备上绕过这一点。我还知道 iDevices 使用的 ARM 处理器有一个指令缓存,需要更新以反映变化。但是,我什至不知道从哪里开始这样做。

所以,为了回答这个肯定会被问到的问题,我没有尝试过任何事情。这不是因为我懒惰;相反,这是因为我完全不知道如何做到这一点。任何帮助都将不胜感激。

编辑:

如果它有帮助,我的最终目标是在 Mobile Substrate 调整中使用它来挂钩 App Store 应用程序。以前,为了修改这个应用程序,必须先破解它来解密应用程序,这样才能修补二进制文件。我想让人们不必破解该应用程序,因为这可能导致盗版,我强烈反对。我不能正常使用 Mobile Substrate,因为所有工作都是用 C++ 完成的,而不是 Objective-C,并且应用程序被剥离,没有任何符号可以使用MSHookFunction

0 投票
1 回答
516 浏览

ios - 在 String-Hack 之后重新签署 MobileSubstrate-dylib?

我喜欢在我越狱的 iPad(第 3 代,5.1.1)的状态栏中查看当前日期,所以我安装了 Tweak “DateCarrier”。可悲的是,它没有配置并使用 MM/dd/yyyy 作为其格式,我不喜欢这种格式。

我在 .dylib 文件中找到了它的格式字符串,并尝试在十六进制编辑器中将其简单地更改为 dd.MM.yyyy。该字符串显然具有相同的长度,并且仍然以空值结尾。可悲的是,调整的更改版本在启动时崩溃。

我认为这是一个签名问题,但由于我没有使用 Mac 软件或 iOS 开发的经验,我真的不知道如何进行。

谷歌向我指出了工具“ldid”,它声称对二进制文件进行签名,但它在 dylib 文件上出现错误“未知加载命令 7”而退出。

谁能指出我正确的方向或告诉我是否有可能加载更改后的库?

0 投票
2 回答
905 浏览

iphone - 在 iPhone 中连接协议

我想在 iOS 中挂钩委托(协议)方法,谁能告诉我怎么做?

比如钩子法applicationDidFinishLaunching:

我这样做,但它不工作......

0 投票
1 回答
1257 浏览

cydia - 使用 Theos 创建 Cydia Tweak 时带有转储头的编译器错误

我正在尝试为 iPhone 上的应用程序编写调整。我在 Objective C 和 iPhone 开发方面有很好的背景,但我从来没有做过任何 Cydia 越狱调整,除了一些关于使用 rpetrich 转储头文件进行调整的教程。我希望使用 PoedCrackMod 来解密,使用 class-dump-z 来获取标头,然后使用 theos/logos 来修补破解的应用程序。

我已经开始运行 PoedCrackMod 来解密应用程序。这会产生一个 .ipa 文件,然后我可以提取该文件以获得 .app 文件,其中包含实际的应用程序二进制文件。

我可以使用

继续获取头文件目录。我将这些标头复制到 $THEOS/include/Foo。(我应该在这里使用 -g 选项 [仅显示导出的类],还是我也可以挂钩非导出的类?)

此时,我应该能够创建一个如下所示的tweak.xm 文件:

作为参考,makefile 看起来像:

当我继续尝试编译我的 Tweak(此时它应该什么都不做)时,我想出了各种重复的声明错误。这是正常的,还是我做错了什么?

如果是正常的,我该如何纠正呢?我试过注释掉重复的声明,在这种情况下我可以编译它。我已经插入了 20 多个在调用该方法时创建 UIAlertViews 的钩子,但它们似乎都没有触发 - 让我相信我没有钩住没有被调用的方法,但我要么在做转储标头或将标头导入到我的调整中是否有错误?

有没有人对我可能做错了什么有任何见解?

0 投票
1 回答
335 浏览

objective-c - ios - Sparrow 邮件应用程序在 5.0.1 上崩溃 - 想要构建一个修复程序,需要移动基板帮助

昨天,我下载了麻雀邮件应用程序,启动后立即崩溃。

生成以下崩溃日志:

问题是 UINavigationBar 中的属性“shadowImage”,它在 iOS 5 上不存在。

现在我正在尝试构建一个移动基板插件以避免崩溃,将缺失的属性添加到 UINavigationBar 并覆盖和以下代码:

我不知道要正确设置 shadowImage 或 UI_APPEARANCE_SELECTOR。

有任何想法吗?谢谢

0 投票
1 回答
428 浏览

ios - 使用徽标时找不到实例方法 %new

我正在使用徽标来发布推文。我使用 %new- (void)checkTQT向 SBAwayController 添加了一个新方法,但是当我使用 调用该方法时[self checkTQT],它显示“未找到实例方法 '-checkTQT'(返回类型默认为 'id')”

这是我的代码:

我用错了吗?

0 投票
1 回答
1235 浏览

iphone - .dylib 移动基板调整不起作用

当我遇到一个包含源代码的教程时,我正在学习如何调整移动基板。为了进一步了解它,我决定测试一下

代码:

我在我的IOS手机上使用了theos并进行了调整并将此代码粘贴到“tweak.xm”
中,我去了“makefile”并添加了

如果你想知道我的 test.plist 中有什么,这里就是

接下来我去了移动终端并做了这个

然后你复制了theos制作的.dylib和“test.plist”文件并将其粘贴到/Library/MobileSubstrate/DynamicLibraries

之后我重新启动我的设备并尝试启动一个应用程序,但没有任何反应。一切正常启动。请在这里帮助我

0 投票
1 回答
5918 浏览

ios - 如何为我的移动基板调整制作首选项包?

我有theossdk3安装在我的 iPhone

我也创建了一个有效的调整,但不知道如何创建首选项包来添加一些设置。

我想将一个是/否或一个布尔按钮添加到首选项按钮中,以查看是否要启用调整

如果启用或未启用,我如何进行调整以读取?示例:

请帮忙

0 投票
0 回答
195 浏览

iphone - MobileSubstrate:如何使对象全局可访问

我目前正在使用substrate.h 开发MobileSubstrate 扩展,我需要一个可以从每个捆绑包中访问的对象。

据我所知(并且我尝试过),如果我只是static在代码中放置一个变量,这只会使对象在当前注入的包(例如 SpringBoard 或任何应用程序)中可访问。

所以我想知道能够从每个应用程序(包)访问同一个对象的最佳方法是什么?

我有在类中添加实例变量的想法SpringBoard,但显然我无法调用class_addIvar()现有类。

任何帮助是极大的赞赏。