叽哩叽哩游戏网ACG(G站)

AbemaTV-无料インターネットテレビ局 附:破解教程(支持部分日系锁区限制软件)

手机软件, 软件目录 笋干 1

 


注:仅破解区域限制,观看还需挂日本IP梯子 ,在此不提供梯子。

AbemaTV-无料インターネットテレビ局”是一个日本网络电视台“アベマTV”出的视频 App,里面不少节目和视频都是免费的。

但是我安装后发现这个 App 有区域限制,启动时全屏显示 “このサービスはお住まいの地域からはご利用になれません。”提示,无法继续(已经用了日本IP的shadowsocks)。

简单地尝试下破解了这个 App 的区域限制。步骤如下:

1. 从 apkpure 下载 AbemaTV app 最新版的 apk

2. 用 apktool 这个工具解包下载的 apk. apktool 是一个 java 包,需要安装 Java 运行。

java -jar apktool_2.2.4.jar d “AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com.apk”

3. 解包后的文件在当前目录下 “AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com/” 文件夹。其中,res/ 是资源文件,smali/ 和 smali_classes2/ 是 java 源码编译后的 smali 文件。这个 app 好像没怎么加密什么的。

在整个目录里搜索 “このサービスはお住まいの地域からはご利用になれません。” 字符串,找到:

<string name=”error_abroad_description”>このサービスはお住まいの地域からはご利用になれません。</string>

搜索 error_abroad_description,找到:res/values/public.xml:
<public type=”string” name=”error_abroad_description” id=”0x7f0a0114″ />

搜索 0x7f0a0114,找到 smali_classes2tvabemacomponentsfragmenta.smali:

.class public Ltv/abema/components/fragment/a;
.super Ltv/abema/components/fragment/u;
.source “AbroadFragment.java”

const v1, 0x7f0a0114
invoke-virtual {v0, v1}, Landroid/widget/TextView;->setText(I)V

可以看到,这是一个 Fragment 类编译成的 smali 文件,当 app 检测到当前设备是日本以外区域(检测方法未知,可能是检测手机sim卡运营商信息)时就在当前 activity 上加载这个全屏 fragment 以阻止使用,所以最简单的破解方法就是把这个“创建并显示 Fragment”部分代码去掉。

搜索 “Ltv/abema/components/fragment/a”,找到:
smalitvabemaajk.smali

.line 202
const-class v0, Ltv/abema/components/fragment/a;
invoke-virtual {p0, v0}, Ltv/abema/a/jk;->I(Ljava/lang/Class;)V

看起来就是这里了,将这几行用 “#” 注释掉。

4. 最后,用 apktool 重新打包修改后文件生成 apk,参数就是之前解包apk文件所在目录

java -jar apktool_2.2.4.jar b “AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com”

生成的 apk 在 AbemaTV 无料インターネットテレビ局_v3.5.1_apkpure.com/dist 文件夹下。

生成的 apk 是未签名的,无法直接安装。可以手工用 java bin目录下 keytool 工具生成密钥,jarsigner 工具给 apk 签名。(具体过程网上资料很多);也可以用直接用 apk-signer 这个图形化工具来进行

最后在手机上安装生成的 AbemaTV_v3.5.1_SIGNED_UNALIGNED.apk 即可,实测能够正常进入主界面并观看视频,搞定。

修改 app 包后无法使用 Google Play IAP 内购功能。最完美的破解 root 检测方法仍然是安装 XPosed + rootcloak

类似方法解除 Hulu 日本Android app的 root检测:

由错误提示“OSの整合性チェックに失败しました。Root権限を取得している场合、起动できません。”跟踪找到某个Fragment:


const-string v2, “su”

invoke-virtual {v1, v2}, Ljava/lang/Runtime;->exec(Ljava/lang/String;)Ljava/lang/Process;
:try_end_0
.catch Ljava/io/IOException; {:try_start_0 .. :try_end_0} :catch_0
.catchall {:try_start_0 .. :try_end_0} :catchall_0

move-result-object v0

const v1, 0x7f0900e8

这里通过运行 su 检测是否有异常来判断机器是否已 root,所以最简单的移除方法就是把 “su” 随便改成个不存在对应命令的名字。

如果App是通过检测sim卡运营商限制区域的,那么应该可以通过改手机运营商代码来骗过(需要root),这样就不需要改apk了。日本主要移动ISP的运营商代码
docomo:4401020
softbank: 4402081
au: 4540492, 4405014

版权所有 © 叽哩叽哩 本站不提供任何视听上传与资源下载服务,所有内容均来自网络资源分享站点所提供的公开引用资源 |内容违规侵权投诉邮箱: jiligamefun@gmail.com 资源来自网络,如有侵权24小时内删除 |2021 |
特别感谢Carseason为本站设计CSS样式