ITエンジニア見習いのメモブログ

とあるヘッポコエンジニアのメモブログとなります

【Java】Stringの数をintに変換する

【結論】

intで表現できる範囲に注意しつつ以下で実行

//Stringの数字文字列をintの数字に変換する
public static int[] arrayStringToInt(String[] stringArray){
int[] intArray = new int[stringArray.length];
for(int i = 0; i < stringArray.length; i++){
intArray[i] = Integer.parseInt(stringArray[i]);
}
return intArray;
}

 

 

【Android】端末に流れるパケットをtcpdumpで取得する

結構昔にAndroid端末にてGCMのポート(5228,5229,5230)から

パケットが流れて来ているかを知る必要があったため、以下のサイトを参考にしてtcpdumpを取った時のメモを残します。

https://kagasu.hatenablog.com/entry/20160607/1465289215

※もうGCMは利用できないですが、FCMでも上記ポートを利用しています

https://firebase.google.com/docs/cloud-messaging/concept-options?hl=ja

 

1. 以下のサイトよりtcpdumpのバイナリを取得する

https://www.androidtcpdump.com/android-tcpdump/downloads

2. 以下のコマンドにより調査対象Android端末内にtcpdumpを配置する

※以下私がwindowsだったので、windowsでの方法

コマンドプロンプトにて

adb push tcpdump /data/local/tmp

adb shell

Android端末内にて

chmod 755 /data/local/tmp/tcpdump

3. 以下のコマンド実行によりパケットキャプチャを開始

adb shell /data/local/tmp/tcpdump -s 0 -v -w /data/local/tmp/tcpdump-capture.txt

→ -s:キャプチャするサイズ指定する。0だと指定無しとなる

     -v:TTLやサービス種別などの詳細情報を表示する(vを増やす毎に表示される情報が増えるそうです)

     -w :直後に記述したファイルにキャプチャ結果を書き出す

4. キャプチャをCtrl + c 等により中止し、取得したキャプチャファイルをPCにダウンロードする

adb pull /data/local/tmp/tcpdump-capture.txt C:\Users

5. Wiresharkにて取得したファイルを解析する

【Android】versionNameとversionCode情報をapkから取得する

apkしか手元にない状態でどうしてもversionNameとversionCodeを知る必要があったのでメモ。Androidmanifest.xmlをapkファイルから取得して、そこからversionNameとversionCodeを取得します。

 

方法 aaptコマンドを利用する

(aaptコマンドは/sdk/build-tools/sdkバージョン以下に存在します)

 

aapt dump xmltree [apk名] AndroidManifest.xml > [出力テキストファイル名]

 

以上です。 

【adb】アプリのバージョンコードを確認する

前提:端末にアプリがインストールされている

           adbコマンドが使用可能である

 

1. 以下のコマンドでインストールされているアプリのパッケージ名を取得する

adb shell pm list package

 

2. 以下のコマンドで対象パッケージのバージョンコード情報等を確認する

※ バージョンコードだけではなく、バージョンネームや対象sdk等の情報も取得できます。

adb shell dumpsys package <対象パッケージ名>

【コマンドプロンプト】ファイルのハッシュ値で同一かを判断する

certutilコマンド(Windows Vista/Windows Server2008以降標準付属)を利用して比較する

〇 SHA-1ハッシュ値を求める場合

certutil -hashfile <ファイル名>

〇 その他ハッシュ値の場合

certutil -hashfile <ファイル名> <アルゴリズム名>

アルゴリズム名>=「MD2/MD4/MD5SHA1/SHA256/SHA384/SHA512」のいずれか

 

以上で取得されたハッシュ値を比較し一致すれば、

ファイルが同一と判断することが出来る。