1/1 ×
mt管理器官方正版下载2025最新版第1张截图
mt管理器官方正版下载2025最新版第2张截图
mt管理器官方正版下载2025最新版第3张截图
mt管理器官方正版下载2025最新版第4张截图
mt管理器官方正版下载2025最新版第5张截图
首页 性能优化 mt管理器官方正版

mt管理器官方正版

mt管理器官方正版

软件类别: 性能优化

版本: 2.18.2

更新时间: 2025-05-08

mt管理器官方正版
  • mt管理器官方正版下载2025最新版第1张截图
  • mt管理器官方正版下载2025最新版第2张截图
  • mt管理器官方正版下载2025最新版第3张截图
  • mt管理器官方正版下载2025最新版第4张截图
  • mt管理器官方正版下载2025最新版第5张截图
  • 应用介绍

    MT管理器官方正版是一款针对Android 系统设计的高级文件管理工具,主要面向开发者、极客或对手机深度操作有需求的用户。它结合了文件管理、代码编辑、APK 逆向修改等实用功能,因其强大的自定义能力和技术门槛而广受技术爱好者欢迎。MT管理器官方正版支持双窗口分栏操作,支持复制、移动、压缩/解压(ZIP/RAR/7z)、FTP/SMB 连接等。还有内置文本/代码编辑器(支持语法高亮),可修改文件内容(如配置文件、脚本)。支持 Root 权限访问系统目录(需手机已 Root)。

    MT管理器亮点

    1.双窗口操作

    独创的双窗口操作模式,两个目录同时显示,结合前进/后退/同步等功能,熟悉之后相比传统操作方式更加高效。

    2.多功能

    内置了许多既强大又好用的功能,并且还在持续不断地更新中,您只需要装一个 MT 就可以满足许多的功能需求。

    3.玩机必备

    经过十余年的更新迭代与积累,MT 获得众多好评,如今已成为许多玩机爱好者、技术极客装机必备的 APP 之一。

    MT管理器快速入门

    进入 MT 管理器,首先看到的是左右两个文件列表窗口。

    双窗口操作

    你在其它文件管理器中复制文件时,一般都需要先复制然后再粘贴。

    而在 MT 中复制文件是直接从当前窗口复制到另一窗口的,没有粘贴这一步骤。

    除了复制文件,还有移动文件、从压缩包提取文件、添加文件到压缩包等操作也都是如此,我们称它为双窗口操作模式。

    同步功能

    你可能会想到,如果要把当前窗口的文件复制到当前窗口的一个文件夹内,应该怎么操作呢?

    其实只需要用同步功能就行了:

    点击同步按钮后,另一窗口会立即与当前窗口同步,然后点击进入目标文件夹,就可以进行复制操作了。

    复制完成后,你还可以像动图中那样使用后退功能,使另一窗口回到之前的路径。

    如果当前窗口在压缩文件内,则点击同步功能后,另一窗口会定位到压缩文件所在位置。

    文件多选

    如果你要复制多个文件,那么需要用到多选功能,只需要左右滑动任意文件即可进入多选模式。

    如果要选择连续的多个文件,你只需像上图所示那样连续滑动头尾两个文件。

    除此之外,在多选模式下,你还可以点击底部的按钮实现全选、反选、类选功能。

    类选就是选中相同类型的文件,例如你选中了一个 zip 文件,然后点击类选,即可自动选中所有 zip 文件。

    书签功能

    你可以将常用的路径、文件添加到书签,需要用的时候再从底栏上滑调出书签,点击即可直接跳转。

    过滤功能

    当文件列表内容过多时,你可长按同步按钮再输入关键字,快速找到你想要的文件。

    以下新增于 MT 2.14.3 版本:

    如果输入内容以 / 开头,则后续内容为正则表达式

    如果输入内容以 !/ 开头,则后续内容为正则表达式,且使用否定匹配

    例如:找出文件名包含数字的文件:/\d;找出文件名不包含数字的文件:!/\d。

    路径跳转

    你可以长按返回上级按钮,输入并跳转到指定路径。

    看到这里你就可以愉快地使用 MT 去进行文件管理的基本操作了,如果你是第一次使用 MT,建议你多看几遍,相信你会越用越顺手~

    MT管理器APK 签名指南

    签名的作用

    APK 签名的原理基于数字证书和非对称加密算法,其作用简单来说就两点,一是文件完整性检验,二是身份信息验证。

    文件完整性检验

    签名信息中包含文件数据的摘要信息,并且通过私钥进行加密。你可以通过公钥解密数据,并重新计算文件的摘要信息与之进行对比,来确认文件在签名之后没有经过他人的篡改。

    安卓系统在安装 APK 文件时会通过以上方式对文件进行检验,如果检验不通过将会拒绝安装。因此在修改了 APK 之后需要重新进行签名才可以通过完整性检验,不过二次签名将会改变 APK 签名的身份信息,除非你有它的签名密钥。

    身份信息验证

    如果只有单纯的完整性检验那么签名也没有意义,因此其还有另外一个重要作用就是表明签名者的身份信息,该身份信息由签名时所使用的签名密钥决定。

    签名密钥使用专门的工具随机生成,每次生成都不会重复,并且其原理也决定了基本不可能通过公开的签名信息来逆推得到签名密钥。因此你只要生成一个签名密钥并将它保管好不泄露,它就可以用来代表你的签名者身份,并且别人无法伪造。

    在安卓系统中,首次安装的 APK 只会进行完整性检验,如果是覆盖安装,那么已安装的 APK 和待安装的 APK 的签名身份信息必须一致,否则无法安装。为避免该情况发生,我们一般会卸载掉已安装的应用再进行安装。

    不过有一些特殊情况会导致在首次安装 APK 时也会进行身份信息验证,比如 APK 中引用了 signature 保护级别的权限、设置了 android:sharedUserId 属性等,具体可网上搜索,这边不过多展开。

    总结

    APK 文件修改之后必须重新签名才能安装,否则无法通过完整性检验;

    APK 签名身份信息发生变化会导致无法覆盖安装,需要先进行卸载。

    APP 的签名检验

    系统更多的只是对 APK 做完整性校验,身份校验很容易通过卸载方式来解决,因此许多 APP 为了防止自身被修改和破解,会对自身进行额外的校验,确保没有被修改。

    我们一般称此类检查自身是否被修改的保护技术为签名校验,其校验原理几乎也都是基于文件完整性检验与签名身份信息验证。

    不过现在有许多技术可以一键去除此类自校验,例如 MT 管理器的去除签名校验功能。如果您是 APP 开发者并且为自己的应用添加了签名校验,那么十分推荐您使用 MT 的该功能进行测试,如果可以被一键去除校验则需要考虑使用更安全的校验方式。

    在 MT 中使用签名功能

    ① 在 MT 中找到 .apk 文件并点击,然后再点击「功能」-「APK 签名」即可对 APK 文件进行签名。

    ② 在对 APK 文件进行修改时,你会看到「自动签名」选项,勾选它即可在修改 APK 后自动进行签名。

    长按「自动签名」可打开设置窗口:

    管理签名密钥

    该功能新增于 v2.17.1 版本

    点击侧拉栏工具的「签名密钥」,或者点击签名对话框中的相应的菜单按钮,均可进入签名密钥管理界面:

    在此界面你可以对签名密钥进行导入、导出、重命名、删除、转化保护方式等操作。

    MT管理器资源索引指南

    用两个例子来说明资源索引的过程和原理,下面 resources.arsc 统称 arsc 文件,classes.dex 统称 dex 文件。

    应用名称

    APK介绍中提到应用名称定义在 AndroidManifest.xml 文件中,其具体是在 application 标签的 label 属性中,但一般它的值只是一个资源 ID,而具体的值在 arsc 文件中。

    为什么不直接在这里填入字符串,而是用资源 ID 代替呢?因为一个资源 ID 可以对应多个值,具体使用哪个值则会根据系统环境进行选择。

    例如可以设置在中文环境使用「MT管理器」,在英文环境使用「MT Manager」,这样就实现了多国语言支持。

    布局文件

    在 dex 文件中,我们查看某个 Activity 的代码,一般它是通过 setContentView(ID) 来加载布局文件,我们同样可以用上面的办法通过这个 ID 拿到具体的值。

    不过我们通过这个 ID 在 arsc 文件中找到的值应该是像 res/layout/activity_main.xml 这样的路径,可以看出布局资源在 arsc 存储的只是文件路径,具体的内容我们还需要去 APK 中找到这个文件并打开。

    MT管理器Xml 编辑指南

    我们这边提到的 xml 并不是常见的文本格式的文件,而是在 APK 中的 xml 文件,它是二进制格式,直接打开会看到一堆乱码。

    当你使用 MT 打开一个 xml 文件时,它将会弹出打开方式菜单,你可以选择反编译或者字符常量池,字符常量池只能编辑 xml 中的字符串常量,这边不做过多说明,下面主要还是介绍反编译功能。

    虽然 xml 是二进制格式,但在开发时,开发者编写的仍然是文本格式,例如我们熟悉的 AndroidManifest.xml 文件。在编译打包成 APK 时,文本格式 xml 文件会经过 aapt 的编译优化,成为二进制格式,最后被打包到 APK 中。

    通过 MT 管理器的反编译,你可以将单个 xml 文件反编译成文本格式,并且支持修改后将它编译回去。(反编译 xml 是一个半收费功能,免费版限制了反编译速度、源码行数,无 ID 转名称,无自动补全)

    下面是某个 AndroidManifest.xml 文件的反编译结果:

    资源 ID 转名称(VIP 功能)

    从上图中可以看到几个 @7FXXXXXX 之类的值,在前面的资源索引有做过部分介绍。但在开发过程中,这些值是以 @style/AppTheme、@string/app_name 这样的形式出现的。

    如果你更喜欢这样,那么可以开启 ID 转名称,就可以得到如下的代码:

    开启 ID 转名称的前提是必须将一个 resources.arsc 文件和 xml 文件放在同一个目录下,因为 MT 要通过查询 arsc 文件才能把资源 ID 转成对应的名称。

    如果是在 APK 中打开 xml 文件则不需要手动放置 arsc 文件,MT 会自动把 xml 和 resources.arsc 一起解压。

    你只需要在右上角的菜单中勾选即可开启该功能。

    自动补全(VIP 功能)

    自动补全功能可以帮助你更快速地编辑代码:

    对于多个选项组合的值,也可以做到快速编辑:

    MT管理器Dex 编辑指南

    一个 Android 应用的绝大部分代码(使用 Java/Kotlin 编写)都会编译打包到 dex 文件中,通过 MT 强大的 Dex 编辑器++ 功能你可以将其反编译为 Smali 代码并进行修改。

    多 Dex 编辑

    打开 dex 文件,选择 Dex 编辑器++,如果同目录下还有其它 dex 文件,你将会看到以下对话框,可以选择将它们一起打开进行编辑:

    如果一次打开多个 dex 文件时出现了类名重复的情况,那么将根据 dex 文件名排序移除后面的类。

    例如 classes.dex 和 classes2.dex 中均包含了类 androidx.annotation.Keep,那么 classes2.dex 中的该类会被移除,并看到以下提示:

    Smali 编辑

    在浏览界面中点击一个类,即可进入它的 Smali 代码编辑界面:

    关于 Smali 的相关知识,可以在网上找到非常多的资料,这边不过多展开。

    代码导航

    在点击左上角的指南针图标可打开导航对话框,这里提供了当前代码中所有字段和方法的导航(也可以切换为字符串导航),直接点击可跳转到对应的代码位置,长按则可以弹出菜单进行相关操作。

    相关内容:关于重写方法

    代码跳转

    跳转到类

    选中一个类名,在弹出菜单中就会出现「跳转」,点击即可跳转到该类的 Smali 代码中。

    跳转到方法

    选中一个方法名,在弹出菜单中就会出现「跳转」,点击即可跳转到该方法的 Smali 代码处。

    跳转到字段

    选中一个字段名,在弹出菜单中就会出现「跳转」,点击即可跳转到该字段的 Smali 代码处。

    跳转到标签

    选中一个标签,在弹出菜单中就会出现「跳转」,点击即可看到该标签的定义和调用点。

    指令查询

    Smali 拥有两百多条指令,你可以点击右上角菜单的「指令查询」调用出查询窗口,查看各个指令的功能介绍和调用格式。如果当前光标所在行存在 Smali 指令,还会自动将其填入到搜索框,无需手动输入。

    寄存器分析与扩充

    Smali 是基于寄存器的语言,寄存器存放着运行时的各个变量值,在修改时若稍有不慎,错误覆盖了一个后续代码需要用到的寄存器的值,将会产生意想不到的错误。

    在修改 Smali 代码时,特别是在插入调用方法指令的情况下,经常需要借用几个寄存器来存放参数值,为了避免产生上面提到的错误,你可以使用 MT 的「寄存器分析」功能来查找出指定位置中可用寄存器。

    可用寄存器:你可以随意对其赋值,完全不会影响到下文的运行。

    只需要将光标放在需用插入指令的位置,然后点击右上角的笔图标,选择「寄存器分析」:

    MT 会通过控制流分析代码上下文,找出所有可使用的寄存器,以注释方式插入到代码中:

    有时会出现所有寄存器都被占用,找不到可用寄存器的情况,这时候就需要增加寄存器数量。

    寄存器数量在方法代码的开头以 .registers N 的形式指定,例如原先有 8 个寄存器,你需要额外使用 1 个寄存器,那就需要扩充为 9 个寄存器,即修改为 .registers 9,这样再使用「寄存器分析」就可以找到可用寄存器了。

    但是直接修改 .registers N 的方法仅在修改后的 N 不大于 16 的情况下推荐使用,因为有些指令只能使用 v0 .. v15 的寄存器,而修改 N 会导致参数寄存器变大,一旦参数寄存器超过 v15,又刚好被这些指令用到,将会导致编译失败。

    对于 N 大于 16 的情况,可以使用 MT 的「寄存器扩充」功能:

    反编译为 Java

    VIP 功能

    ● 点击右上角菜单的「转成 Java」即可将当前编辑的整个 Smali 代码反编译为 Java 代码;

    ● 在代码导航的方法长按菜单中点击「转成 Java」可将选中的方法单独反编译为 Java 代码。

    反编译后的 Java 代码仅供参考,无法修改!

    Java 是高级语言,Smali 是低级语言,Java 代码到 Smali 代码之间经过编译器优化,一些代码流程逻辑已无法使用 Java 代码来描述,只要代码逻辑复杂点,反编译出来的 Java 代码就可能会存在一些错误,甚至一些反编译器因为自身 bug 生成了逻辑完全相反的代码。

    因此反编译出来的 Java 代码只能参考,用于帮助你更快的理解 Smali 代码,而无法用于修改再转回 Smali 代码。

    切换引擎

    如果你觉得当前反编译出来的 Java 代码不理想,那么可以点击右上角菜单切换引擎,当前支持的反编译引擎有:

    ● Jadx

    ● Jadx (Simple)

    ● Jadx (Fallback)

    ● FernFlower

    ● JD-Core

    ● Procyon

    ● CFR

    一般推荐使用 Jadx,其次 FernFlower,如果都不理想再尝试其它的。

    Jadx (Simple) 和 Jadx (Fallback) 反编译出来的代码介于 Smali 代码与 Java 代码之间,比 Smali 可读性高,比 Java 错误少。

    重新反编译

    当你反编译为 Java 代码后再去修改 Smali 代码,前面的 Java 代码并不会随之刷新,你需要点击右上角菜单的「重新加载」,它会读取最新的 Smali 代码并进行反编译。

    搜索与替换

    Dex编辑器++ 支持搜索代码、类名、方法名、字段名、字符串、整数,可指定搜索路径、是否搜索子目录、是否区分大小写等,支持正则表达式,支持在当前搜索结果中搜索,支持撤销搜索。

    发起搜索的方式有两种,一是切换到搜索界面,直接点击对应选项,二是在浏览界面长按文件夹,点击弹出菜单中的搜索。

    搜索字符串和代码的区别

    字符串包含于代码。代码就是 Smali 代码,而字符串是 Smali 代码中的 “xxxxxx”,即引号中的那部分内容(经过反转义)。

    为什么搜不到内容?

    1.检查下「搜索子目录」是否没有勾选;

    2.正则表达式、完全匹配、区分大小写等选项是否正确勾选;

    3.搜索内容是否输入正确。

    如果以上都没有问题,那就是确实找不到你要搜索的内容了。

    替换

    要使用替换功能,需要先进行搜索,成功搜索到内容后,才可以看到「在当前结果中替换」按钮,替换功能的搜索类型仅支持代码与字符串。

    工程说明

    对于新打开的文件都会为其创建一个全新的临时工程,所有的工程数据(正在编辑的文件、历史记录、搜索记录等)都会在返回到主界面时被删除,当然你也可以选择将当前工程数据保存。

    点击左上角菜单的「保存为工程」,输入工程名字后即可:

    保存为工程后,你可以在主界面侧拉栏的工程分组中找到该工程并打开:

    还可以向右滑动展开菜单进行删除、重命名、打开工程目录的操作:

    临时工程与正式工程的主要区别

    ● 临时工程在编译时会覆盖原文件,正式工程则会将文件输出到工程目录;

    ● 临时工程退出时会删除所有数据,正式工程会保留数据并可以重新进入;

    ● 临时工程适合快速修改保存的场景,正式工程适合分析复杂文件的场景。

    补充说明

    关于重写方法

    在代码导航的方法长按菜单中,「查找调用处」与「查找重写方法」均和重写方法有关。

    重写方法的完整说法应该是重写父类中的方法,有 Java 开发经验的人肯定对 @Override 这个注解十分熟悉,其实它就是标注了这是一个重写方法,如果不是则编译器会报错。

    先让我们看看以下代码:

    其中 Child 重写了 Parent 的 run() 方法,再来看看以下代码:

    上面的 obj.run() 是会输出 I am parent 还是 I am child 呢?

    答案是都有可能:

    如果转到 Smali 代码的视角,那就是 invoke-virtual {v0}, Lparent;->run()V 不一定执行 parent.run() 方法,也可能执行 Child.run() 方法,主要就在于 v0 参数究竟是 Parent 的实例还是 Child 的实例。

    因此如果你看到了 invoke-virtual {v0}, Lparent;->run()V,然后跳转到 parent.run() 方法看了下代码,就觉得运行时会输出 I am parent,这显然是不对的,你还需要去它的重写方法 Child.run() 看看。

    而在方法的「查找调用处」功能中,如果选择了同时搜索此方法的重写方法的调用,假设你搜索的是 parent.run() 的调用处,那么 MT 还会同时搜索 Child.run() 方法的调用处,避免遗漏。

    关于旧版 Dex 编辑器

    在打开 dex 文件时除了 Dex 编辑器++ 外还有一个 Dex 编辑器,这是早期开发的功能,停更多年,技术已过时,除了特殊需求外,不再推荐使用,并且在未来版本中可能会将其移除。

    更新日志

    v2.18.2版本

    支持创建与解压 zstd、xz、lz4 格式的文件

    优化创建与解压 tar、gz、bzip 文件的性能

    文本对比器新增发送差异文本到另一边的功能

    最近文件功能支持记录进行过文件对比的文件

    Dex++ 导航功能中的长按菜单支持自定义隐藏

    APK 文件信息新增首次安装时间与最后更新时间

    修复一个导致 Arsc 翻译模式打开后报错的问题

    修复部分系统上文本编辑器打开文件直接出现报错的问题

    修复脚本执行器在退出时没有正确杀死所有脚本子进程的问题

    修复查看 Smali 流程图时如果跳转语句后面存在注释就会报错的问题

    优化视频播放器左右滑动快退快进的算法

    视频播放器在进入后台以及锁屏时将自动暂停

    音乐播放器如果未开启后台播放则在进入后台以及锁屏时自动暂停

    修复视频播放器在锁定状态下仍会触发双击和长按手势的问题

    修复播放某些音乐文件会导致 MT 出现闪退的问题

    修复音乐播放器不支持播放 MIDI 文件的问题

    修复图片浏览器一个导致闪退的问题

    详细信息

    其他软件

    换一换

    网友评论

    需要授予该应用的权限X
    获取网络状态
    获取网络信息状态,如当前的网络连接是否有效
    -------------------------------------
    获取WiFi状态
    获取当前WiFi接入的状态以及WLAN热点的信息
    -------------------------------------
    访问网络
    访问网络连接可能产生GPRS流量
    -------------------------------------
    修改声音设置
    修改声音设置信息
    -------------------------------------
    使用振动
    允许振动
    -------------------------------------
    唤醒锁定
    允许程序在手机屏幕关闭后后台进程仍然运行
    -------------------------------------
    写入外部存储
    允许程序写入外部存储,如SD卡上写文件
    -------------------------------------