ThinkPHP5.1 と tufanbarisyildirim を上手に使って apk を素早く分析する

little bottle
リリース: 2023-04-06 07:58:01
転載
3133 人が閲覧しました

apk については、インストールするだけと言えますが、どのようなコンテンツを記録する必要があるかはわかりません。なぜなら、私はこの種のプロジェクトに携わったことがなく、オンラインで検索してもこの種の開発プロセスや要件を見つけることができないからです。この記事の主な内容は、ThinkPHP5.1 と tufanbarisyildirim を使用して APK を解析することです。興味のある友人は、それについて学びに来てください。

TP5 アップロードされたファイルを取得し、それを検証します

TP5 アップロードされたファイルを取得します。これは非常に単純であると言えます (型に注意してください)これは tp5 でカプセル化されたファイルです)


$file = $this->request->file('file');
ログイン後にコピー

この方法で、アップロードされたファイルを直接取得できます。これは非常に簡単です。

最初に、ファイルがアップロードされているかどうか、およびファイルが空であるかどうかを確認します。


if (false === ($file instanceof File)) {
  //文件为空,抛异常/业务处理}
ログイン後にコピー

次のステップはファイルの種類を確認することです。APK のメディア情報は実際には zip です。接尾辞名を判断に使用しないでください。若い頃は接尾辞を使って判断していました。

ベテラン ドライバーは、getMime メソッドを使用して、照合するファイルのメディアを取得することを提案しました。 (getMime は tp5 ファイルのカプセル化メソッドに属します)


if ('application/zip' !== $file->getMime()) {
  //文件类型错误,抛异常/业务处理}
ログイン後にコピー

tufanbarisyildirim

composer に参加


#
"require": {        "tufanbarisyildirim/php-apk-parser":"dev-master"
    }
ログイン後にコピー

次に、プロジェクト パスに移動してインストールします。composer がインストールされていない場合は、composer をインストールするか、インターネットから直接取得します。


composer install
ログイン後にコピー

パーサーは apk を解析します

パーサーは次の場所にありますApkParser ディレクトリ 以下では、インスタンス化するときに APK の完全なパス名を渡すだけで済みます。


$apkParser = new \ApkParser\Parser($file->getPathname());
ログイン後にコピー

以下のは、apk


$apkParser->getManifest()->getPackageName(); //获取apk包名
$apkParser->getManifest()->getVersionCode(); //获取apk版本号
$apkParser->getManifest()->getVersionName(); //获取apk版本名称

$apkParser->getManifest()->getMinSdk(); // 支持最低sdk的平台
$apkParser->getManifest()->getMinSdkLevel(); // 支持最低sdk的版本
$apkParser->getManifest()->getTargetSdk(); // 目标Sdk的平台
$apkParser->getManifest()->getTargetSdkLevel(); //目标sdk的版本

$labelIndex = $apkParser->getManifest()->getApplication()->getLabel(); //获取应用名称的索引
$apkParser->getResources($labelIndex); //获取应用名称的数组

$iconIndex = $apkParser->getManifest()->getApplication()->getIcon();//获取图标的索引
$icons = $apkParser->getResources($iconIndex); //获取图标路径的数组
file_put_contents('保存icon图标的全路径名', stream_get_contents($apkParser->getStream($icons[0]))); //把第1个图标转为流后保存到相应的目录
ログイン後にコピー

を取得するためのパラメータです。このコントロールを使用するときに、アプリケーション名の配列である問題が発生しました。対応する言語を知るにはどうすればよいですか?アプリケーション名は?アプリケーション名には簡体字中国語、繁体字中国語、英語などが含まれる場合があるためです。簡体字中国語でアプリケーション名を抽出するにはどうすればよいですか?

関連チュートリアル: PHP ビデオ チュートリアル

以上がThinkPHP5.1 と tufanbarisyildirim を上手に使って apk を素早く分析するの詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。

関連ラベル:
ソース:cnblogs.com
このウェブサイトの声明
この記事の内容はネチズンが自主的に寄稿したものであり、著作権は原著者に帰属します。このサイトは、それに相当する法的責任を負いません。盗作または侵害の疑いのあるコンテンツを見つけた場合は、admin@php.cn までご連絡ください。
人気のチュートリアル
詳細>
最新のダウンロード
詳細>
ウェブエフェクト
公式サイト
サイト素材
フロントエンドテンプレート