2023APP静态测试案例.docx
APP静态测试案例目录一.静态测试31 .DEX(classes.dex文件)代码加密保护32 .原生库(SO文件)代码加密保护53脚本代码(JS,1.ua、Python等)加密保护64.敏感资源文件加密保护65业务敏感文件(证书、配置等)加密保护66运行时签名校验77运行时文件完整性校验88使用不安全的加密算法109使用不安全的哈希算法1210.二次打包(静态文件篡改)检测13I1.不合理使用加密算法(如ECB模式)1512 .应用签名、发布规范1613 .运行时签名校验1614 DEX代码调试标志位未关闭17一.静态测试1.DEX(classes.dex文件)代码加密保护测试描述:对客户端反编译文件DEX进行转换,查看客户端是否对JAVA源生代码进行加密混淆,是否能看到清晰的JAVA代码。详情及测试步骤:1.首先将目标apk修改成.zip后缀的文件,然后解压,提取.dex文件涵菊.一回快捶方式-P藤e历史记录审反向选择剪贴板组织新建打开选择JVi此电BS本地JEfg(B)学习话记逆向工具名称修改日期类型大小快速访问CreditCard20170703-副本2017/7/2010:02XftAOneDrive逆向工具包2017/7/209:43文件夹此电随CreditCard20170703-BU本.zip2017/7/115:20WinRARZIP晒6,054KBDesktopI*CredltCard20170703.叩k2017/7/115:20TianTianapkfile6,054KBGWPS云S档I嵋,图片如CreditCard20170703.apk.jdb22017/7/1918:19JDB2文件f33,343KB*下或J音乐力本地三S(C:)-本地三S(D:)(E:)DVD(G:)Irw国给将apk后缀名改成ZiP3.接着用在dos窗口下打开dex2jar.bat与目标dex文件打开dex文件具体如图al选三三:命线瑞-×IicrosoftTindovs10.0.15063(c)2017IicrosoftCorporation*保留所有权利°W黑霜蜉tey2kdE:律习'逆向工袅逆向工具包Android逆向助手_v2.21ibdex2jar>dex2jar.batclasses.dex:WnDofSsyste»32cdE:学习篦巳逆向工具逆向工具包VndrOid逆向助手_v2.2libdex2jarpfIl11)0fSsystea32>efe,不是内部或外懿令,也不是可运行的程赤5批处理文件。p:fIlTOOfSsyste»32>e::)学习笔记逆向工具逆向工具包'Android逆向助手2.2libdei2jar(tex2jar.batclasses,dexthiscdisdeprecated,usethed2j-dex2jarifpossibledex2jarversion:translator_0.0.9.15We2jarclasses,de->classes_dex2jar.jar4rne11一反编译后获得的文件上:学习笔记逆向工具逆向工具包Andrcid逆向助手_v2.2libde2jar>E:学习爽逆向工具逆向工蛹VndrOid逆向S)丰一v2.2libdex2jar>.I4.将获取的在jd-gui中打开,即可查看JAVA源码并分析其是否进行加密混淆P*ra.»判断依据:是否能看到清晰的JAVA代码2原生库(so文件)代码加密保护测试描述:利用工具反编译SO文件,查看客户端是否对C/C+源生代码进行加密混淆详情及测试步骤:直接用IDApro打开apk,接着选择需要反编译的SO文件2.使用IDApro反编译选择的SO文件,看IDAPro是否能够正确反编译核心的代码。判断依据:SO文件是否能不反编译成清晰的cc+代码3脚本代码(JS,1.uaxPythOn等)加密保护测试描述:查看客户端是否明文存储脚本代码,脚本代码包括JaVaSCript、1.Ua、Python等。详情及其测试描述:1.首先将apk的文件后缀名改成.zip,然后解压2 .然后再利用windows的文件搜索功能搜索脚本文件3 .对脚本文件进行检查,看是否还有业务敏感信息判断依据:脚本代码是否含有业务敏感信息4 .敏感资源文件加密保护测试描述:查看客户端用户登陆的Xml文件是否明文存储敏感信息,查看客户端开发残留或者需要保存在客户端文件或信息是否加密。详情、验证步骤:1.直接用androidkiller打开目标apk。2.利用androidkiller的工程搜索功能,搜索登陆的XnIl文件或者客户端开发残留文件及需要保存在客户端的文件或者信息判断依据:对应的文件是否包含明文的业务敏感数据。5业务敏感文件(证书、配置等)加密保护测试描述:查看客户端是否明文存储用户加密证书或者其他证书,查看客户端是否明文存储SDK等配置文件是否加密。详情、验证步骤:1.直接用androidkiller打开目标apk,查看apk配置文件AndroidMainfest.xml是否加密如下图Omr9Mmw1.-安卓配置文件r*co*orM<cfo*yct>lorJtmIr4rw<>lMM>t>tn_rslyHct*3tylogln.amlrlayoutct>vitysplaH.ml2.直接解压apk文件,然后利用WindOWS自带的搜索文件功能查看证书,查看证书文件是否加密存储,未加密的证书文件如下所示。UE:学习38i2i2向工具CreditCard20170703-SPfassetsapp-public-key.pem-Notepad*+×文件(F)绸殖(E)搜索视图(V)纳码(N)SS(1.)iS三(T)IR(O)宏(M)运行(R)fi6W(P)三(W)?X一。口旦03。鼻CPCa¾l-«W卫却白H逐不为为J切囹,同陷HH:-.H/,*1 BEGINPUB1.ICMIGfMA0GCSqGSIb3DQEBAQUAA4GNADCBiQKBgQDbBiuRZor66S3DuAMGf8X6GJp3MhS4kBfMBnjKgbJeo203jTiV7jpxsvfH115wdMmsDBYZk8SUuchlYl2iAiaHYt24hC3fn4kalHzSBJbq1.XJ+AvM7HI34ZTI8Hpe3KgWX7UOE3a21.nb3j2yKtd2Fkxn8C三5da+PvSQHaCRlfNyGbwIDAQAB16ENDPUB1.ICKEYi7Normaltexttillength:272lines:71.n:2Col:65Sel:010判断依据:加密证书或者其他证书是否是明文存储6运行时签名校验测试描述:对应用进行破解,打包,重新采用第三方签名发布,查看是否添加签名校验。详情、验证步骤:1 .利用工具AndrOiCi逆向助手对源apk进行重新签名,选择apk后,选择apk签名选项,然后点击操作,如下图。Android逆向助手v2.2选择:操作清空日志导出日志关于即可完成对目标apk的重新签名,2 .然后将重新签名后的APK安装至手机,查看能否正常运行判断依据:重新签名后的APK能否正常运行7运行时文件完整性校验测试描述:对客户端进行破解,植入广告,打包,签名运行,查看运行时是否对文件完整性进行校验。详情、验证步骤:对apk进行解压,并利用apktool反编译dex文件,如下图所示:2.篡改smali文件,这里我使用androidKI1.1.修改*6MtW<¾)三MflM11>M(t)XMIo)<<g«M(r)OCW)»I<Jt!¾CQ:BQ三>1BI-'"'»IH,»-JG;ICr14tturn-*vod1-.ndBMithod17.tch<×l>ubllcc>tlcchckpwd<Mvalng0trlng;)X.gitr5J,>tamp.pwd-M*val*n5SttaqTl.prolo9u22.lln11t"gv3.I?!r-A-ZD)<?r-D.19.1Oth1。CaJIv3rrtzMvlngtrl119Xinvoke-t4tIc(vJ>1.)avt1lce9«xPttern;(1.)<val*r>g8trc>g;>1.)avatllree×Pttern;*ove-cult-obecv2.ln13.localvZ,jxtcern11.java/ut1r*s7*xPate*rnjinvok>virtual(v2.pO,.1.)«v«/ut1r*Qx俨ttrej->Mtchr<t)valngctarBqnce/>1.)vautlre5<MNACchjs>v-c«»ult-ot>j4»cvl.localvl.ftcr-11.av*utlr×M*tchrjInvokv-Virtual(vlK1.Java/utll/r*a«x/Hatch«rj->awtcK*OSs>v*r*aultv>IlMIS.local”0.bilreturnVondIwVhod3再利用apktool重新编译修改后的文件,即我们刚刚对反编译的dex文件获取的文件包。>Acdrojcl短ImiW于vNNK、/习名记曲同工KhcKcKKcKcK>M目毋文件,I字习至记曲回工KhcK<KKcK<Kj>ok2/回,法4rJITT单i>l<52靠山樽翦盥%2E*p)<dMddMO应七4.1£OM三l*Mtja*T9RF3tSBYd.qd-MC>HJAa.XOOSMdxX'昼a女工的三PKa«7>问4户才丁包/我以««>m>k博:E字习短记迎向mhccXhh>c>>X-V*ACAplctrool2OO-B,能A9oz目择X三3%iaffimIMKcKcKXcKc>s>*ok<1.pkTtopk¥刃笠H己迎向工h<aX:VsiXcApktrool.2.O.O-BwtOGK<KcKcKcK日传”B字习98记曲同工JhKcKK6cKe.ok.pk4.在手机上安装,运行之后,APK会终端运行,这里就不截