Files
spy_hunter/modules/__pycache__/deep_scan.cpython-313.pyc

125 lines
17 KiB
Plaintext
Raw Normal View History

2026-03-13 12:59:54 -07:00
<EFBFBD>
<00>JWh<57>9<00><00>~<00>SSKrSSKrSSKrSSKrSSKrSSKJr SSKJr SSKJ r SSK
J r Sr SSKrSr\R$R'\R("5S
5r\R$R'\R("5S 5r\R$R'\R("5S 5r\R$R'\S 5rSrSrSrS!SjrS\S\4Sjr1Skr Sr!Sr"Sr#Sr$Sr%Sr&Sr'Sr(Sr)Sr*S r+g!\ \4a \"S5 Sr N<>f=f!\ a \"S 5 SrGNf=f)"<22>N)<01>datetime)<01>APK)<01>DalvikVMFormat)<01>AnalysisTzA[WARN] Androguard not available; heuristic scans will be skipped.Fz>[WARN] YARA not available; signature scanning will be skipped.<2E> pulled_apks<6B>
signatures<EFBFBD>logszaction_log.txtc<00><00>[R"[SS9 [R"/SQSSSS9n/nURR5H<>nURS5(dMU[S5SRSS 5upEUR5nUR5nURS
S 5S -n[RR[U5n [ S USUS35 [R"SSXi/SS9 UR!U 5 M<> U$![R
an[ SU35 /sSnA$SnAff=f!["an[ SUSU35 SnAGM)SnAff=f)zu
Discover installed APKs via ADB and pull them locally for analysis.
Returns a list of filepaths to the pulled APKs.
T<EFBFBD><01>exist_ok)<06>adb<64>shell<6C>pm<70>list<73>packagesz-f)<03>capture_output<75>text<78>checkz![ERROR] Failed to list packages: Nzpackage:<3A>=<3D><00>.<2E>_z.apkz[INFO] Pulling z from <20>...r <00>pull<6C>rz[WARN] Could not pull 'z': )<12>os<6F>makedirs<72> APK_PULL_DIR<49>
subprocess<EFBFBD>run<75>CalledProcessError<6F>print<6E>stdout<75>
splitlines<EFBFBD>
startswith<EFBFBD>len<65>split<69>strip<69>replace<63>path<74>join<69>append<6E> Exception)
<EFBFBD>proc<6F>e<> apk_paths<68>line<6E>left<66>pkg<6B> remote_path<74> package_name<6D>
local_name<EFBFBD>
local_paths
<20>=C:\Users\mdavi\PycharmProjects\SpyHunter\modules\deep_scan.py<70>get_installed_apksr9,s^<00><00>
<07>K<EFBFBD>K<EFBFBD> <0C>t<EFBFBD>,<2C><12><19>~<7E>~<7E> <<3C><1F>d<EFBFBD>$<24>
<EFBFBD><04><13>I<EFBFBD><14> <0B> <0B>&<26>&<26>(<28><04><13><EFBFBD><EFBFBD>z<EFBFBD>*<2A>*<2A> <14> :<3A><1C>S<EFBFBD><1A>_<EFBFBD>-<2D>.<2E>4<>4<>S<EFBFBD>!<21><<3C>I<EFBFBD>D<EFBFBD><1E>*<2A>*<2A>,<2C>K<EFBFBD><1E>9<EFBFBD>9<EFBFBD>;<3B>L<EFBFBD>%<25>-<2D>-<2D>c<EFBFBD>3<EFBFBD>7<>&<26>@<40>J<EFBFBD><1B><17><17><1C><1C>l<EFBFBD>J<EFBFBD>?<3F>J<EFBFBD> <11>O<EFBFBD>L<EFBFBD>><3E><16> <0B>}<7D>C<EFBFBD>H<> I<> <16>N<EFBFBD>N<EFBFBD>E<EFBFBD>6<EFBFBD>;<3B>C<>4<EFBFBD> P<> <15> <1C> <1C>Z<EFBFBD> (<28>)<29>" <15><14><>- <16> (<28> (<28><12> <0A>1<>!<21><13>5<>6<><11> <09><><12><>&<19> :<3A> <11>+<2B>D<EFBFBD>6<EFBFBD><13>Q<EFBFBD>C<EFBFBD>8<> 9<> 9<><39> :<3A>s6<00>D&<00>,B4E<02>&E<03>:E<03> E<03>E<03>
E><05>!E9<05>9E>c <00><00>Sn[(a<>[RR[5(a<>[R
"[5Vs/sH?nUR S5(dM[RR[U5PMA nnU(aD[R"UVs0sH#n[RRU5U_M% snS9n/nUH<>n[RRU5n[US5n[R"UR!55R#5nSSS5 Sn [$(a['U5n
U
R)5n /n U(a7UR+U5n U (aU V s/sHo<>R,PM sn O/n UR/UU WUU S .5 M<> U$s snfs snf![an[SU35 SnAGNSnAff=f!,(df  N<>=f![an[SUSU35 SnSnAN<>SnAff=f![a N<>f=fs sn f![an[SUSU35 SnAN<>SnAff=f)
z<EFBFBD>
Scan each APK with optional YARA rules.
Returns list of dicts:
{
app_name: str,
package: str or None,
sha256: str or None,
apk_path: str,
yara_matches: List[str]
}
N)z.yarz.yara)<01> filepathsz&[ERROR] Failed to compile YARA rules: <20>rbz[WARN] Could not hash <20>: zARN] YARA scan error for )<05>app_name<6D>package<67>sha256<35>apk_path<74> yara_matches)<18>YARA_AVAILABLErr*<00>isdir<69>SIGNATURES_DIR<49>listdir<69>endswithr+<00>yara<72>compile<6C>basenamer-r"<00>open<65>hashlibr@<00>read<61> hexdigest<73>ANDROGUARD_AVAILABLEr<00> get_package<67>match<63>ruler,)r0<00>rules<65>f<>filesr/<00>resultsr*r>r@r?<00>arB<00>matches<65>ms r8<00>signature_scanrZRs.<00><00> <11>E<EFBFBD><15>~<7E>"<22>'<27>'<27>-<2D>-<2D><0E>7<>7<><18>Z<EFBFBD>Z<EFBFBD><0E>/<2F>
<EFBFBD>/<2F><01><10>z<EFBFBD>z<EFBFBD>+<2B>,<2C> ,<2C>B<EFBFBD>G<EFBFBD>G<EFBFBD>L<EFBFBD>L<EFBFBD><1E><11> +<2B>/<2F> <0E>
<EFBFBD>
<11> D<01><1C> <0C> <0C>PU<50>/V<>PU<50>1<EFBFBD><02><07><07>0@<40>0@<40><11>0C<30>Q<EFBFBD>0F<30>PU<50>/V<>W<><05><11>G<EFBFBD><19><04><15>7<EFBFBD>7<EFBFBD>#<23>#<23>D<EFBFBD>)<29><08> <1A><15>d<EFBFBD>D<EFBFBD>!<21>Q<EFBFBD> <20><1E><1E><01><06><06><08>1<>;<3B>;<3B>=<3D><06>"<22><17><07> <1F> <1F> <15><17><04>I<EFBFBD><01><1B>-<2D>-<2D>/<2F><07>
<1A> <0C> <10> A<01><1F>+<2B>+<2B>d<EFBFBD>+<2B><07><C<><07>8<><07>1<EFBFBD><06><06><07>8<><12> <0C> <10><0E><0E>#<23>"<22>!<21><1F>(<28> 
<EFBFBD> <0B>9<1A>H <13>N<EFBFBD><4E>a
<EFBFBD><EFBFBD>0W<01><><1C> D<01><15>><3E>q<EFBFBD>c<EFBFBD>B<>C<>C<><43> D<01><>"<22>!<21><><18> <1A> <11>*<2A>4<EFBFBD>&<26><02>1<EFBFBD>#<23>6<> 7<><19>F<EFBFBD><46> <1A><><1D> <15><14> <15><> 9<><39><1C> A<01><15>3<>D<EFBFBD>6<EFBFBD><12>A<EFBFBD>3<EFBFBD>?<3F>@<40>@<40><> A<01>s<EFBFBD><00>G<04>0(G<04>"G#<00>6*G<08> G#<00> H<02>3H <05> H<02>!I<02>I<02>"I<06>7I<02>G#<00>#
H<03>-H<03>H<03>
H <09>H<02>H<02>
I<05>$H<<05><I<05>
I<05>I<05>I<02>
I><05>#I9<05>9I>c<00>6<00>[R"[SS9 g)NTr )rr<00>LOG_DIR<49><00>r8<00>ensure_log_dirr_<00>s<00><00><06>K<EFBFBD>K<EFBFBD><07>$<24>'r^c<00><00>[5 [R"5RS5n[ [
SSS9nUR SUSUR5SUSUSUS3 5 S S S 5 g !,(df  g =f)
z4
Append a timestamped action entry to the log file.
z%Y-%m-%d %H:%M:%SrWzutf-8)<01>encoding<6E>[z] z | <20>
N)r_r<00>now<6F>strftimerK<00>LOG_FILE<4C>write<74>upper)<06>actionr?<00>status<75>message<67>tsrTs r8<00>
log_actionrm<00>so<00><00><13><14> <11><1C><1C><1E> <20> <20>!4<> 5<>B<EFBFBD> <0A>h<EFBFBD><03>g<EFBFBD> .<2E>!<21> <09><07><07>!<21>B<EFBFBD>4<EFBFBD>r<EFBFBD>&<26>,<2C>,<2C>.<2E>)<29><13>W<EFBFBD>I<EFBFBD>S<EFBFBD><16><08><03>G<EFBFBD>9<EFBFBD>B<EFBFBD>O<>P<>
/<2F> .<2E> .<2E>s <00>0A7<03>7
Br@<00>returnc<00><><00>[R"SSUS.SS9nUR=(a( [UR 5R S55$![ an[SU35 SnAg SnAff=f)
z>
Return True if abuse.ch confirms this hash, False otherwise.
zhttps://mb-api.abuse.ch/api/v1/<2F>get_info)<02>query<72>hash<73>
)<02>data<74>timeoutrtz[ERROR] abuse.ch query failed: NF)<08>requests<74>post<73>ok<6F>bool<6F>json<6F>getr-r")r@<00>respr/s r8<00>query_abuse_chr}<00>sk<00><00> <15><17>}<7D>}<7D> -<2D>%<25>v<EFBFBD>6<><16>
<EFBFBD><04>
<14>w<EFBFBD>w<EFBFBD>8<>4<EFBFBD><04> <09> <09> <0B><0F><0F><06> 7<>8<>8<><38> <14><15> <0A>/<2F><01>s<EFBFBD>3<>4<><14><><15>s<00>AA<00>
A8<03> A3<03>3A8><00>android.permission.CAMERA<52>android.permission.READ_SMS<4D>android.permission.RECORD_AUDIO<49> android.permission.READ_CONTACTS<54>'android.permission.ACCESS_FINE_LOCATION)<04>tracker<65>spy<70>monitor<6F>surveilc<00><>^
<EFBFBD>[(d/$/nUGH*n[U5n[UR55nU[-nU(a(UR USSR U53S.5 MaUR5UR5-H>m
[U
4Sj[55(dM#UR UST
3S.5 [e [UR55nUR5H9nUR5nSU;dSU;dM!UR USS.5 [e GM- U$![a GM?[ an [#S US
U 35 S n A GM`S n A ff=f) z<>
Perform heuristic analysis on each APK.
Returns list of dicts: { apk_path, reason }.
Skipped entirely if Androguard is unavailable.
zSuspicious perms: z, )rA<00>reasonc3<00>H># <00>UHoTR5;v<00> M g7f<01>N)<01>lower)<03>.0<EFBFBD>k<>comps <20>r8<00> <genexpr><3E>"heuristics_scan.<locals>.<genexpr><3E>s<00><><00><00>P<>2O<32>Q<EFBFBD>D<EFBFBD>J<EFBFBD>J<EFBFBD>L<EFBFBD>(<28>2O<32>s<00>"zSuspicious component: zforName(z loadLibrary(zUses reflection/dynamic loadz[WARN] Heuristic error on r=N)rOr<00>set<65>get_permissions<6E>SUSPICIOUS_PERMSr,r+<00> get_services<65> get_receivers<72>any<6E>SUSPICIOUS_COMPONENT_KEYWORDS<44> StopIterationr<00>get_dex<65> get_methods<64>
get_sourcer-r") r0<00>hitsr*rW<00>perms<6D>bad<61>dex<65>method<6F>srcr/r<>s @r8<00>heuristics_scanr<6E><00>sl<00><><00> <20> <1F><11> <09> <0A>D<EFBFBD><19><04> <<3C><13>D<EFBFBD> <09>A<EFBFBD><17><01>)<29>)<29>+<2B>,<2C>E<EFBFBD><17>*<2A>*<2A>C<EFBFBD><12><14> <0B> <0B> $<24> 2<>4<EFBFBD>9<EFBFBD>9<EFBFBD>S<EFBFBD>><3E>2B<32>C<><12><13><19><19><0E><0E>(<28>1<EFBFBD>?<3F>?<3F>+<<3C><<3C><04><16>P<>2O<32>P<>P<>P<><18>K<EFBFBD>K<EFBFBD>$(<28>$:<3A>4<EFBFBD>&<26>"A<>!<16><17>(<28>'<27> =<3D>!<21><11><19><19><1B>-<2D>C<EFBFBD><1D>/<2F>/<2F>+<2B><06><1C>'<27>'<27>)<29><03><1D><13>$<24><0E>#<23>(=<3D><18>K<EFBFBD>K<EFBFBD>$(<28>"@<40>!<16><17>(<28>'<27>,<2C>+<1A>F <10>K<EFBFBD><4B> <1D> <15> <14><18> <<3C> <11>.<2E>t<EFBFBD>f<EFBFBD>B<EFBFBD>q<EFBFBD>c<EFBFBD>:<3A> ;<3B> ;<3B><> <<3C>s2<00>AE<02>4AE<02>8A%E<02>!E<02>
E8<05> E8<05>E3<05>3E8c<00><><00>[SUR5SUS35 [S5R5R 5S:wag[
R "SS/SS 9 [S
5 [5 US :Xa SS S SSSU/OSSU/n[
R "USS 9 [SUSUS35 [XS5 g![
Ra! [SUSUS35 [XS5 gf=f)Nz
[NOTE] z failed for rz Reboot device and retry? [y/N]: <20>yr <00>rebootTrz;[INFO] Rebooting... press Enter once device is back online.<2E>freezerr<00> disable-user<65>--user<65>0<> uninstallz[SUCCESS] Retry z succeeded for <20>success_after_rebootz[FAIL] Still unable to <20> <20>final_fail_after_reboot) r"<00>title<6C>inputr(r<>rr rmr!)r3ri<00>cmds r8<00>prompt_reboot_and_retryr<79><00>s<00><00> <09>I<EFBFBD>f<EFBFBD>l<EFBFBD>l<EFBFBD>n<EFBFBD>%<25>\<5C>#<23><15>a<EFBFBD>
8<EFBFBD>9<> <0C> /<2F>0<>6<>6<>8<>><3E>><3E>@<40>C<EFBFBD>G<><0E>;<3B><12><0E><0E><05>x<EFBFBD>(<28><04>5<> <0A>K<>L<> <0A><07><16><18>!<21><13>7<EFBFBD>4<EFBFBD><0E>x<EFBFBD><03>C<EFBFBD> @<40><17> <0B>C<EFBFBD>(<28> <0C>
<13><0E><0E>s<EFBFBD>$<24>'<27> <0A> <20><16><08><0F><03>u<EFBFBD>A<EFBFBD>><3E>?<3F><12>6<EFBFBD> 6<>7<><37> <15> (<28> (<28>;<3B> <0A>'<27><06>x<EFBFBD>q<EFBFBD><13><05>Q<EFBFBD>7<>8<><12>6<EFBFBD> 9<>:<3A>;<3B>s<00>A3C<00>2C7<03>6C7c
<00><><00>URS5nU(d [S5 g[SUS35 [S5H<n[R"SSSS S
S U/S S 9 [SUS35 [ SUS5 g [SUS35 [ SUSS5 [US5 g![R a, [SUS-S35 [R"S5 M<>f=f)Nr?<00>[ERROR] No package name.z[INFO] Freezing r<00>r rrr<>r<>r<>Tr<00>
[SUCCESS] z frozen.r<><00>success<73>[WARN] Attempt r<00> failed.z[FAIL] Could not freeze r<00>fail<69>
3 attempts<74>
r{r"<00>rangerr rmr!<00>time<6D>sleepr<70><00><03>infor3<00>attempts r8<00>freeze_single_apkr<6B>s<><00><00>
<0E>(<28>(<28>9<EFBFBD>
<1D>C<EFBFBD> <0E> <0A>(<28>)<29><0E> <09> <1C>S<EFBFBD>E<EFBFBD><13>
%<25>&<26><18><11>8<EFBFBD><07>
<1A> <16>N<EFBFBD>N<EFBFBD><16>w<EFBFBD>t<EFBFBD>N<EFBFBD>8<EFBFBD>C<EFBFBD><03>D<><1A> <0E> <12>J<EFBFBD>s<EFBFBD>e<EFBFBD>8<EFBFBD>,<2C> -<2D> <16>x<EFBFBD><13>i<EFBFBD> 0<> <12><1C>
<EFBFBD> $<24>S<EFBFBD>E<EFBFBD><11>
+<2B>,<2C><0E>x<EFBFBD><13>f<EFBFBD>l<EFBFBD>3<><1B>C<EFBFBD><18>*<2A><> <1A>,<2C>,<2C> <1A> <11>O<EFBFBD>G<EFBFBD>A<EFBFBD>I<EFBFBD>;<3B>h<EFBFBD>7<> 8<> <10>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD> <1A>s<00>8B)<02>)<C)<05>(C)c<00><><00>URS5nU(d [S5 g[SUS35 [S5H8n[R"SSU/SS 9 [S
US 35 [ SUS 5 g [SUS35 [ SUSS5 [US5 g![R a, [S US-S35 [R"S5 M<>f=f)Nr?r<>z[INFO] Uninstalling rr<>r r<>Trr<>z uninstalled.r<>r<>rr<>zAIL] Could not uninstall rr<>r<>r<>r<>s r8<00>uninstall_single_apkr<6B>s<><00><00>
<0E>(<28>(<28>9<EFBFBD>
<1D>C<EFBFBD> <0E> <0A>(<28>)<29><0E> <09> <20><13><05>S<EFBFBD>
)<29>*<2A><18><11>8<EFBFBD><07> <1A> <16>N<EFBFBD>N<EFBFBD>E<EFBFBD>+<2B>c<EFBFBD>2<>$<24> ?<3F> <11>J<EFBFBD>s<EFBFBD>e<EFBFBD>=<3D>1<> 2<> <16>{<7B>C<EFBFBD><19> 3<> <12> <1C>
<EFBFBD> '<27><03>u<EFBFBD>A<EFBFBD>
.<2E>/<2F><0E>{<7B>C<EFBFBD><16><1C>6<><1B>C<EFBFBD><1B>-<2D><> <1A>,<2C>,<2C> <1A> <11>O<EFBFBD>G<EFBFBD>A<EFBFBD>I<EFBFBD>;<3B>h<EFBFBD>7<> 8<> <10>J<EFBFBD>J<EFBFBD>q<EFBFBD>M<EFBFBD> <1A>s<00>4B%<02>%<C%<05>$C%c<00>,<00>UHn[U5 M gr<>)r<><00>rV<00>apps r8<00> freeze_apksr<73>4s<00><00><16><03><19>#<23><1E>r^c<00>,<00>UHn[U5 M gr<>)r<>r<>s r8<00>uninstall_apksr<73>8s<00><00><16><03><1C>S<EFBFBD>!<21>r^c<00><><00>[S5 UR5Hup[USU35 M URS5nU(a([S5 [[U5(aSOS5 [ S5R 5R 5nUS:Xa [U5 OUS :Xa [U5 OUS
:XagMT) Nz
--- App Details ---r=r@u
Querying abuse.ch…z[ALERT] Confirmedz[WARNING] Not foundz'[a] Freeze | [u] Uninstall | [b] Back: rW<00>u<>b) r"<00>itemsr{r}r<>r(r<>r<>r<>)<05>rr<72><00>v<>shar<61>s r8<00>show_result_detailr<6C>?s<><00><00> <09>
!<21>"<22><11><07><07> <09><04><01> <0A><11><03>2<EFBFBD>a<EFBFBD>S<EFBFBD>k<EFBFBD><1A><1A>
<0B>%<25>%<25><08>/<2F>C<EFBFBD>
<EFBFBD> <0A>&<26>'<27> <0A>^<5E>C<EFBFBD>%8<>%8<>!<21>(<28> *<2A>
<0E><13>=<3D>><3E>D<>D<>F<>L<>L<>N<><03> <0E>#<23>:<3A> <1D>a<EFBFBD> <20> <10>C<EFBFBD>Z<EFBFBD> <20><11> #<23> <10>C<EFBFBD>Z<EFBFBD> <11> r^c <00><><00>Sup[U5nX!-US-U-pT[SUS-SUS-
U-S-S35 [SRSSS S
55 [XUUS-5HYupgUR S 5(aS OS n[USUR SS5SSSUR SS5SUS35 M[ [ S5R 5R5n U S:Xa XS:aUS- nObU S:Xa US:<3A>aUS-nOPU R5(a4S[U 5s=::aU::aO O[U[U 5S-
5 OU S:XagGMQ)N)rsrrz
--- Page <20>/z ---z{:<3}{:<30}{:<20}{:<8}<7D>#<23>App<70>Package<67>Heur<75> heuristic<69>Y<>z<3r><00>-<2D>z<30r?z<20z<8z#[n]Next [p]Prev [#]Detail [b]Back: <20>n<>prr<>) r&r"<00>format<61> enumerater{r<>r(r<><00>isdigit<69>intr<74>)
rV<00>per_page<67>page<67>total<61>start<72>end<6E>idx<64>item<65>hr<68>s
r8<00>show_results_infor<6F>Qsm<00><00><1A>N<EFBFBD>H<EFBFBD> <0F><07>L<EFBFBD>E<EFBFBD>
<0E><19>_<EFBFBD>t<EFBFBD>a<EFBFBD>x<EFBFBD>8<EFBFBD>&;<3B>s<EFBFBD> <0A> <0B>D<EFBFBD><11>F<EFBFBD>8<EFBFBD>1<EFBFBD>e<EFBFBD>A<EFBFBD>g<EFBFBD><08>%8<><11>%:<3A>$;<3B>4<EFBFBD>@<40>A<> <0A>&<26>-<2D>-<2D>c<EFBFBD>5<EFBFBD>)<29>V<EFBFBD>L<>M<>"<22>7<EFBFBD><13>#5<>u<EFBFBD>Q<EFBFBD>w<EFBFBD>?<3F>I<EFBFBD>C<EFBFBD><1B>x<EFBFBD>x<EFBFBD> <0B>,<2C>,<2C><03>"<22>A<EFBFBD> <11><16>r<EFBFBD>(<28><17>8<EFBFBD>8<EFBFBD>J<EFBFBD>s<EFBFBD>+<2B>C<EFBFBD>R<EFBFBD>0<><13>5<><17>8<EFBFBD>8<EFBFBD>I<EFBFBD>c<EFBFBD>*<2A>3<EFBFBD>/<2F><14>R<EFBFBD>&<26><1A> <0E>@<01><14>9<>:<3A>@<40>@<40>B<>H<>H<>J<><03> <0E>#<23>:<3A>#<23>+<2B> <10>A<EFBFBD>I<EFBFBD>D<EFBFBD> <10>C<EFBFBD>Z<EFBFBD>D<EFBFBD>1<EFBFBD>H<EFBFBD> <10>A<EFBFBD>I<EFBFBD>D<EFBFBD> <10>[<5B>[<5B>]<5D>]<5D>q<EFBFBD>C<EFBFBD><03>H<EFBFBD>5<><05>5<> <1E>w<EFBFBD>s<EFBFBD>3<EFBFBD>x<EFBFBD>!<21>|<7C>4<> 5<> <10>C<EFBFBD>Z<EFBFBD> <11>) r^c
<00><00>[U5n/nUHnSUS'URU5 M UHAnUR[RR US5SSSUSUSS.5 MC [ S5 [ S 5 [ S
5 [ S 5 [ S 5 [ S 5R5nUS:Xa [U5 O6US:Xa [U5 O$US:Xa [U5 OUS:Xag[ S5 M<>)z<>
Merge static (YARA/CSV) hits with heuristics and launch the menu.
static_results: list of dicts from signature_scan()
apk_paths: list of pulled APK file paths
Fr<EFBFBD>rANTr<54>)r>r?r@r<>r<>rAz
--- End of Scan Menu ---z1) Show Results and Informationz2) Freeze Possible Infected APKz#3) Uninstall Possible Infected APKsz4) ExitzSelect: <20>1<>2<>3<>4zInvalid selection.) r<>r,rr*rJr"r<>r(r<>r<>r<>)<07>static_resultsr0<00> heur_hits<74>combinedr<64>r<><00>choices r8<00>show_post_scan_menur<75>ms<00><00>  <20> <09>*<2A>I<EFBFBD><11>H<EFBFBD> <1B><01><1E><01>+<2B><0E><10><0F><0F><01><1A><1C><17><01><10><0F><0F><1A><07><07>(<28>(<28><11>:<3A><1D>7<><1B><1A><1D><17><08>k<EFBFBD><19>*<2A> <0A> 
<EFBFBD> <0B><17> <0F> <0A>*<2A>+<2B> <0A>/<2F>0<> <0A>/<2F>0<> <0A>3<>4<> <0A>i<EFBFBD><18><16>z<EFBFBD>"<22>(<28>(<28>*<2A><06> <11>S<EFBFBD>=<3D> <1D>h<EFBFBD> '<27> <13>s<EFBFBD>]<5D> <17><08> !<21> <13>s<EFBFBD>]<5D> <1A>8<EFBFBD> $<24> <13>s<EFBFBD>]<5D> <11> <11>&<26> '<27>! r^c<00>D<00>[5n[U5n[X5 g)z0
Invoked by spyhunter.py as modules.scan.main()
N)r9rZr<>)r0r<>s r8<00>mainr<6E><00>s<00><00>(<28>)<29>I<EFBFBD>#<23>I<EFBFBD>.<2E>N<EFBFBD><17><0E>2r^)r<>),rrr<>rvrLr<00>androguard.core.bytecodes.apkr<00>androguard.core.bytecodes.dvmr<00>!androguard.core.analysis.analysisrrO<00> ImportError<6F>ModuleNotFoundErrorr"rHrCr*r+<00>getcwdrrEr\rfr9rZr_rm<00>strryr}r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r<>r]r^r8<00><module>rsS<00><01>
<EFBFBD><11> <0B><0F><0E><1D>
!<21>1<><<3C>:<3A><1F><18><1B><0F><19>N<EFBFBD><15>'<27>'<27>,<2C>,<2C>r<EFBFBD>y<EFBFBD>y<EFBFBD>{<7B>M<EFBFBD>:<3A> <0C><14>'<27>'<27>,<2C>,<2C>r<EFBFBD>y<EFBFBD>y<EFBFBD>{<7B>L<EFBFBD>9<><0E><14>'<27>'<27>,<2C>,<2C>r<EFBFBD>y<EFBFBD>y<EFBFBD>{<7B>F<EFBFBD>3<><07><14>'<27>'<27>,<2C>,<2C>w<EFBFBD>(8<>9<><08>
!<15>L?<13>H(<28>Q<01> <15>3<EFBFBD> <15>4<EFBFBD> <15>$<02><10>!I<01><1D>-<10>d;<3B>*+<2B>0.<2E>*<1F>"<22><12>$<12>8%(<28>T3<><33>I <14>(<28>)<29>!<21> <09>
M<EFBFBD>N<> <20><18>!<21><><13><1B> <09>
J<EFBFBD>K<><1A>N<EFBFBD><1B>s"<00>D<00>D(<00>D%<03>$D%<03>(D<<03>;D<