Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Sign up
Appearance settings

gtict112/FtmpSo

Folders and files

NameName
Last commit message
Last commit date

Latest commit

History

6 Commits

Repository files navigation

FtmpSo

原理

  • 经过mtp加固的部分游戏,会有资源校验,就是你无论修改安装包里面的任何一个资源,都无法正常进入游戏,通过分析,其检测在libtprt.so中。这个.so文件在com.tencent.tpshell.TPShellApplication类中加载,在这个类中有很多native方法,我们需要重点关注initialize这个函数,通过hook RegiserNatives函数,我们也发现了这个函数是最先被调用的,我们可以在java 层hook 这个函数来绕过校验,具体实现ftmp,缺点是得依赖于xposed。
  • 我们也可以无需依赖于xposed,直接修改dex就能达到目的,但是对于大部分来说,修改smali比较麻烦。我们可以在native 层去hook initialize,此类方法属于jni 动态注册。我们可以直接去hook RegiserNatives拿到initialize地址,然后hook,改变参数值,具体请看源码。

使用方法

  • 可以使用apktool,android killer或者mt管理器等dex反编译&编译工具,找到com.tencent.tpshell.TPShellApplication这个类,在加载tprt.so文件前插入加载我们的.so文件

    例如:

     const-string/jumbo v0, "ftmgp"
     invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V
     
    	 const-string/jumbo v0, "tprt"
     invoke-static {v0}, Ljava/lang/System;->loadLibrary(Ljava/lang/String;)V

然后将我们的.so文件放在/lib/armeabi-v7a/中,打包编译即可,可能部分游戏会有签名校验,无法正常登录,这个问题需要你们自行解决。

  • 可以在此基础上,加上自己的一些修改游戏的代码等。

Unity mono 会卡在进入游戏界面,至于怎么解决得靠你们自己。

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

AltStyle によって変換されたページ (->オリジナル) /