国際化を進行中、参加を歓迎します。
Androrat (Fork/サイレント版)
Android用リモート管理ツール
Androratは、クライアント側をJava Androidで、サーバー側をJava/Swingで開発されたクライアント/サーバーアプリケーションです。
Androratという名前は、AndroidとRAT (Remote Access Tool) を組み合わせたものです。
大学のプロジェクトとして4人のチームで開発されました。1か月で実装されました。このアプリケーションの目的は、Androidシステムをリモートで制御し、そこから情報を取得することです。
技術的な事項
- Androidアプリケーションは、すべての接続を受信するサーバーに対するクライアントです。
- Androidアプリケーションは、起動時に開始されるサービス(アクティビティではなく)として実行されます。そのため、ユーザーはサービスを操作する必要はありません(接続先のIPとポートを設定できるデバッグ用アクティビティはありますが)。
- サーバーへの接続は、SMSまたは通話によってトリガーできます(設定可能)。
利用可能な機能は以下のとおりです
- 連絡先を取得(およびそのすべての情報)
- 通話履歴を取得
- すべてのメッセージを取得
- GPS/ネットワークによる位置情報の取得
- 受信メッセージのリアルタイム監視
- 電話の状態をリアルタイムで監視(着信、発信、不在着信など)
- カメラで写真を撮影
- マイク(または他のソース)から音声をストリーミング
- ビデオのストリーミング(アクティビティベースのクライアントのみ)
- トーストを表示
- テキストメッセージを送信
- 電話をかける
- デフォルトのブラウザでURLを開く
- 電話を振動させる
フォルダ
プロジェクトには以下のフォルダが含まれています:
- doc: まもなくプロジェクトに関するすべてのドキュメントが含まれる予定です
- Experiment: ビデオをストリーミングできるアクティビティを中心としたクライアントの実験的バージョンが含まれています
- src/Androrat: Androidプラットフォームに配置するクライアントのソースコードが含まれています
- src/AndroratServer: 任意のプラットフォームで実行できるJava/Swingサーバーのソースが含まれています
- src/api: プロジェクトで使用されるさまざまなAPIが含まれています(地図用のJMapViewer、Swing用のforms、ビデオストリーミング用のvlcj)
- src/InOut: クライアントとサーバーに共通するコンテンツのコードが含まれており、基本的にはプロトコルの実装です
スクリーンショット
メインGUI
これは、接続中のすべてのクライアントが表示されるメインGUIです。新しいクライアントが接続または切断されると、リストは動的に更新されます。さらに、すべての接続のログと全体的な情報が、ウィンドウ下部のログパネルに表示されます。クライアントをダブルクリックするだけで、そのクライアントのウィンドウが開き、操作できます。

クライアントパネル
クライアントに対するすべての操作は、タブで構成されたクライアントウィンドウで行えます。デフォルトのタブはHomeと呼ばれ、さまざまな機能を提供します。まず、左側のスクロールビューには、SIM情報、バッテリー情報、ネットワーク情報、センサー情報など、クライアントに関するすべての情報が表示されます。右側には、接続先のIPとポート、サーバー接続のトリガーを待つかどうかなど、クライアントの設定をリモートで変更できるオプションがあります。最後に、このタブではトーストメッセージの表示、電話の振動、URLのオープンなどのクイックアクションを実行できます。

その他のタブ
以下の2つのスクリーンショットは、それぞれ連絡先の取得と位置情報の取得という2つの機能に対応する2つのタブを示しています。連絡先取得パネルでは、左側のリストにすべての連絡先の名前、電話番号、および可能であれば写真が表示されます。さらに右側には、選択した連絡先の詳細情報を取得してSMSを送信したり電話をかけたりするための3つのボタンがあります。位置情報の場合、GPSまたはGoogleを使用して位置を特定するネットワークのどちらかをプロバイダーとして選択できます。そしてストリーミングを開始すると、データを受信した時点で地図が更新されます。


使用上の注意
- このプロジェクトをコンパイルするには、Android SDKとEclipseが必要です。
- Command & ControlアプリケーションはクロスプラットフォームのJavaであり、OSX、Linux、Windowsで正常にテストされています。
- APKをコンパイルする前に、/src/Androrat/src/my/app/client/LauncherActivity.javaを編集する必要があります。
- ここにリスナーのIPとポートをハードコードします。IPまたはDNSのようなドメイン名を使用できます。
- 一部のモバイルデバイスでは、バッテリーの消耗が速くなります。この点に注意してください。
注:私はこのソフトウェアの作者ではありません。フォークして少し編集したものです。バグを修正するために随時変更を加えるかもしれませんが、私は本質的にJavaプログラマーではなく、テスト用に自分のためにここに置いているだけです。