Adkiller for LINE
LIME: Ad-killer for LINE
概要
This is an Xposed Module to clean LINE.
LINE を掃除する Xposed Module です。
使用方法
LINEアプリの ホーム > ⚙ から「設定」に入り、右上の「LIME」のボタンより開けます。また、Root ユーザーは LIME アプリから設定することも可能です。クローンアプリなどでは LIME 側からしか設定できない場合があるようです。画像を閲覧
また、トーク画面右上の ⁝ からスイッチをオンにすると未読のまま閲覧できます。(このスイッチは設定で削除可能です)
※返信すると未読が解除されてしまうのでご注意ください
画像を閲覧
機能
- 不要なボトムバーのアイコンの削除
- ボトムバーのアイコンのラベルの削除
- 広告・おすすめの削除
- サービスのラベルを削除
- ナビバーの色を黒に設定
- 通知の「通知をオフ」アクションを削除
- WebView を既定のブラウザで開く
- 常に既読をつけない
- グループの既読者を確認する
- 未読のまま閲覧
- 送信取り消しの拒否
- 常にミュートメッセージとして送信
- 非表示にしたチャットが再表示されないようにする
- トーク履歴の自動バックアップ (参考:https://github.com/areteruhiro/LIMEs/issues/10)
- トラッキング通信のブロック
noop, pushRecvReports, reportDeviceState, reportLocation, reportNetworkStatus をブロック
- 通信内容をログに出力
- 通信内容を改変
JavaScript で通信内容を改変する
設定の「リクエストを改変」、「レスポンスを改変」では、Rhino の JavaScript コードを記述することで自由に通信内容を改変できます。これを利用して新たな機能が実装可能なことを確認済みです (communicationmodificationsample.md)。
あらかじめ data という変数が用意されており、以下のプロパティが含まれます。
type:REQUESTまたはRESPONSEとなるEnum型name: 通信の名前value: 通信内容
data は、こちらのクラス のインスタンスで、「通信内容をログに出力」で確認できます。
getMember, setMember という関数があらかじめ用意されており、メンバ変数を取得・設定できます (. を使用するとメンバ変数ではなくメソッドのほうにアクセスしてしまう可能性があるので、これらの関数を使うほうが無難です)。
console.log(getMember(data.value, "a")); // メンバ変数 a の値を取得
setMember(data.value, "a", false); // メンバ変数 a を false に設定
また、console.log で XposedBridge にログを出力できます。エラーが発生した場合もここに出力されます。 リクエスト・レスポンスともに、JavaScript は他の処理より早く実行され、「通信内容にログを出力」は最後に実行されます。 Rhino の仕様、特に Java 文字列との比較に equals を用いる必要があることに注意してください。
インストール
初めに、以下のサイトの中から、 LINE と LIME の APK をダウンロードしてください。 バージョンは Releases に書いているものを参照してください。
[!IMPORTANT]
分割 APK は使用しないでください。
無理やり結合せず、必ずオリジナルのAPKを使ってください。
LINE
LIMERoot 端末 (Magisk)
- LSPosed for JingMatrix をインストール
- LINE アプリと LIME アプリを両方ともインストール
- Google Play ストアの自動アップデートを防ぐために、Update Locker や Hide My Applist で LINE アプリを指定する
- LSPosed のモジュールから LIME に移動し、モジュールの有効化 と LINE アプリにチェックを入れる
非 Root 端末
[!WARNING]
非 root 端末では、 以下の問題があります
- Google アカウント (ドライブ) を使用したトーク履歴の復元ができない
(この方法 でログインすれば可能)
- 発/着信音が鳴らない
疑似着信音の再現機能はあります
- 着信が入るとクラッシュ
- コインの購入が不可
- LINE Pay の一部の機能が使用不可
- Wear OS (スマートウォッチ)での使用不可
- LSPatch をインストール
- LSPatch アプリを開き、管理 > 右下の + > ストレージからapkを選択 > 先程ダウンロードした LINE の APK を選択 > 統合 → モジュールを埋め込む > インストールされているアプリを選択 > LIME にチェックを入れて + > パッチを開始 より、パッチを適用
[!TIP]
ディレクトリの選択と出てきた場合は、OK を押してファイルピッカーを起動し、任意のディレクトリ下にフォルダを作成し、このフォルダを使用 > 許可を押す
- Shizuku を使用している場合は インストール を押して続行する
[!IMPORTANT]
既に Playストア からインストールした LINE アプリがインストールされている場合は、署名が競合するため、最初にアンインストールを行ってください。
複数デバイスログイン
1. PC としてログインする
[!WARNING]
この方法は現在利用できません
方法を確認
PC (Windows) 版 LINE に偽装します。これにより PC 版 LINE は強制ログアウトされますが、使えない機能がある PC 版 LINE を Android 版 LINE に移すことができます。
※片方のデバイスが iOS の場合、Letter Sealing がうまくいかずメッセージを受信できない場合があるので、この方法 に従って Letter Sealing ガチャを行ってください。(キーはだれかとのチャットの右上の ☰ > 設定 > 暗号化キー から確認できます。)
- メリット:メッセージの同期に問題がない、LIME は片方の端末に入れるだけで良い、非 Root でも可能
- デメリット:3 端末以上でログインできない、2 端末目でサービスアイコンが表示されない
手順
- もう一つの端末に LINE と LIME をインストールする
- LINE ログイン画面で、「PC (DESKTOPWIN) に偽装」にチェックを入れる
- 設定 > アプリ > LINE より、LINE アプリの設定画面から「強制停止」と「ストレージとキャッシュ」の「キャッシュを削除」をタップ
- LINE アプリを再度開き、「Log in as secondary device」をタップしてログインする
- ログイン後、LINE の設定から「トークのバックアップ・復元」をタップし、2 週間より前のトークを復元する
2. Android ID を偽装する
この方法は両方のデバイスを Root 化している場合のみ可能です。- メリット:3 端末以上でもログイン可能・すべてのサービスを使用可能
- デメリット:メッセージの同期に遅れが生じる・Root 限定
手順
- LINE と LIME をインストールする
- LINE ログイン画面で、「複数デバイスログイン (Android ID を偽装)」にチェックを入れる
- 設定 > アプリ > LINE より、LINE アプリの設定画面から「強制停止」と「ストレージとキャッシュ」の「キャッシュを削除」をタップ
- LINE アプリを再度開き、ログインする
- ログイン後、Swift Backup を利用して LINE アプリをバックアップ (詳しくはこちら)
- Swift Backup のバックアップフォルダをもう一つの端末に移し、バックアップした LINE をインストール (詳しくはこちら)
- LINE アプリを開かずに先に LIME をインストールする
問題の報告
新たなバグや修正方法を見つけた場合は、報告をお願いします。
[!NOTE]
日本語がわかる場合は日本語で記述してください。