创建 apk 包装器 Android(无源代码)
Creating an apk wrapper Android (no source code)
我在一些基于订阅模式的游戏门户目录(类似于 PlayStore)中工作。我与一些编辑器建立了合作伙伴关系,可以为我提供一些游戏 apk。但不是他们的源代码。所以我有权修改关于它们的东西,但我没有代码。
这是我想做的,如果你觉得需要你告诉我:
- 这样可以
- 这样做的好方法
- 如果有更好的方法,是什么
所以,我的目标是制作一个包装器,让我能够:
- 将网页视图弹出到我的游戏门户
- 获取用户的UID并发送到游戏入口
- 能够从 Web 门户获得回调(使用 javascript)
- 在本地注册有关用户权限的信息(如状态和 "end subscription date")并在启动时检查它们
添加各种逻辑,例如 "if I get this reponse from the game portal callback, then I close the webview"。
我是这样想的:
- 参加我有源代码的游戏
- 将上面要求的所有代码写在Java中,将所有内容放在一个class
中
- 在每个 APK 中始终存在的方法中设置所有调用(mainactivity - 例如 onCreate())
- 编译我的 apk
- 使用 APK Studio 等工具反编译我的 apk,这将生成一些可读的 SMALI 代码
- 找出与我的包装器相对应的代码部分(通过将 classic compiled/decompiled apk 与我添加包装器的那个相区别)
- 将此代码部分复制到另一个 classic compiled/decomplied APK
- 重新编译 APK
所以我知道我可以在 Java 部分做任何事情,但我想确保可以制作我想使用的 "SMALI trick"。
提前致谢:)
编辑:我一直在想,创建一个新的 Activity 来替换 smali 文件中的 MainActivity 和通过 Intent 调用开始真正的 MainActivity ?
我已经能自己解决了。所以这可能不是实现这一目标的最佳方式。但这是我唯一知道的。所以对于那些想知道的人。这是一些细节。
所以基本上你只需要按照我公开的流程进行即可。除了在我的第一个想法中,我计划从游戏主要活动中调用东西。
但最后,最好的办法是制作自己的 main activity 来处理所有需要的事情,然后从那里将实际的游戏 mainActivity 传递给 "wrapper".并且您将能够在需要时开始游戏。
您还需要 "steal" 清单中的主要 activity 属性 以便 activity 首先开始。
在您的 mainActivity 中设置清晰的调用,例如 'init(Context,main_act)',以便更新 SMALI。
关于layouts & res,你可以很容易的添加到反编译的apk中。
希望这对某人有所帮助 ;)
我在一些基于订阅模式的游戏门户目录(类似于 PlayStore)中工作。我与一些编辑器建立了合作伙伴关系,可以为我提供一些游戏 apk。但不是他们的源代码。所以我有权修改关于它们的东西,但我没有代码。
这是我想做的,如果你觉得需要你告诉我:
- 这样可以
- 这样做的好方法
- 如果有更好的方法,是什么
所以,我的目标是制作一个包装器,让我能够:
- 将网页视图弹出到我的游戏门户
- 获取用户的UID并发送到游戏入口
- 能够从 Web 门户获得回调(使用 javascript)
- 在本地注册有关用户权限的信息(如状态和 "end subscription date")并在启动时检查它们
添加各种逻辑,例如 "if I get this reponse from the game portal callback, then I close the webview"。
我是这样想的:
- 参加我有源代码的游戏
- 将上面要求的所有代码写在Java中,将所有内容放在一个class 中
- 在每个 APK 中始终存在的方法中设置所有调用(mainactivity - 例如 onCreate())
- 编译我的 apk
- 使用 APK Studio 等工具反编译我的 apk,这将生成一些可读的 SMALI 代码
- 找出与我的包装器相对应的代码部分(通过将 classic compiled/decompiled apk 与我添加包装器的那个相区别)
- 将此代码部分复制到另一个 classic compiled/decomplied APK
- 重新编译 APK
所以我知道我可以在 Java 部分做任何事情,但我想确保可以制作我想使用的 "SMALI trick"。
提前致谢:)
编辑:我一直在想,创建一个新的 Activity 来替换 smali 文件中的 MainActivity 和通过 Intent 调用开始真正的 MainActivity ?
我已经能自己解决了。所以这可能不是实现这一目标的最佳方式。但这是我唯一知道的。所以对于那些想知道的人。这是一些细节。
所以基本上你只需要按照我公开的流程进行即可。除了在我的第一个想法中,我计划从游戏主要活动中调用东西。
但最后,最好的办法是制作自己的 main activity 来处理所有需要的事情,然后从那里将实际的游戏 mainActivity 传递给 "wrapper".并且您将能够在需要时开始游戏。
您还需要 "steal" 清单中的主要 activity 属性 以便 activity 首先开始。
在您的 mainActivity 中设置清晰的调用,例如 'init(Context,main_act)',以便更新 SMALI。
关于layouts & res,你可以很容易的添加到反编译的apk中。
希望这对某人有所帮助 ;)