Android¶ñÒâÈí¼þ»ìÏýÓë·´¿¹¼¼ÊõרÌâ
Ðû²¼Ê±¼ä 2024-11-25µÚÒ»Õ ¸Å Êö
½üÄêÀ´£¬Android¶ñÒâÈí¼þÊýÁ¿²»Í£ÅÊÉý£¬Æä½ÓÄɵĹ¥»÷ºÍ·´¿¹¼¼ÊõÒ²±äµÃÔ½À´Ô½ÅÓ´ó¡£ÎªÁË·´¿¹Äþ¾²·ÖÎö£¬ÈƹýÄþ¾²¼ì²â£¬ÇÔÈ¡Ãô¸ÐÊý¾Ý»òÆÆ»µÏµÍ³Äþ¾²£¬¶ñÒâÈí¼þÀûÓÃÖÖÖÖ·´¿¹¼¼ÊõÀ´Î±×°ºÍÒþ²ØÆä¶ñÒâÐÐΪºÍ´úÂëÂß¼¡£ÕâЩ·´¿¹¼¼ÊõÖУ¬Õë¶Ô×ÊÔ´¡¢Îļþ¡¢×Ö½ÚÂëÖ¸Áî¼°»úÆ÷ÂëÖ¸ÁîµÄ»ìÏý¼¼Êõ±»¹ã·ºµØÒýÈëµ½¶ñÒâÈí¼þÖУ¬³ÉΪ¸ß¼¶ºÚ¿ÍÓëÄæÏò¹¤³Ìʦ·´¿¹µÄÖØÒªÕ½³¡¡£
»ìÏý¼¼ÊõµÄºËÐÄÄ¿±êÊÇÔö¼Ó·ÖÎöÅÓ´óÐÔÀ´·´¿¹ÄæÏò¹¤³Ì£¬Í¬Ê±Ò²ÄÜÌá¸ßÃâɱÄÜÁ¦£¬Ö÷Òª·´¿¹Ä¿±ê°üÂÞÄæÏò¹¤³Ìʦ¡¢¾²Ì¬·ÖÎö¹¤¾ß¡¢¶¯Ì¬µ÷ÊÔ¹¤¾ßÒÔ¼°×Ô¶¯»¯¼ì²âϵͳ¡£»ìÏý¼¼Êõͨ¹ýÉèÖ÷ÖÎöÏÝÚå¡¢¸Ä±äÎļþ½á¹¹¡¢Ôö¼ÓÖ¸ÁîÅÓ´ó¶È¡¢ÐéÄ⻯ָÁî¡¢Òþ²Ø´úÂëºÍ×ÊÔ´µÈÖÖÖÖ·±Ôӵļ¼ÊõÀ´ÑÚ¸ÇÆäÐÐΪÌØÕ÷ºÍ¹¥»÷Òâͼ£¬Í¬Ê±¸ø·ÖÎöÈËÔ±¾¡¿ÉÄÜ´óµÄÖÆÔì·ÖÎöÕÏ°£¬ÑÓºóÆä¶ñÒâÐÐΪ̻¶µÄʱ¼ä¡£Í¬Ê±£¬¶ñÒâÈí¼þͨ¹ý×éºÏÔËÓÃÖÖÖÖ¸÷ÑùµÄ»ìÏýÓë·ÖÎö·´¿¹¼¼Êõ£¬¶ÔÏÖÓÐÄþ¾²¼ì²â¹¤¾ßºÍ·À»¤»úÖÆÐγÉÁËÑϾþÌôÕ½¡£ÕâÐèÒª²»Í£¸ú½øÖÖÖÖ¼¼ÊõµÄÉú³¤£¬¶ÔеÄÊֶνøÐÐÉîÈëÑо¿£¬Öƶ¨ÓÐЧÇÒ¿ìËÙµÄÓ¦¶ÔÒªÁ죬ǿ»¯·ÖÎö¹¤¾ßºÍ¼ì²â¹¤¾ß£¬Í¬Ê±Ò²ÓÐÖúÓÚ¿ìËÙÓ¦¶Ô¸ß¼¶ÇÒÅÓ´óµÄ¶ñÒâÈí¼þ¹¥»÷¡£
Ëæ×ÅÒƶ¯Äþ¾²ÁìÓò·´¿¹µÄ²»Í£Éý¼¶£¬Android ¶ñÒâÈí¼þµÄ»ìÏý¼¼ÊõÒ²¾ÀúÁËÏÔÖøµÄÉú³¤£¬´Ó¼òµ¥µÄ±êʶ·û»ìÏýÖð²½Ñݽøµ½ÅÓ´óµÄÐéÄ⻯±£»¤£¨VMP£©¼¼Êõ£¬·ºÆð³öÓÉdzÈëÉî¡¢Öð²½Éý¼¶µÄÇ÷ÊÆ¡£Îª¸üÇåÎúµØÀí½âÕâÒ»±ä»¯£¬ÎÒÃǽ«»ìÏý¼¼ÊõµÄÉú³¤´óÖ»®·ÖΪÔçÆÚ¡¢ÖÐÆں͵±Ç°½×¶Î£¬²¢´Ó²îÒì²ãÃæ½øÐÐÏêϸ½âÎö¡£
2.1 ÔçÆڽ׶Σº»ù´¡Î±×°Óë¼òµ¥¼ÓÃÜ
ÔÚÔçÆÚ£¬¶ñÒâÈí¼þµÄ»ìÏý¼¼ÊõÖ÷ÒªÒÔÑڸǴúÂëºÍ×ÊÔ´ÄÚÈÝΪĿ±ê£¬ÊֶνÏΪ¼òµ¥Ö±½Ó£¬Æä»ìÏý¼¼ÊõÖ÷Òª¼¯ÖÐÓÚJava²ã£¬ÀûÓÃAndroidÓ¦ÓÃÒÔJavaÓïÑÔ¿ª·¢µÄÌØÐÔ£¬Í¨¹ý¼òµ¥µÄ»ìÏýÊֶιæ±ÜÄþ¾²·ÖÎöºÍ¼ì²â¡£ÔÚÕâһʱÆÚ£¬¶ñÒâÈí¼þ¿ªÊ¼Ì½Ë÷Îļþ¸ñʽÏà¹ØµÄ»ìÏý¼Æı¡£ÀýÈ磬ͨ¹ýÐÞ¸ÄZIP¸ñʽµÄAPKα¼ÓÃÜ£¬ÒÔ¼°2012ÄêºÚñ´ó»áÉÏÊ×´ÎÌá³öµÄÀûÓÃDEXÍ·Òþ²Ø´úÂëµÄ¼¼Êõ£¬ÕâÒ»¼ÆıËæºó±»Syrup¶ñÒâÈí¼þËù½ÓÄÉ¡£Í¬Ê±£¬Ä¾ÂíObadÀûÓÃÉÌÒµ»ìÏý¹¤¾ßDexGuard£¨ProGuardµÄÔöÇ¿°æ£©ÊµÏÖÁËManifest×ֶεÄÅÓ´ó»ìÏýÒÔ¼°»ùÓÚclinitÒªÁìµÄ¶¯Ì¬´úÂë½âÃÜ£¬±»ÓþΪ¡°Ê·ÉÏ×îÇ¿AndroidľÂí¡±¡£
ÕâÒ»½×¶Î£¬¶ÌÐÅÀ¹½ØÀàºÍËø»úÀÕË÷Àà¶ñÒâÈí¼þ¹ã·º½ÓÄɶàÖÖ»ìÏýÊֶΣ¬°üÂÞ´úÂë»ìÏý¡¢×Ö·û´®¼ÓÃÜ¡¢´úÂëÖ§½â¡¢À¬»ø´úÂë×¢È룬ÒÔ¼°ÉÌÒµ¼Ó¹Ì¹¤¾ßµÄʹÓá£ÕâЩ¼¼Êõ¾¡¹ÜÏà¶Ô»ù´¡£¬µ«ÔÚÆäʱµÄÄþ¾²»·¾³ÖУ¬ÒѾÏÔÖøÌá¸ßÁ˶ñÒâÈí¼þµÄÒþ±ÎÐԺͿ¹¼ì²âÄÜÁ¦¡£ÏÂͼչʾÁËÒ»¿î¶ÌÐÅÀ¹½ØľÂíµÄ»ìÏýЧ¹û¡£

ͼ1 Ò»¸ö¶ÌÐÅÀ¹½ØľÂíµÄ»ìÏýʾÀý
2.2 ÖÐÆڽ׶ΣºÂß¼ÅÓ´ó»¯Ó붯̬·´¿¹
Ëæ×ÅÄþ¾²¼ì²â¼¼ÊõµÄ²»Í£ÌáÉý£¬¶ñÒâÈí¼þÖð²½ÒýÈëÔ½·¢ÅÓ´óµÄ»ìÏýÊֶΣ¬ÒÔÌá¸ßÒþ±ÎÐÔ²¢ÓÐЧ¹æ±Ü·ÖÎö¡£Îª¹æ±Ü¾²Ì¬·ÖÎö£¬ËüÃÇÀûÓö¯Ì¬¼ÓÔغͷ´Éä»úÖÆ£¬Í¨¹ý·´É䶯̬µ÷ÓÃÒþ²ØµÄÒªº¦´úÂ롣ͬʱ£¬¶ñÒâÈí¼þ½ÓÄɶàÖؼÓÃÜÓë½âѹ¼Æı£¬¶ÔÒªº¦´úÂë½øÐжàÌõÀí¼ÓÃÜ£¬²¢ÔÚÔËÐÐʱͨ¹ýÅÓ´óµÄ½âÃܹý³ÌÖð²½ÊÍ·ÅÕæʵµÄ¶ñÒâÂß¼¡£ÀýÈ磺ÔÚÎÒÃÇÐû²¼µÄ·ÖÎö³ÂËß¡¶ÐÂÐÍAndroidÒøÐÐľÂí¡°MoqHao¡±ÀûÓÃÉç½»ÍøÂçÒþ²ØC&C·þÎñÆ÷¡·ÖУ¬¶ñÒâÈí¼þ½«ÕæÕýµÄ¶ñÒâdexÎļþ¼ÓÃܺó£¬ÒÔBase64±àÂëµÄÐÎʽÉú´æÔÚÔʼAPKµÄassetsĿ¼Ï¡£ÔÚÕâÖÖÇé¿öÏ£¬ÔʼAPK½ö×÷Ϊһ¸öÍâ¿Ç´æÔÚ£¬ÆäÔÚÔËÐÐʱ»á¶¯Ì¬½âÃܲ¢¼ÓÔØÕæÕýµÄ¶ñÒâdexÎļþ£¬ÒÔʵÏÖÆä¹¥»÷Ä¿µÄ£¬Æä¹ý³ÌÈçÏÂͼËùʾ£º

ͼ2 Java²ã»ìÏýdexÎļþµÄʾÀý
ΪÁËÈÅÂÒ·ÖÎö·¾¶£¬¶ñÒâÈí¼þÒýÈë¿ØÖÆÁ÷»ìÏý¼¼Êõ¡£Í¨¹ý²åÈëÎ޹صķÖÖ§¡¢Ñ»·ºÍÌøתÓï¾ä£¬¶ñÒâÈí¼þʹ´úÂëÖ´Ðз¾¶Ô½·¢ÅÓ´ó£¬×è°·ÖÎöÈËÔ±»¹ÔÆäÂß¼¡£¶øÔÚ½áºÏÉÌÒµ¼Ó¹Ì½â¾ö·½°¸ºó£¬Í¨¹ýÄÚ´æ¼ÓÔØ¡¢Ö¸Áî³éÈ¡ºÍÖ¸Áîת»»µÈ¼¼Êõ£¬½øÒ»²½ÌáÉýÁË·´¿¹·ÖÎöµÄÄÜÁ¦£¬Ê¹µÃ·ÖÎöÈËÔ±ÄÑÒÔ׼ȷ»¹ÔÆäʵ¼ÊµÄÖ´ÐÐÂß¼¡£
Ëæ×Å·´»ìÏý¼¼ÊõµÄ½ø²½ºÍÏÖ´ú»¯·´±àÒ빤¾ßµÄÆÕ¼°£¬¶ñÒâÈí¼þÖð½¥½«»ìÏý¼ÆıÏòNative²ãתÒÆ£¬ÒÔ½øÒ»²½ÌáÉýÄæÏò·ÖÎöµÄÄѶȡ£Æä³£Óü¼Êõ°üÂ޶ԻỰÊý¾Ý¼ÓÃÜÒÔ·ÀÖ¹Ãô¸ÐÐÅϢй¶¡¢¼ÓÃÜÒªº¦º¯ÊýÌåÒÔÒþ²Ø¶ñÒâÐÐΪ¡¢²åÈ뻨ָÁî×ÌÈÅ·´»ã±à¹¤¾ß·ÖÎö¡¢ÀûÓÃLLVM¿ò¼ÜʵʩÅÓ´óµÄ´úÂë»ìÏý£¬ÒÔ¼°Í¨¹ý·´µ÷ÊÔ¼¼Êõ¼ì²âºÍ×èÖ¹µ÷ÊÔÆ÷½éÈë¡£ÕâЩ¼ÆıÏศÏà³É£¬²»½öÏÔÖøÔö¼ÓÁËÄæÏò¹¤³ÌµÄÅÓ´óÐÔ£¬Ò²½øÒ»²½Ìá¸ßÁËÄþ¾²Ñо¿ÈËÔ±·ÖÎöµÄ¼¼ÊõÃż÷¡£ÀýÈ磺ÔÚÎÒÃÇÐû²¼µÄ¡¶Ò»¿îͨ¹ýSO½øÐÐ×Ô±£»¤µÄÒøÐÐAPP½Ù³ÖľÂíÉî¶È·ÖÎö³ÂËß¡·ÖУ¬Ïêϸ·ÖÎöÁ˸ÃľÂíµÄÔËÐÐÐÐΪ¡£¾ßÌå¶øÑÔ£¬libload.soÄ£¿éÂôÁ¦½âÃܲ¢¼ÓÔØʵ¼ÊµÄ¶ñÒâ´úÂë¡£¸ÃÄ£¿éÀûÓÃJava·´Éä»úÖƵ÷ÓÃjavax.crypto°üÖеļӽâÃܺ¯Êý£¬¶Ô´æ´¢ÔÚassetsĿ¼ÏµÄmycode.soÎļþ½øÐÐAES½âÃÜ¡£½âÃܺóµÄÎļþͨ¹ý×Ô½ç˵µÄDexClassLoader¼ÓÔز¢Ö´ÐУ¬Ö´ÐÐÍê±Ïºó£¬½âÃܵÄÎļþ»á±»É¾³ý¡£ÕâЩ¾«ÐÄÉè¼ÆµÄ»ìÏýÊÖ¶ÎÓÐЧÒþ²ØÁ˶ñÒâÐÐΪ£¬ÏÔÖøÔö¼ÓÁËÄþ¾²·ÖÎöµÄÅÓ´óÐÔ£¬Ê¹µÃ¶ñÒâÈí¼þµÄ¼ì²âºÍ·ÖÎö±äµÃÔ½·¢À§ÄÑ¡£¼ÓÔØNative½âÃÜ¿âµÄ²¿ÃÅ´úÂëÈçÏÂͼËùʾ£º

ͼ3 Natvie²ã»ìÏýʾÀý
´ËÍ⣬Õë¶ÔÎļþ¸ñʽµÄ»ìÏý¼ÆıҲ±äµÃÔ½·¢¶àÑùºÍÅÓ´ó¡£ËüÃÇÇÉÃîÀûÓà Androidϵͳ¶ÔijЩÎļþ¸ñʽ×ֶοíËÉУÑéµÄÌØÐÔ£¬Í¬Ê±½èÖú·´±àÒ빤¾ß¶ÔÎļþ¸ñʽµÄÑϸñ½âÎöÂß¼£¬Éè¼ÆÁ˶àÖÖ×ÌÈźÍÒþ²Ø»úÖÆ¡£Í¨¹ý¶ÔÕâЩÎļþ¸ñʽµÄÁé»îÀûÓ㬶ñÒâÈí¼þµÃÒÔʵÏÖ¸ü¸ßˮƽµÄÒþ±ÎÐÔ£¬½øÒ»²½Ìá¸ßÁËÄæÏò·ÖÎöºÍ¼ì²âµÄÄѶȣ¬Í¬Ê±Ò²Îª»ìÏý¼¼ÊõµÄÁ¬ÐøÉú³¤µì»ùÁË»ù´¡¡£
2.3 µ±Ç°½×¶Î£ºÅÓ´ó»ìÏýÓë¶à²ã·´¿¹
ÔÚµ±Ç°½×¶Î£¬¶ñÒâÈí¼þµÄ»ìÏý¼¼ÊõÒѾ¸ß¶ÈÅӴ󻯣¬¹ã·º½áºÏ¶¯Ì¬ºÍ¾²Ì¬·´¿¹ÊֶΣ¬ÒÔÔöÇ¿Òþ±ÎÐÔ²¢·´¿¹¶àÖÖ¼ì²âÒªÁ졣ͨ¹ý½«Java²ã´úÂë»ìÏý¡¢¶¯Ì¬¼ÓÔØÓëNative²ã¼Ó¿Ç¼¼ÊõÈÚºÏʹÓ㬶ñÒâÈí¼þ½«ºËÐÄÂß¼ÂþÑÜÓÚ²îÒìÌõÀíÖУ¬´ó·ùÌá¸ßÁ˼ì²âºÍ·ÖÎöµÄÅÓ´óÐÔ¡£ÒÔÏÂÊÇÄ¿Ç°³£¼ûµÄ»ìÏý¼Æı£º
Java²ãÓëNative²ãÏà½áºÏ£º¶ñÒâÈí¼þͨ¹ý½«Java²ãµÄ´úÂë»ìÏý¡¢¶¯Ì¬¼ÓÔØ¡¢VMPµÈ¼¼ÊõÓëNative²ãµÄ´úÂë»ìÏýÊÖ¶ÎÏà½áºÏ£¬½«¶ñÒâÂß¼ÊèÉ¢ÔÚ²îÒìÌõÀíÖС£ÕâÖÖ¿ç²ã»ìÏý¼ÆıÏÔÖøÔö¼ÓÁ˼ì²âºÍ·ÖÎöµÄÅÓ´ó¶È£¬ÒªÇó·ÖÎöÈËԱͬʱÕÆÎÕ¶àÖÖ¼¼Êõ£¬²ÅÆøÈ«ÃæÀí½âÆäÔËÐлúÖÆ¡£ ʹÓÃÆäËû¿ª·¢ÓïÑÔ£º¶ñÒâÈí¼þ³£ÀûÓÃLua¡¢GoLang¡¢Flutter¡¢Ò×ÓïÑԵȷǴ«Í³µÄ C/C++ ÓïÑÔ½øÐпª·¢£¬´Ó¶øÏÔÖøÔö¼ÓÄæÏò·ÖÎöµÄÄѶȡ£ÕâЩÓïÑÔÆæÌصÄÌØÐÔ½øÒ»²½Ìá¸ßÁË·ÖÎöµÄÅÓ´óÐÔ£¬Í¬Ê±Ï÷ÈõÁË´«Í³ÄæÏò·ÖÎö¹¤¾ßµÄЧÂʺÍЧ¹û¡£ ÔËÐл·¾³¼ì²â¼°·´µ÷ÊÔ£º¶ñÒâÈí¼þͨ¹ý¼ì²éÉ豸µÄϵͳÊôÐÔ¡¢Îļþϵͳ½á¹¹¡¢ÏµÍ³È¨ÏÞ״̬µÈ£¬ÅжÏÄ¿±êÉ豸ÊÇ·ñΪģÄâÆ÷»òÒÑ»ñÈ¡RootȨÏÞ£¬²¢ÔÚ¼ì²âµ½ÕâЩÌØÕ÷ʱ×èÖ¹¶ñÒâÂß¼µÄÔËÐС£Í¬Ê±£¬ËüÃǵ÷ÓÃϵͳAPI¼ì²éµ÷ÊÔ״̬£¬¼à²âµ÷ÊÔ¹¤¾ßÌØÓеÄÐÐΪ£¬ÉõÖÁÖ÷¶¯Òý·¢Òì³£ÒÔ²¶×½µ÷ÊÔ¹¤¾ßµÄ·´Ó³£¬ÓÐЧ×èÖ¹¶¯Ì¬·ÖÎö¹¤¾ßµÄ×ÌÈÅ¡£ ÉÌÒµ¼Ó¹Ì±£»¤¼¼Êõ£ºÒ»Ð©¶ñÒâÈí¼þʹÓÃÉÌÒµ¼Ó¹Ì±£»¤¼¼Êõ£¬½øÒ»²½¼ÓÇ¿ÁË´úÂëµÄ¿¹ÄæÏòÄÜÁ¦£¬Ê¹µÃ´«Í³µÄÄþ¾²¹¤¾ßºÍ·ÖÎöÒªÁìÄÑÒÔ×àЧ¡£ ´úÂëÐéÄ⻯¼¼Êõ£ºÍ¨¹ý½«´úÂë·ÒëΪ×Ô½ç˵µÄÐéÄâÖ¸Á£¬²¢ÔÚÔËÐÐʱͨ¹ýǶÈëµÄÐéÄâ»ú½âÊÍÖ´ÐУ¬ÕâÖÖ¼¼Êõ¼«´óµØÌá¸ßÁËÄæÏò·ÖÎöµÄÄѶȡ£
ÀýÈ磬ij¶ñÒâÈí¼þͨ¹ýʹÓÃNative´úÂëʵÏÖ¶ÔFridaºÍIDAµÄ¼ì²â£¬Æä´úÂëÈçÏ£º

ͼ4 Natvie²ã¼ì²âµ÷ÊÔÆ÷µÄ´úÂëʾÀý
Android¶ñÒâÈí¼þµÄ»ìÏý¼¼ÊõÒѾ´Ó¼òµ¥µÄ´úÂë»ìÏýÖð½¥Éú³¤µ½Èç½ñÅÓ´óµÄ¿ç²ã½áºÏÐÎʽ£¬ÆäÒþ±ÎÐÔÁ¬ÐøÔöÇ¿£¬¼¼ÊõÊÖ¶ÎÒ²Óú·¢¶àÑù»¯¡£ÕâÖÖÉú³¤Ç÷ÊƶԴ«Í³Äþ¾²¼ì²â¹¤¾ß¶øÑÔÊÇÑϾþµÄÌôÕ½£¬Í¬Ê±Ò²´ÙʹÑо¿ÈËÔ±±ØÐ벻ͣ´´ÐÂÓ¦¶Ô¼Æı£¬ÒÔ´ËÀ´Ó¦¶Ô¶ñÒâÈí¼þÈÕÒæÅÓ´óµÄ»ìÏýÊֶΡ£ÔÚ´ËÅä¾°Ï£¬ÉîÈëÁ˽Ⲣ½âÎö³£¼ûµÄ»ìÏý¼¼Êõ£¬ÊÇÌáÉý¶ñÒâÈí¼þ·ÖÎöºÍ¼ì²âÄÜÁ¦µÄÒªº¦¡£½ÓÏÂÀ´£¬ÎÒÃǽ«Í¨¹ýʵ¼ÊÊÂÇéÖг£Óöµ½µÄ¶ñÒâÈí¼þ»ìÏý¼¼Êõ½øÐÐÏêϸ·ÖÎö£¬Ì½ÌÖÕâЩ¼¼ÊõµÄÓ¦Ó÷½Ê½¼°ÏàÓ¦µÄ·À·¶¶Ô²ß¡£
ÔÚ·ÖÎöAndroid¶ñÒâÈí¼þʱ£¬Äþ¾²Ñо¿ÈËԱͨ³£ÐèÒª´Ó¾²Ì¬·ÖÎöºÍ¶¯Ì¬·ÖÎöÁ½·½ÃæÈëÊÖ¡£¾²Ì¬·ÖÎöÍùÍùÊÇ×îÏȽøÐеIJ½Ö裬¶ø»ìÏý¼¼Êõͨ¹ýÐ޸ĴúÂëµÄ½á¹¹ºÍ±í´ï·½Ê½£¨Èç×Ö·û´®¼ÓÃÜ¡¢´úÂë²ð·Ö¡¢¶¯Ì¬¼ÓÔصȣ©£¬Ê¹¶ñÒâÈí¼þµÄ·ÖÎöÄѶÈÏÔÖøÔö¼Ó¡£±¾ÎĽ«ÒÔÄþ¾²Ñо¿ÈËÔ±·ÖÎöAPKÎļþµÄ¹ý³ÌΪÇÐÈëµã£¬Öð²½½éÉÜÖÖÖÖ·´»ìÏý¼Æı£¬×ÊÖúÑо¿ÈËÔ±ÓÐЧӦ¶Ô²îÒìÌõÀíµÄ»ìÏý¼¼ÊõÌôÕ½¡£
3.1 APK·´±àÒ빤¾ßµÄ·´¿¹
ÔÚ·ÖÎöAndroidÓ¦ÓÃʱ£¬Ê×ÏÈÐèҪʹÓÃAPK·´±àÒ빤¾ß£¨ÈçApktool¡¢Jadx£©ÌáÈ¡APKÎļþÖеÄÔ´´úÂëºÍ×ÊÔ´¡£È»¶ø£¬¶ñÒâÈí¼þÍùÍù»áͨ¹ý¶àÖÖ»ìÏýÊֶζÔAPK½øÐб£»¤£¬ÒÔ×ÌÈÅ·´±àÒë¹ý³Ì¡£ÀýÈ磬¶ñÒâÈí¼þ¿ÉÄÜÀûÓÃAndroidÔÚ½âÎöAPKÎļþʱδÑϸñУÑéZIP¸ñʽµÄijЩ×ֶΣ¬´Ó¶øͨ¹ý¸Ä¶¯APKÎļþµÄZIP¸ñʽ×Ö¶ÎÀ´Èƹý»ùÓÚZIP¸ñʽ½âÎöµÄ·´±àÒ빤¾ß¡£ÕâÖÖÊÖ¶ÎÓÈÆä³£¼ûÓÚһЩ»ùÓÚAndroidµÄÒøÐÐľÂí£¨ÈçBianLian¡¢CerberusºÍTeaBot£©ÖУ¬Ä¿µÄÊÇ×èÖ¹Äþ¾²Ñо¿ÈËÔ±ºÍ×Ô¶¯»¯·ÖÎöƽ̨ÓÐЧÌáÈ¡APKÎļþÄÚÈÝ£¬½ø¶ø·´¿¹¾²Ì¬·ÖÎöºÍ·´²¡¶¾¼ì²â¡£
ΪÁ˸üºÃµØÀí½â¶ñÒâÈí¼þµÄ»ìÏý¼Æı£¬ÓÈÆäÊÇÈçºÎͨ¹ý¸Ä¶¯ZIP¸ñʽ×Ö¶ÎÀ´×ÌÈÅ·´±àÒë¹ý³Ì£¬ÓÐÐëÒªÁ˽âһЩZIPÎļþ½á¹¹µÄ»ù±¾ÐÅÏ¢¡£ËäÈ»ZIP¸ñʽµÄÏêϸ½á¹¹³¬³öÁ˱¾ÎĵÄÌÖÂÛ·¶Î§£¬µ«ÎÒÃÇ¿ÉÒÔ¼òµ¥½éÉÜһЩ³£¼ûµÄ¡¢¶ñÒâÈí¼þ¾³£¸Ä¶¯µÄ×ֶΡ£ÎÒÃÇÒÔ Python µÄzipfile.py Ä£¿éÖÐµÄ ZipInfo ÀàΪÀý£¬Õ¹Ê¾ÁË ZIPÎļþÔªÊý¾ÝÖеĶà¸öÒªº¦×ֶΡ£¾ßÌå×ֶμ°Æ京ÒåÈçͼËùʾ£º

ͼ5 ZipinfoÀàµÄ½á¹¹ÐÅÏ¢
ÆäÖУ¬compress_type¡¢extract_version¡¢reservedºÍflag_bits¶¼ÊǶñÒâÈí¼þ¾³£¸Ä¶¯µÄ×ֶΡ£ÕâЩÐ޸ĿÉÒÔµ¼Ö·´±àÒ빤¾ßÔÚ½âÎöÎļþʱ·ºÆð´íÎó»òÎÞ·¨ÕýÈ·¶ÁÈ¡ÎļþÄÚÈÝ£¬´Ó¶øÓÐЧµØ×è°¾²Ì¬·ÖÎö¹ý³Ì¡£Í¨¹ý¸Ä¶¯ÕâЩ×ֶΣ¬¶ñÒâÈí¼þ²»½öÄܹ»¹æ±Ü³£¼ûµÄ·´±àÒ빤¾ß£¬»¹ÄÜÔö¼Ó±»¼ì²âµÄÄѶȣ¬Ìá¸ßÆäÔÚ¾²Ì¬·ÖÎöÖеÄÒþ±ÎÐÔ¡£
ÔÚÁ˽âÁ˶ñÒâÈí¼þÈçºÎͨ¹ý¸Ä¶¯ZIP¸ñʽ×Ö¶ÎÀ´·´¿¹¾²Ì¬·ÖÎöºó£¬½ÓÏÂÀ´ÎÒÃÇÐèÒª¹Ø×¢AndroidÓ¦ÓÃÖÐÁíÒ»¸ö³£¼ûµÄ·´±àÒëÊֶΡª¡ªAndroidManifest.xmlÎļþ£¨ÒÔϼò³Æ¡°Çåµ¥Îļþ¡±£©¡£Çåµ¥ÎļþÊÇ·´±àÒë¹ý³ÌÖбØÐë½âÎöµÄÒªº¦²¿ÃÅ£¬Ëü°üÂÞÁËÓ¦ÓõĺËÐÄÅäÖã¬Èç×é¼þ¡¢È¨ÏÞµÈÐÅÏ¢¡£Òò´Ë£¬ÌáÈ¡¡¢¶ÁÈ¡ºÍ·ÖÎöÇåµ¥ÎļþÊǾ²Ì¬·ÖÎöAPKÑù±¾Ê±µÄÊ×Òª²½Ö衣ΪÁ˹æ±Ü·´±àÒ빤¾ßµÄʶ±ð£¬¶ñÒâÈí¼þͨ³£Í¨¹ý¾«ÐĸĶ¯Çåµ¥ÎļþÀ´×ÌÈÅÆäÕý³£½âÎö¡£ÓÉÓÚÇåµ¥ÎļþÔÚ¾²Ì¬·ÖÎöÖеÄÖØÒªÐÔºÍÅÓ´óÐÔ£¬Ëü³ÉΪÁ˶ñÒâÈí¼þ³£Óõķ´±àÒë·´¿¹ÊÖ¶ÎÖ®Ò»¡£Èç¹û¶ÁÕ߶ÔÇåµ¥ÎļþµÄ¾ßÌå½á¹¹²»Ì«Á˽⣬¿ÉÒÔ×ÔÐзÃÎÊÒÔÏÂÁ´½Ó£¨https://bbs.kanxue.com/thread-194206.html£©²éÔÄÏà¹ØÐÅÏ¢¡£
½ÓÏÂÀ´£¬ÎÒÃǽ«½éÉܼ¸ÖÖ³£¼ûµÄÇåµ¥Îļþ»ìÏýÊֶΣ¬Ì½ÌÖ¶ñÒâÈí¼þÊÇÈçºÎͨ¹ýÕâЩÊֶη´¿¹·´±àÒ빤¾ß²¢Òþ²ØÆä¶ñÒâÐÐΪµÄ£º
£¨1£©ÐÞ¸ÄXMLÎļþµÄħÊõ£º¶ñÒâÈí¼þͨ¹ý¸Ä¶¯Çåµ¥ÎļþÖеÄħÊõ×ֶΣ¬Ê¹µÃ¾²Ì¬·ÖÎö¹¤¾ßÔÚ½âÎöʱ·ºÆð´íÎó¡£ÕâЩÐÞ¸Äͨ³£²»»áÓ°ÏìÓ¦ÓõÄÕý³£ÔËÐУ¬µ«»áµ¼Ö·ÖÎö¹¤¾ßÎÞ·¨ÕýÈ·½âÎöÇåµ¥ÎļþµÄ½á¹¹£¬ÉõÖÁ¿ÉÄÜÒý·¢·´±àÒ빤¾ßµÄÒì³£´íÎ󣬴Ӷø×èÖ¹·´±àÒë¹ý³Ì£¬ÎÞ·¨ÌáÈ¡Ô´´úÂë¡£

ͼ6 ×óͼΪÕý³£µÄħÊõ£¬ÓÒͼΪ»ìÏýµÄħÊõʾÀý
£¨2£©¸Ä¶¯Òªº¦×ֶΣº¶ñÒâÈí¼þ¿ÉÄÜ»á¸Ä¶¯Çåµ¥ÎļþÖеÄÒªº¦×ֶΣ¬ÀýÈçͨ¹ýÐÞ¸ÄStringPoolÖÐ×Ö·û´®µÄ¸öÊý¡£ËäÈ»AndroidϵͳÔÚÔËÐÐʱ²¢²»ÒÀÀµÕâ¸ö×Ö¶ÎÀ´¼ÆËã×Ö·û´®µÄ¸öÊý£¬¶øÊÇͨ¹ý¶¯Ì¬¼ÆËãÀ´´¦ÖÃ×Ö·û´®£¬µ«Ò»Ð©·´±àÒ빤¾ßÈ´»áÒÀÀµÕâ¸ö×Ö¶ÎÀ´½âÎöXMLÎļþÖеÄÄÚÈÝ¡£Í¨¹ý¸Ä¶¯Õâ¸ö×ֶΣ¬¶ñÒâÈí¼þ¿ÉÒÔ×ÌÈÅ·´±àÒ빤¾ßµÄÕý³£½âÎö£¬µ¼Ö¹¤¾ß¶ÁÈ¡µ½´íÎóµÄ×Ö·û´®¸öÊý£¬´Ó¶øÎÞ·¨ÕýÈ·½âÎöÇåµ¥ÎļþµÄ½á¹¹£¬½ø¶øÓ°Ï쾲̬·ÖÎöµÄ׼ȷÐÔºÍÍêÕûÐÔ¡£ÕâÖÖÊÖ¶ÎÓÐЧÔö¼ÓÁ˾²Ì¬·ÖÎö¹¤¾ßµÄ·ÖÎöÄѶȣ¬ÌáÉýÁ˶ñÒâÈí¼þµÄÒþ±ÎÐÔ¡£

ͼ7 ¸Ä¶¯StringPoolSizeµÄ»ìÏýʾÀý
ÔÚÉÏͼÖУ¬ÎÒÃÇ¿ÉÒÔ¿´µ½£¬stringCountµÄֵΪ2907£¬¶øStringOffsets¿ªÊ¼ÓÚÆ«ÒÆλÖÃ36£¬¾ÞϸΪ 11628¡£StringOffsetsÊÇÒ»¸ö°üÂÞÿ¸ö×Ö·û´®ÔÚ×Ö·û´®³ØÖеÄÏà¶ÔÆ«ÒÆÁ¿µÄÊý×飬Æä¾ÞϸΪ stringCount * 4£¬¼´ 11628¡£·´±àÒ빤¾ßƾ¾Ý»ìÏýºóµÄstringCountÖµ¼ÆËãStringOffsets¾Þϸ£¬²¢½øÐнâÎö£¬Òò´Ë½âÎö½á¹û¶éÂä¡£ÕâÖÖ·×ÆçÖÂÐÔÊǵ¼Ö·´±àÒ빤¾ß½âÎöʧ°ÜµÄÔÒò¡£È»¶ø£¬AndroidϵͳÔÚ´¦ÖÃÇåµ¥Îļþʱ²¢Î´Ö±½ÓÒÀÀµstringCount×ֶεÄÖµ¡£Í¨¹ý¼ì²ì Android Ô´Âë¿ÉÒÔ·¢ÏÖ£¬AndroidϵͳÔÚÔËÐÐʱƾ¾Ýʵ¼ÊÊý¾Ý¶¯Ì¬¼ÆËã stringPoolSize£¬¶ø·ÇÖ±½ÓʹÓÃÎļþÖÐÌṩµÄÊýÖµ¡£

ͼ 8 AndroidϵͳԴÂëÖмÆËãmStringPoolSizeµÄ´úÂëʾÀý
£¨3£©²åÈëÔàÊý¾Ý£ºÓÐЩ¶ñÒâÈí¼þ»á¹ÊÒâÔÚÇåµ¥ÖвåÈëһЩÔàÊý¾Ý¡£ÕâÖÖÊý¾Ý²»»á±»Êµ¼ÊʹÓ㬵«»áÆÆ»µÇåµ¥ÎļþµÄ¸ñʽ£¬Ê¹µÃ½âÎö¹¤¾ßÄÑÒÔʶ±ðÆäÖеÄÓÐЧÐÅÏ¢¡£

ͼ9 ×óͼÏÔʾ`startEle0`ÄÚÈÝ£¬ÓÒͼչʾ`startEle0`ºÍ`startEle1`µÄÆ«ÒÆÁ¿¼°¾Þϸ
ÉÏͼչʾÁËÒ»¸ö»ìÏýºóµÄÇåµ¥Îļþ¡£ÔÚ×óͼÖУ¬µÚÒ»¸östartElementµÄ¾Þϸ×Ö¶ÎΪ196£¬µ«headerÖеÄsize×Ö¶ÎΪ224£¬Òâζ×ÅstartElementºó¸½¼ÓÁË28×Ö½ÚµÄδ֪Êý¾Ý¡£ÓÒͼÖУ¬µÚ¶þ¸östartElementµÄÆðʼλÖÃΪ0x15A4£¬ÕýºÃλÓÚ²åÈëµÄÕâ28×Ö½ÚÀ¬»øÊý¾ÝÖ®ºó£¨ÓÒͼÖÐÂÌÉ«²¿ÃÅËùʾ£©¡£ÕâЩ¶àÓàµÄ28×ֽڻᵼÖ·´±àÒ빤¾ßÔÚºóÐø½âÎöʱ¶éÂä¡£AndroidϵͳÄܹ»Õý³£½âÎö£¬ÊÇÒòΪϵͳ¼ÆËãÿ¸östartElementµÄλÖÃʱ£¬½öÒÀÀµÉÏÒ»¸östartElementµÄÆðʼλÖú;Þϸ×ֶΣ¬´Ó¶ø×Ô¶¯Ìø¹ýÀ¬»øÊý¾Ý¡£
£¨4£©²åÈ볬³¤×Ö·û´®»òÌØÊâ×Ö·û£ºÎªÁË×ÌÈž²Ì¬·ÖÎö¹¤¾ßµÄÕý³£½âÎö£¬¶ñÒâÈí¼þ¿ÉÄÜ»áÔÚÌض¨×Ö¶ÎÖвåÈ볬³¤×Ö·û´®¡¢ÌØÊâ·ûºÅ¡¢emojiÐÄÇé»ò²»Ðмû×Ö·û¡£ÕâЩ×Ö·ûËäÈ»²»»áÓ°ÏìÓ¦ÓõÄÕý³£¹¦Ð§£¬µ«ËüÃÇÏÔÖøÔö¼ÓÁË·ÖÎö¹¤¾ßµÄ´¦ÖÃÄѶȡ£Èç¹û·´±àÒ빤¾ßµÄÈÝ´íÄÜÁ¦½Ï²î£¬ÕâЩÐ޸ĿÉÄܵ¼Ö¹¤¾ß±ÀÀ£»òÎÞ·¨ÕýÈ·½âÎöÇåµ¥Îļþ£¬´Ó¶øʹ¾²Ì¬·ÖÎö±äµÃÔ½·¢À§ÄÑ¡£

ͼ10 ͨ¹ý²»Ðмû×Ö·ûʵÏÖ³¬³¤Ó¦ÓÃÃû³Æ£¨label£©µÄʾÀý
ÉÏͼÖУ¬Çåµ¥ÎļþÖеÄlabel×ֶδÓstring.xmlÖеÄapp_name×ֶζÁÈ¡£¬¶øapp_name×Ö¶ÎÔò°üÂÞÁ˲»Ðмû×Ö·û£¨Èç\u0000£©ºÍ³¬³¤×Ö·û´®¡£Í¨¹ýÕâÖÖ·½Ê½£¬¶ñÒâÈí¼þ¿ÉÒÔÓÐЧ×ÌÈÅ·´±àÒ빤¾ßµÄ½âÎö¹ý³Ì¡£Èç¹û×Ô¶¯»¯·ÖÎöƽ̨µÄÈÝ´í»úÖƲ»×㣬ÈçÊý¾Ý¿â×ֶζÔapp_name»òversion×ֶ㤶ÈÓÐÏÞÖÆ£¬ÕâЩ¸Ä¶¯¿ÉÄܵ¼ÖÂÒì³££¬½ø¶øʹ¶ñÒâÈí¼þÔÚ×Ô¶¯»¯·ÖÎöƽ̨ÉÏ¡°ÒþÉí¡±£¬ÄÑÒÔ±»¼ì²âµ½¡£
ÔÚÕý³£µÄÇåµ¥ÎļþÖУ¬Start Namespace Chunkͨ³£´æ´¢ÃüÃû¿Õ¼äÐÅÏ¢£¬ÆäÖÐPrefixÊÇÒ»¸ö4×Ö½ÚµÄË÷Òý£¬Ö¸Ïò×Ö·û´®³ØÖÐÏàÓ¦µÄ×Ö·û´®£¬ÓÃÓÚ±êʶÃüÃû¿Õ¼äǰ׺£»UriÒ²ÊÇÒ»¸öË÷Òý£¬Ö¸Ïò×Ö·û´®³ØÖÐÌåÏÖÃüÃû¿Õ¼äURIµÄ×Ö·û´®¡£ÀýÈ磬ÔÚÒ»¸öδ¾¹ý»ìÏýµÄÇåµ¥ÎļþÖУ¬ÎÒÃÇ¿ÉÒÔ¿´µ½PrefixµÄÖµ¶ÔÓ¦µÄ×Ö·û´®Îªandroid£¬¼´ËüÒýÓÃÁ˳߶ȵÄAndroidÃüÃû¿Õ¼ä¡£

ͼ11 Õý³£µÄprefixǰ׺ʾÀý
È»¶ø£¬Í¨¹ý¶Ô¶ñÒâÈí¼þÖз¢Prefix×ֶνøÐжñÒâ¸Ä¶¯£¬¹¥»÷Õß¿ÉÒÔµ¼Ö·´±àÒ빤¾ßÔÚ½âÎöʱ·¢Éú´íÎó¡£ÕâÖÖ»ìÏý·½Ê½ÀûÓÃÁË·´±àÒ빤¾ß¶ÔPrefixµÄÒÀÀµ£¬Ê¹µÃÆäÔÚ½âÎöʱ·¢ÉúÒì³££¬×ÌÈÅ·ÖÎöÈËÔ±¶Ô¶ñÒâÈí¼þµÄÅжϡ£ÏÂͼÊÇÒ»¸ö¾¹ý»ìÏýµÄÇåµ¥Îļþ¡£

ͼ12 »ìÏýºóµÄprefixʾÀý
´ÓͼÖпÉÒÔ¿´µ½£¬ÃüÃû¿Õ¼äµÄPrefixÏÔʾΪ·Ç³ß¶È×Ö·û´®¡£PrefixµÄË÷ÒýÖµÖ¸Ïò×Ö·û´®³ØÖеÄλÖÃ67£¬¶øUriÏÔʾÕý³£¡£¼ì²ì×Ö·û´®³ØÖÐË÷Òý67µÄÄÚÈÝ£¬ÎÒÃÇ·¢ÏÖ¸Ã×Ö·û´®ÊÇÒ»¶Î³¤¶ÈΪ20470µÄÂÒÂë×Ö·û¡£ÈçÏÂͼËùʾ£º

ͼ13 Ë÷ÒýÖµ67´¦µÄprefix×Ö·û´®µÄֵʾÀý
ÕâÖÖ³¬³¤×Ö·û´®»áµ¼ÖÂApktoolÔÚ·´±àÒëʱÍ߽⡣ÔÚApktoolµÄ´íÎóÈÕÖ¾ÖУ¬ÏÔʾÁË¡°Array Size¡±Òì³£ÐÅÏ¢¡£
ͼ14 Apktool·´±àÒëʱ·ºÆðµÄÒì³£´íÎóʾÀý
¾¹ý¶ÔÍß½âÎÊÌâµÄÈƹý´¦Öúó£¬Éú³ÉµÄAndroidManifest.xmlÎļþµ½´ïÁË16.7MB£¬ÇÒ°üÂÞ´óÁ¿ÂÒÂ룬ÄÑÒÔÔĶÁ¡£

ͼ15 °üÂÞ´óÁ¿À¬»ø×Ö·ûµÄAndroidManifest.xmlÎļþʾÀý
Ò»¸öÓÐЧµÄ´¦ÖÃÒªÁìÊǽ«PrefixµÄË÷ÒýÖµÖ¸Ïò×Ö·û´®³ØÖн϶̵Ä×Ö·û´®£¬ÒÔ±ãÉú³ÉµÄÇåµ¥ÎļþÄÚÈÝÕý³£ÏÔʾ£¬±ãÓÚºóÐø·ÖÎöºÍÔĶÁ¡£
´ËÍ⣬һЩ¶ñÒâÈí¼þ»áÔÚÇåµ¥ÖвåÈë·ûºÅ»òÐÄÇé·ûºÅ£¬Èô·´±àÒ빤¾ßÔÚ½âÎöʱδÕýÈ·´¦ÖÃÕâЩÌØÊâ×Ö·û£¬Ò²¿ÉÄܵ¼Ö·´±àÒ빤¾ßÍ߽⡣²åÈëÐÄÇé·ûºÅ½øÐлìÏýµÄÇåµ¥ÈçÏÂͼËùʾ£º

ͼ16 ͨ¹ýÐÄÇé·ûºÅ½øÐлìÏýµÄʾÀý
³ýÁËͨ¹ý¸Ä¶¯ZIP¸ñʽ×ֶκͻìÏýÇåµ¥ÎļþÀ´·´¿¹·´±àÒ빤¾ßÍ⣬¶ñÒâÈí¼þ»¹¾³£½ÓÄÉÒ»ÖÖÇ¿ÓÐÁ¦µÄ¼Æı¡ª¡ª»ìÏýresources.arscÎļþ¡£resources.arscÎļþÊÇAndroidÓ¦ÓÃÖд洢×ÊÔ´Ó³Éä¹ØϵµÄºËÐÄÎļþ£¬Ëüά»¤ÁË×ÊÔ´IDÓëʵ¼Ê×ÊÔ´ÎļþÖ®¼äµÄÓ³Éä¡£¶ñÒâÈí¼þͨ¹ý¸Ä¶¯Õâ¸öÎļþ£¬Äܹ»ÓÐЧ×ÌÈÅ·´±àÒ빤¾ß¶Ô×ÊÔ´µÄÕýÈ·½âÎö£¬ÉõÖÁ¿ÉÄܵ¼Ö·´±àÒ빤¾ß±ÀÀ£»òÒì³£Í˳ö¡£ÀýÈ磬BOOMSLANG£¨Ê÷òÅ£©Òƶ¯ÆÛÕ©¼Ò×å¾ÍÀûÓÃÕâÒ»¼Æı·´¿¹ApktoolµÄ·´±àÒë¹ý³Ì£¬ÏÂͼÊÇÆä·´±àÒëʧ°ÜʱApktoolÌáʾµÄ´íÎóÐÅÏ¢¡£

ͼ17 »ìÏýºóµÄBOOMSLANGÑù±¾µ¼ÖÂApktool·´±àÒëʧ°Ü
3.2 ´úÂë»ìÏýÓë·´»ìÏý¼¼Êõ
Ò»µ©Ñо¿ÈËԱͻÆÆÁËAPK°üµÄ¿ª¶Ë»ìÏý£¬½ÓÏÂÀ´±ã»á½øÈëµ½´úÂë²ãÃæµÄ·ÖÎö¡£ÔÚÕâÒ»²ãÃ棬¶ñÒâÈí¼þͨ³£½ÓÄÉÖÖÖÖ»ìÏý¼¼Êõ£¬´ó·ùµØÔö¼ÓÁ˾²Ì¬ºÍ¶¯Ì¬·ÖÎöµÄÄѶȡ£
3.2.1 ±êʶ·û»ìÏý
±êʶ·ûÖØÃüÃûÊÇ´úÂë»ìÏýÖÐ×î³£¼ûÇÒ×îÓÐЧµÄ¼¼ÊõÖ®Ò»£¬Ö¼ÔÚͨ¹ý½«ÓÐÒâÒåµÄ°üÃû¡¢ÀàÃû¡¢ÒªÁìÃûºÍ±äÁ¿ÃûÌ滻ΪÎÞÒâÒåµÄ¡¢Ëæ»úÉú³ÉµÄÃû³Æ£¬´Ó¶ø×ÌÈÅÄæÏò¹¤³ÌʦµÄ·ÖÎö¹ý³Ì¡£´ËÍ⣬±êʶ·û»ìÏý»¹ÄÜÓÐЧ±Ü¿ªÒ»Ð©×Ô¶¯»¯·ÖÎöƽ̨£¬ÕâЩƽ̨ͨ³£ÒÀÀµÓÚ±êʶ·ûÀ´Öƶ¨¼ì²â¹æÔò¡£Í¨¹ý»ìÏý±êʶ·û£¬¶ñÒâÈí¼þÄܹ»¹æ±Ü»ùÓÚ±êʶ·ûµÄ¼ì²â£¬¼õÉÙ±»Ê¶´ËÍâ·çÏÕ¡£³£¼ûµÄ±êʶ·û»ìÏý¼Æı°üÂÞʹÓÃËæ»ú×Ö·û×éºÏ£¨ÈçÊý×Ö¡¢×Öĸ»òÌØÊâ·ûºÅ£©¡¢½ÓÄÉ·ÇÓ¢ÓïÓïÑԵıêʶ·û£¨ÈçÖÐÎÄ¡¢ÈÕÓï¡¢º«Óï¡¢¶íÎĵȣ©¡¢Ê¹Ó󬳤×Ö·û±êʶ·û£¬»òͨ¹ýÌæ»»ÐÎ×´ÏàËƵ«º¬Òå²îÒìµÄ×Ö·û£¨Èç×Öĸ¡°O¡±ÓëÊý×Ö¡°0¡±¡¢×Öĸ¡°I¡±ÓëСд×Öĸ¡°l¡±µÈ£©À´×ÌÈÅ·ÖÎö¡£ÕâЩ»ìÏý¼Æıʹ¶ñÒâÈí¼þÄܹ»ÓÐЧÒþ²ØÆ书Ч²¢Ôö¼ÓÄæÏò·ÖÎöµÄÄѶȣ¬´Ó¶øÑÓ»º±»¼ì²âºÍʶ´ËÍâʱ¼ä¡£ÎªÁËÓ¦¶ÔÕâÖÖ»ìÏý£¬Äþ¾²Ñо¿ÈËÔ±¿ÉÒÔʹÓôøÓз´»ìÏý¹¦Ð§µÄ·´±àÒ빤¾ß£¬ÈçGda¡¢Jeb¡¢JadxµÈ£¬ÕâЩ¹¤¾ßÓÐÖúÓÚ¿ìËÙ»Ö¸´±»»ìÏýµÄ´úÂë²¢×ÊÖúʶ±ð¶ñÒâÐÐΪ¡£±êʶ·û»ìÏýʾÀýÈçÏÂͼËùʾ£º

3.2.2 ×Ö·û´®¼ÓÃÜ
¶ñÒâÈí¼þͨ³£½ÓÄɱàÂë»ò¼ÓÃÜÊֶζԴúÂëÖеÄÃô¸Ð×Ö·û´®½øÐд¦Öã¬ÒÔ·ÀÖ¹¶ñÒâÒªº¦×Ö£¨Èç¶ñÒâURL¡¢ÃüÁî»òÆäËûÃô¸ÐÊý¾Ý£©ÔÚ·´±àÒë¹ý³ÌÖб»Ö±½Ó̻¶¡£ÕâЩ¼¼ÊõÓÐЧµØ×èÖ¹ÁË·ÖÎöÈËÔ±´Ó·´±àÒë½á¹ûÖÐÌáÈ¡Òªº¦ÐÅÏ¢£¬ÓÈÆäÔÚ·´¿¹×Ô¶¯»¯·ÖÎöƽ̨µÄ¾²Ì¬·ÖÎöʱ£¬¾ßÓнÏÇ¿µÄ·À»¤Ð§¹û¡£³£¼ûµÄ×Ö·û´®»ìÏýÒªÁì°üÂÞ×Ö·û²ð·ÖºÍ±àÂë»ìÏý¡£×Ö·û²ð·Ö½«Ãô¸Ð×Ö·û´®Ö§½â³É¶à¸ö²¿ÃÅ£¬·¨Ê½ÔÚÔËÐÐʱÔÙÆ´½Ó³ÉÍêÕûµÄ×Ö·û´®£»¶ø±àÂë»ìÏýÔòͨ¹ý¶Ô×Ö·û´®½øÐмÓÃÜ»òʹÓñàÂë¼¼Êõ£¨ÈçBase64±àÂë¡¢¼òµ¥¼ÓÃÜËã·¨µÈ£©£¬ÔÚ·¨Ê½ÔËÐÐʱÔÙ½øÐнâÂë¡£ÕâЩÊֶβ»½öÔö¼ÓÁ˾²Ì¬·ÖÎöµÄÄѶȣ¬Ò²Ê¹µÃ·ÖÎö¹¤¾ßÎÞ·¨Ö±½Óʶ±ð³ö¶ñÒâÐÐΪ¡£ÕâÖÖ¼¼ÊõʹµÃ¾²Ì¬·ÖÎö¹¤¾ßÎÞ·¨Ö±½Ó¿´µ½Òªº¦Êý¾Ý¡£Äþ¾²Ñо¿ÈËÔ±¿ÉÒÔʹÓö¯Ì¬·ÖÎö¹¤¾ß£¬ÈçFrida£¬À´²¶×½ÔËÐÐʱµÄ½âÃܹý³Ì£¬½Òʾ¶ñÒâÈí¼þÔÚÔËÐÐʱËù×öµÄ²Ù×÷¡£×Ö·û´®¼ÓÃÜʾÀýÈçÏÂͼËùʾ£º

3.2.3 ¿ØÖÆÁ÷»ìÏý
¿ØÖÆÁ÷»ìÏý¼¼Êõͨ¹ý²åÈëÎÞÒâÒåµÄ¿ØÖƽṹ£¨Èç¶àÓàµÄÌõ¼þ·ÖÖ§¡¢Ñ»·»òÈßÓà´úÂ룩£¬¹ÊÒâ¸Ä±ä·¨Ê½µÄÖ´Ðз¾¶£¬´úÂë¿éÖØÐÂÅÅÐòµÈÊÖ¶ÎʹµÃ·ÖÎö¹¤¾ßÔÚʵÑé½âÎö·¨Ê½Ê±£¬ÏÝÈë¹ýÓÚÅÓ´óµÄ´úÂë½á¹¹ÖУ¬µ¼ÖÂÎÞ·¨×¼È·µØ»¹Ô·¨Ê½µÄÕæʵÂß¼¡£ÓÉÓÚ¿ØÖÆÁ÷»ìÏýÒýÈëÁË´óÁ¿²»ÐëÒªµÄÖ´Ðз¾¶£¬¾²Ì¬·ÖÎö¹¤¾ß¿ÉÄÜÎÞ·¨ÓÐЧÌáÈ¡³ö·¨Ê½µÄʵ¼ÊÐÐΪ¡£
ΪÁËÓ¦¶ÔÕâÖÖ»ìÏý£¬Äþ¾²Ñо¿ÈËԱͨ³£ÐèҪͨ¹ýÄ£ÄâÖ´ÐÐÒÔ¼°¶¯Ì¬·ÖÎö¼¼ÊõÀ´¸¨ÖúÊÖ¶¯×·×Ù·¨Ê½µÄÖ´ÐÐÁ÷£¬Öð²½»¹Ô·¨Ê½µÄÕæʵÂß¼¡£ÏÂͼչʾÁËÒ»¸ö¼òµ¥µÄ¿ØÖÆÁ÷»ìÏýʾÀý£¬Õ¹Ê¾ÁËÔÚ»ìÏýÇ°ºóµÄ¿ØÖÆÁ÷½á¹¹²îÒì¡£

ͼ20 ¿ØÖÆÁ÷»ìÏýÇ°ºóµÄ²îÒì¶Ô±È
3.2.4 ·´Éä»úÖÆÓ붯̬¼ÓÔØ
¶¯Ì¬¼ÓÔØ»úÖÆÊǶñÒâÈí¼þ³£Óõķ´¾²Ì¬·ÖÎö¼¼Êõ£¬Ö÷Òª°üÂÞµ±µØÕð̬¼ÓÔغÍÔ¶³Ì¶¯Ì¬¼ÓÔØÁ½ÖÖ·½Ê½¡£µ±µØÕð̬¼ÓÔØͨ¹ý¼ÓÔص±µØ´æ´¢µÄ¶¯Ì¬¿â»òdexÎļþ£¬¶¯Ì¬µ÷ÓÃÒªÁì»òÀ࣬ʹµÃ¶ñÒâÐÐΪÔÚ¾²Ì¬·ÖÎö½×¶ÎÎÞ·¨±»·¢ÏÖ¡£Ô¶³Ì¶¯Ì¬¼ÓÔØÔòͨ¹ýÔÚÔËÐÐʱ´ÓÔ¶³Ì·þÎñÆ÷ÏÂÔض¯Ì¬¿â»òdexÎļþÀ´¼ÓÔز¢Ö´ÐжñÒâ´úÂ룬ÕâÖÖ·½Ê½½øÒ»²½¹æ±ÜÁ˾²Ì¬·ÖÎö¹¤¾ßµÄ¼ì²â£¬ÒòΪ¶ñÒâ´úÂ벢δ·ºÆðÔÚapkÎļþÖС£¶ñÒâÈí¼þÍùÍùͨ¹ý·´Éä¼¼Êõ½áºÏ¶¯Ì¬¼ÓÔØ£¬ÀûÓÃÔËÐÐʱµÄ·´Éäµ÷ÓûúÖÆÒþ²Ø¶ñÒâÐÐΪ£¬Ê¹µÃ³õÆÚ¾²Ì¬·ÖÎöÎÞ·¨Ê¶±ðÕâЩ¶ñÒâ»î¶¯¡£ÎªÁËÓ¦¶ÔÕâÒ»ÌôÕ½£¬Äþ¾²Ñо¿ÈËԱͨ³£ÒÀÀµ¶¯Ì¬·ÖÎöÊֶΣ¬Èçͨ¹ýFrida×¢Èë½Å±¾¡¢Ê¹Óõ÷ÊÔ¹¤¾ß¶¯Ì¬¸ú×Ù»òͨ¹ýÈÕÖ¾·ÖÎö²¶×½·´Éäµ÷ÓõĹý³Ì£¬´Ó¶ø½Òʾ¶ñÒâ´úÂëµÄÕæʵÐÐΪ¡£ÕâЩ¶¯Ì¬·ÖÎöÒªÁìÄܹ»Èƹý¾²Ì¬·ÖÎöµÄÏÞÖÆ£¬Ê¶±ðͨ¹ý·´ÉäºÍ¶¯Ì¬¼ÓÔØÒþ²ØµÄ¶ñÒâÐÐΪ¡£
½ÓÏÂÀ´£¬ÎÒÃÇÀ´¿´Ò»¸öÀûÓõ±µØÕð̬¼ÓÔصĶñÒâ´úÂëʾÀý¡£ÏÂͼչʾÁ˸öñÒâ´úÂëµÄĿ¼½á¹¹¡£

ͼ21 Ŀ¼Ê÷ÐÅÏ¢
ËäÈ»´ÓÍâòÉÏ¿´£¬¸ÃĿ¼½ö°üÂÞ¼¸¸öÒªÁ죬µ«ÉîÈë·ÖÎöºó·¢ÏÖ£¬¶ñÒâ´úÂëͨ¹ýattachBaseContextÒªÁìµ÷ÓÃÁËÒ»¸öÃûΪbµÄÒªÁ죬½øÒ»²½ÊµÏÖÁË´ÓassetsĿ¼¼ÓÔؼÓÃܵĴúÂëÎļþ¡£¸ÃÎļþ¾¹ýÒì»ò½âÃܺó£¬Í¨¹ý¶¯Ì¬µ÷Óõķ½Ê½±»¼ÓÔز¢Ö´ÐУ¬´úÂëÈçÏÂͼËùʾ£º

3.2.5 Native»ìÏý
Native»ìÏý¼¼ÊõÊÇͨ¹ý¶àÖÖÊֶμӴó¶Ô¶ñÒâÈí¼þÄæÏò·ÖÎöµÄÄѶȣ¬³£¼ûµÄ¼¼Êõ°üÂÞÒÔϼ¸ÖÖ£º
£¨1£©JNI½Ó¿Ú»ìÏý£º¶ñÒâÈí¼þͨ¹ýJNI£¨Java Native Interface£©½«Òªº¦Â߼תÒƵ½.soÎļþÖУ¬²¢Í¨¹ý»ìÏýµÄJNI½Ó¿Úµ÷Óõ±µØ´úÂ롣ͨ¹ý½«Ô±¾ÇåÎúµÄµ±µØÒªÁìÃûÌ滻ΪÎÞÒâÒåµÄ·ûºÅ»òËæ»ú×Ö·û£¬¶ñÒâ´úÂëµÄ¹¦Ð§ºÍ½á¹¹±äµÃÔ½·¢ÄÑÒÔÀí½âºÍ×·×Ù¡£

ͼ23 JNI½Ó¿Ú»ìÏýʾÀý
£¨2£©Session¼ÓÃÜ£º½«Òªº¦ÒªÁì´æ´¢ÔÚ×Ô½ç˵µÄ.sectionÖУ¬²¢¶ÔÕâЩ×Ô½ç˵µÄ.sectionÄÚÈݽøÐмÓÃÜ¡£ÓÉÓÚ.soÎļþÔÚ¼ÓÔØʱ»áÓÅÏÈÖ´ÐÐ.init_array¶Î£¬Òò´Ë½«½âÃÜÂ߼ǶÈëµ½.init_arrayÖС£ÔÚÔËÐÐʱ£¬Í¨¹ý½âÃÜÒªÁì»ñÈ¡ÄÚ´æÖи÷¸ö.sectionµÄÆðʼµØÖ·ºÍ¾Þϸ£¬¶Ô¼ÓÃܵÄ.section½øÐнâÃÜ»¹Ô£¬´Ó¶ø»Ö¸´Òªº¦ÒªÁìµÄÕý³£Ö´ÐС£

ͼ24 Session¼ÓÃܵÄʾÀý
£¨3£©º¯Êý¼ÓÃÜ£º½âÎö.soÎļþ£¬Í¨¹ýÒªÁìÃû¶¨Î»Ä¿±êÒªÁìºó£¬¶ÔÆä½øÐмÓÃÜ¡£ÔÚ¼ÓÔØ.soÎļþʱ£¬Í¨¹ýÖ¸¶¨ÒªÁìµÄµØÖ·µ÷ÓýâÃÜÂß¼£¬½«¼ÓÃܵÄÒªÁ춯̬½âÃÜ»¹Ô£¬ÒÔʵÏÖ¶ÔÒªº¦Âß¼µÄ±£»¤¡£

ͼ25 JNI¼Ó½âº¯Êý¾½âÃÜ»¹ÔµÄ²¿ÃÅ´úÂëʾÀý
£¨4£©×Ö·û´®¼ÓÃÜÓ붯̬½âÃÜ£º¶ñÒâÈí¼þͨ¹ý¼ÓÃÜÒªº¦×Ö·û´®£¨ÈçURL¡¢ÃüÁî¡¢ÃÜÔ¿µÈ£©£¬²¢ÔÚÔËÐÐʱͨ¹ý¶¯Ì¬½âÃָܻ´ÆäÔʼÄÚÈÝ¡£¼ÓÃܵÄ×Ö·û¹´Í¨³£´æ´¢ÔÚ¾²Ì¬Êý¾ÝÇøÓò£¬¶ø½âÃÜÔòͨ¹ýÌض¨Ëã·¨»òÔÚÄÚ´æÖж¯Ì¬Íê³É£¬´Ó¶øʹµÃ¾²Ì¬·ÖÎö¹¤¾ßÎÞ·¨Ö±½ÓÌáÈ¡¶ñÒâÐÅÏ¢¡£

ͼ26 Native½âÃÜ×Ö·û´®Ê¾Àý
£¨5£©»¨Ö¸ÁîÓëÀ¬»ø´úÂë²åÈ룺ͨ¹ýÔÚ´úÂëÖвåÈëαָÁî»òÎÞЧ´úÂ룬¶ñÒâÈí¼þÄܹ»»ìÏý·¨Ê½µÄʵ¼ÊÐÐΪ¡£ÕâЩ»¨Ö¸ÁîûÓÐʵ¼Ê¹¦Ð§£¬µ«Ôö¼ÓÁËÄæÏò¹¤³ÌµÄÅÓ´óÐÔ¡£À¬»ø´úÂë²»½öÔö¼ÓÁË·¨Ê½µÄÌå»ý£¬»¹Ê¹µÃ×·×ÙºÍÀí½â¶ñÒâ´úÂë±äµÃÔ½·¢À§ÄÑ¡£

ͼ27 Ò»¸ö¼òµ¥µÄÀ¬»øÖ¸ÁîʾÀý
£¨6£©´úÂë¼Ó¿ÇÓë×ÔÐ޸ĴúÂ룺ÔÚNative²ã£¬¶ñÒâÈí¼þ¾³£Ê¹ÓüӿǼ¼ÊõÀ´Òþ²ØºËÐĶñÒâ´úÂë¡£¼Ó¿Çºó£¬¶ñÒâ´úÂëÒÔ¼ÓÃÜ»òѹËõÐÎʽ´æ´¢£¬Ö»ÓÐÔÚÔËÐÐʱ²Å»á½âÃÜ»ò½âѹ¡£×ÔÐ޸ĴúÂë¼¼ÊõÔòÔÊÐí¶ñÒâÈí¼þÔÚÔËÐÐʱ¶¯Ì¬Éú³É¡¢Ð޸ĺÍÖ´ÐдúÂ룬½øÒ»²½×èÖ¹¾²Ì¬·ÖÎö¹¤¾ßʶ±ðÍêÕûµÄ¶ñÒâÐÐΪ¡£

ͼ28 ͨ¹ýHookÐ޸ĴúÂëµÄʾÀý
£¨7£©·´µ÷ÊÔÓëÄ£ÄâÆ÷¼ì²â£ºÎªÁË·´¿¹¶¯Ì¬·ÖÎö£¬¶ñÒâÈí¼þÍùÍù»áÔÚNative²ãǶÈë·´µ÷ÊÔ»úÖÆ£¬ÀýÈçͨ¹ý¼ì²âµ÷ÊÔÆ÷µÄ´æÔÚ£¨Èçgdb»òFrida£©À´ÖжϷÖÎö¹ý³Ì¡£´ËÍ⣬¶ñÒâÈí¼þÒ²»á½øÐÐÄ£ÄâÆ÷¼ì²â£¬Í¨¹ý¼ì²éÉ豸ÊÇ·ñÔËÐÐÔÚÄ£ÄâÆ÷»òɳºÐ»·¾³ÖÐÀ´ÖÆÖ¹±»¶¯Ì¬·ÖÎö¹¤¾ß²¶×½¡£

ͼ29 ¼ì²âÄ£ÄâÆ÷ʾÀý
£¨8£©¿ØÖÆÁ÷»ìÏý£º¿ØÖÆÁ÷»ìÏýͨ¹ý¸Ä±ä·¨Ê½µÄÖ´Ðз¾¶£¬Ê¹µÃ·ÖÎöÈËÔ±ÄÑÒÔÀí½â·¨Ê½µÄʵ¼ÊÁ÷³Ì¡£³£¼ûµÄÒªÁì°üÂÞ²åÈëÎÞЧµÄ¿ØÖÆÁ÷£¨ÈçÌøת¡¢·ÖÖ§Óï¾ä£©¡¢ÎÞÓõÄÑ»·ºÍº¯Êýµ÷Óã¬ÈÅÂÒ·ÖÎö¹¤¾ß×·×ÙÖ¸ÁîµÄ˳Ðò¡£

ͼ30 Ò»¶Î¿ØÖÆÁ÷»ìÏý´úÂëʾÀý
£¨9£©LLVM»ìÏý£ºLLVMÊÇÒ»ÖÖÇ¿´óµÄ±àÒëÆ÷¿ò¼Ü£¬¶ñÒâÈí¼þͨ¹ýʹÓÃLLVM¼¼ÊõÀ´¶ÔNative´úÂë½øÐÐÅÓ´óµÄ»ìÏý´¦Öá£LLVM»ìÏýÄÜͨ¹ýÓÅ»¯±àÒë¹ý³Ì£¬Éú³ÉÄÑÒÔÔĶÁºÍÀí½âµÄ¶þ½øÖÆÎļþ£¬Í¬Ê±¶ÔÎļþ¾ÞϸӰÏì½ÏС¡£ÕâÖÖ¼¼ÊõÓÐЧÔö¼ÓÁËÄæÏò¹¤³ÌµÄÅÓ´ó¶È¡£

ͼ31 LLVM»ìÏýÇ°ºó¶Ô±ÈʾÀý
ÕâЩNative»ìÏý¼¼Êõͨ³£±»×éºÏʹÓ㬹¹½¨¶àÌõÀíµÄ±£»¤»úÖÆ£¬´Ó¶øʹ´«Í³µÄ¾²Ì¬·ÖÎöºÍ¶¯Ì¬·ÖÎöÒªÁìÃæÁÙ¾Þ´óµÄÌôÕ½¡£½èÖúÕâЩ¼¼Êõ£¬¶ñÒâÈí¼þÄܹ»ÓÐЧÒþ²ØÆäÕæʵÐÐΪ£¬¹æ±ÜÄþ¾²Ñо¿ÈËÔ±µÄ¼ì²âÒÔ¼°·À»¤ÏµÍ³µÄÀ¹½Ø¡£´ËÍ⣬ÉÌÒµ¼Ó¹Ì±£»¤½øÒ»²½ÌáÉýÁË·À»¤µÄÈ«ÃæÐÔ¡£¶ñÒâÈí¼þ³£ÀûÓÃÉÌÒµ¼Ó¹Ì²úÎï¶Ô×ÔÉí½øÐб£»¤£¬ÉõÖÁºÚ»Ò²úÈí¼þҲƵ·±½ÓÄÉ´ËÀ༼Êõ½øÐзÀ»¤£¬ÈçÏÂͼËùʾ£º

3.2.6 ´úÂëÐéÄ⻯
´úÂëÐéÄ⻯ÊÇÄ¿Ç°×îÏȽøµÄ»ìÏýÊÖ¶ÎÖ®Ò»£¬Ëüͨ¹ý½«Ôʼ´úÂëת»»Îª×Ô½ç˵µÄÐéÄâ»úÖ¸Á¼«´óµØÌá¸ßÁË´úÂëÅÓ´ó¶ÈºÍ·ÖÎöÄѶȡ£Ó봫ͳµÄ¿ØÖÆÁ÷»ìÏý²îÒ죬ÐéÄ⻯¼¼Êõ½«Òªº¦´úÂëµÄÖ´ÐÐÂß¼·â×°ÔÚÐéÄâ»úÖУ¬Ê¹µÃºËÐĹ¦Ð§ºÍ¿ØÖÆÁ÷¼¸ºõÎÞ·¨Í¨¹ýͨÀý·´±àÒëÊֶλ¹Ô¡£ÒÔÏ´ÓDEXÐéÄ⻯ºÍSOÐéÄ⻯Á½¸öά¶È½øÐзÖÎö£º
DEXÐéÄ⻯¼¼ÊõÖ÷ÒªÕë¶ÔAndroidÓ¦ÓÃÖеÄDalvik×Ö½ÚÂë¡£ÕâÖÖ¼¼Êõͨ¹ý½«DEXÖеÄ×Ö½ÚÂëת»»³É×Ô½ç˵µÄÐéÄâ»úÖ¸ÁȻºóÓÉNative²ãÐéÄâ»ú½âÊÍÖ´ÐУ¬´Ó¶ø±£»¤Òªº¦´úÂëºÍºËÐÄÂß¼¡£ÕâÖÖת»»Ê¹µÃ´«Í³µÄ·´±àÒ빤¾ßÄÑÒÔ»¹Ô´úÂëµÄÔʼÂß¼£¬ÒòΪËüÃÇÎÞ·¨Ê¶±ðת»»ºóµÄÖ¸Á¡£ÀýÈ磬ijµçÉÌƽ̨ͨ¹ý©¶´ÌáȨʵʩ¶ñÒâÐÐΪ£¬²¢ÎªÒþ²ØÆäºËÐÄ´úÂëÂß¼£¬½ÓÄÉÁËÒ»Ì×»ùÓÚJVM¹¹½¨µÄÐéÄâ»ú±£»¤£¨VMP£©¼¼Êõ¶Ô´úÂë½øÐмӹ̡£ÏÂͼչʾÁËÆä±£»¤ºóµÄ¶þ½øÖÆÄÚÈÝ£¬¿ÉÒÔÃ÷ÏÔ¿´³ö£¬´úÂëÒѱ»ÐéÄ⻯Ϊ¸ß¶È³éÏóµÄÐéÄâ»úÖ¸ÁʹµÃ´«Í³µÄ·´±àÒëºÍ¾²Ì¬·ÖÎöÒªÁ켸ºõÎÞЧ¡£

ͼ33 ½âÎö¾vmp±£»¤µÄdexÎļþʾÀý
SOÐéÄ⻯¼¼ÊõÔò¹Ø×¢ÓÚ±£»¤Ó¦ÓÃÖеÄNative´úÂ룬¼´SOÎļþ¡£ÕâÖÖ¼¼Êõ¿ÉÒÔͨ¹ýÒþ²Ø·ûºÅ±í¡¢×ÊÔ´¼ÓÃܵȷ½Ê½À´±£»¤SOÎļþÖеĹ¦Ð§²»±»ÇáÒ×·ÖÎöºÍ¸Ä¶¯¡£ÀýÈ磬Virbox ProtectorÌṩÁ˶ÔSOÎļþµÄ±£»¤Ñ¡Ï°üÂÞÒþ²Ø·ûºÅ±íºÍ¶ÔÌض¨SOÎļþµÄ¼ÓÃܱ£»¤¡£Í¨¹ýÕâÖÖ·½Ê½£¬¼´Ê¹¹¥»÷ÕßÄܹ»·ÃÎʵ½SOÎļþ£¬Ò²ÎÞ·¨ÇáÒ×Àí½âÎļþÖеĺ¯ÊýºÍÂß¼£¬´Ó¶ø±£»¤ÁËÓ¦ÓõÄÄþ¾²¡£

ͼ34 ijÉÌÒµ¼Ó¹Ì²úÎï¶ÔDEXºÍSOµÄÐéÄ⻯±£»¤½éÉÜ
3.3 ÆäËû»ìÏýÊÖ¶Î
һЩ¶ñÒâÈí¼þͨ¹ýÇÉÃîÀûÓÃWindowsºÍAndroidÎļþϵͳµÄ²îÒìÐÔ£¬ÓÐЧ·´¿¹¾²Ì¬·ÖÎöºÍÄæÏò¹¤³Ì¡£ÔÚWindowsϵͳÖУ¬ÎļþÃû²»Çø·Ö¾Þϸд£¬µ«»á±£ÁôÆäÔʼ¸ñʽ£¬¶øAndroidÎļþϵͳÔòÇø·Ö¾Þϸд¡£ÕâÖÖ²îÒìʹµÃijЩÔÚWindowsϵͳÉÏ¿ÉÄÜÒý·¢³åÍ»»ò´íÎóµÄÎļþÃû£¬Äܹ»ÔÚAndroidÉ豸ÉÏÕý³£Ê¹ÓᣴËÍ⣬Windowsϵͳ¶ÔÎļþÃûÖеÄÌØÊâ×Ö·û£¨Èç > < : " / \ | * ?£©ÓÐÑϸñÏÞÖÆ£¬¶øAndroidϵͳÔÊÐíÕâЩ×Ö·ûµÄ´æÔÚ¡£¶ñÒâÈí¼þ³£Í¨¹ýÔÚÎļþÃûÖÐǶÈëÕâЩÌØÊâ×Ö·û£¬×ÌÈÅ»ùÓÚWindowsµÄ·ÖÎö¹¤¾ß£¬µ¼ÖÂÎļþÎÞ·¨¶ÁÈ¡»ò´¦Ö㬴ӶøÔö¼ÓÄæÏò·ÖÎöµÄÄѶȡ£
²»½öÈç´Ë£¬¶ñÒâÈí¼þ»¹¿ÉÄÜÀûÓÃAndroidÎļþϵͳÔÊÐíͬÃûÎļþºÍÎļþ¼Ð¹²´æµÄÌØÐÔ£¬½øÒ»²½Ôö¼Ó·ÖÎöµÄÅÓ´óÐÔ¡£ÀýÈ磬ÔÚAndroidÖУ¬Ò»¸öÃûΪAndroidManifest.xmlµÄÎļþºÍÒ»¸öÃûΪAndroidManifest.xmlµÄÎļþ¼Ð¿ÉÒÔͬʱ´æÔÚ£¬µ«ÔÚWindowsϵͳÖÐÔò»áÒòÃüÃû³åÍ»¶øÎÞ·¨ÊµÏÖ¡£ÕâÖÖ²îÒì¿ÉÄܵ¼Ö»ùÓÚWindowsµÄ·ÖÎö¹¤¾ß´¦ÖÃÕâЩ½á¹¹Ê±¶éÂä»òÌø¹ý½âÎöÕâЩҪº¦Îļþ»òÎļþ¼Ð£¬½ø¶øΪ¶ñÒâÈí¼þÌṩαװ¡£ÀýÈ磬BOOMSLANG¶ñÒâÈí¼þµÄÒ»¸öÔÚÒ°Ñù±¾½ÓÄÉÁËÌØÊâ×Ö·û»ìÏýºÍͬÃûÎļþÓëÎļþ¼Ð¹²´æµÄ·´¿¹¼¼Êõ£¬ÆäAPKÎļþÔÚʹÓÃZIP¹¤¾ß´ò¿ªÊ±ÈçͼËùʾ£º

ͼ35 ͬÃûÎļþºÍÎļþ¼Ð»ìÏýʾÀý
´ÓͼÖпÉÒÔ¿´³ö£¬¶ñÒâÈí¼þ»áͬʱ´´½¨ ¡°\AndroidManifest.xml¡±ºÍ¡°AndroidManifest.xml¡±Ä¿Â¼£¬ÒÔ¼° ¡°\classes.dex¡± ºÍ¡°classes.dex¡±Ä¿Â¼¡£ÕâÖÖ²Ù×÷»áÔÚWindowsϵͳÉϵ¼ÖÂÎļþ¼ÐÏ໥ÁýÕÖ£¬Ôì³ÉÎļþÄÚÈݶªÊ§£¬´Ó¶øÓ°Ïì·´±àÒëµÄÍêÕûÐÔ¡£´ËÍ⣬¶ñÒâÈí¼þ»¹»áʹÓ÷Ƿ¨ÎļþÃû£¬µ¼ÖÂÕâЩÎļþÔÚʹÓÃapktool·´±àÒëʱ±»ºöÂÔ£¬ÈçÏÂͼËùʾ£º

ͼ36 apktoolºöÂÔ·Ç·¨ÎļþÃûµÄʾÀý
һЩ¶ñÒâÈí¼þ»¹»áÔÚÎļþÖÐǶÈëͬÃûµ«¾Þϸд²îÒìµÄÎļþ£¬Í¨¹ýÀûÓÃWindowsÎļþÃû²»Çø·Ö¾ÞϸдµÄÌØÐÔ×ÌÈÅ·ÖÎö¹¤¾ß£¬Ôì³É½âÎö´íÎó»òÒì³£¡£ÒÔÏÂͼƬչʾÁËÒ»Àý°üÂÞͬÃûµ«¾Þϸд²îÒìÎļþµÄ¶ñÒâAPKʾÀý¡£

ͼ37 WindowsÎļþϵͳ²»Çø·ÖÎļþÃû¾ÞϸдµÄʾÀý
ÔÚAndroid¶ñÒâÈí¼þÖУ¬×ÊÔ´»ìÏýÊÇÒ»ÖÖ³£¼ûµÄ·´¿¹¼¼Êõ£¬¹ã·ºÓ¦ÓÃÓÚassetsºÍresµÈÎļþ¼ÐÖеÄ×ÊÔ´Îļþ¡£³£¼ûµÄ×ÊÔ´»ìÏýÊֶΰüÂÞ£º¶ÔassetsĿ¼ÖеÄ×ÊÔ´Îļþ½øÐмÓÃÜ´¦Ö㬴´½¨Éî²ãǶÌ×µÄĿ¼½á¹¹»òʹÓûûÐÎĿ¼Ãû³Æ£¬²åÈë´óÁ¿ÎÞÓÃÎļþ»òαװ×ÊÔ´Îļþ£¬½«Òªº¦×ÊÔ´ÓëÎÞЧ×ÊÔ´»ìÔÓÔÚÒ»Æ𣬴ӶøÔö¼Ó·ÖÎöÄѶȣ»¶ÔresĿ¼ÖеÄ×ÊÔ´Îļþ½øÐлìÏý£¬ÀýÈç¸Ä¶¯×ÊÔ´Ó³Éä¹Øϵ¡¢É¾³ý×ÊÔ´ÎļþÃû»ò¸ü¸ÄÎļþÀ©Õ¹ÃûµÈ¡£ÕâЩÊÖ¶ÎÖ¼ÔÚ×ÌÈÅ·ÖÎö¹¤¾ßµÄ½âÎö¹ý³Ì£¬Ê¹µÃ·ÖÎöÈËÔ±ÄÑÒÔ¿ìËÙ¶¨Î»ºÍʶ±ðÒªº¦Êý¾Ý£¬½øÒ»²½Ìá¸ßÄæÏò¹¤³ÌµÄÄѶȡ£ÏÂͼÊÇÒ»¸ö²åÈëÀ¬»ø×ÊÔ´µÄʾÀý£º

ͼ38 ²åÈëÀ¬»ø×ÊԴʾÀý
һЩ¶ñÒâÈí¼þͨ¹ý½«ÔʼDEXÎļþÖ§½â³É¶à¸öСµÄDEXÎļþ»ò²åÈëÀ¬»ø´úÂ룬Ôö¼Ó¾²Ì¬ºÍ×Ô¶¯»¯·ÖÎöµÄÄѶȡ£Ö§½âDEXÎļþʹ·ÖÎö¹¤¾ßÐèÒªÖð¸ö´¦Öã¬Ôö¼ÓÁË·ÖÎöʱ¼äºÍÅÓ´ó¶È£¬ÇÒÕâЩÎļþͨ³£Í¨¹ý¶¯Ì¬¼ÓÔؼ¼ÊõÔÚÔËÐÐʱ²Å»áºÏ²¢£¬ÄÑÒÔÔÚ¾²Ì¬·ÖÎöÖÐʶ±ð¡£´ËÍ⣬²åÈëµÄÀ¬»ø´úÂë²»Ö´ÐÐʵ¼Ê²Ù×÷£¬µ«Í¨¹ýÐé¼ÙµÄÂß¼ºÍÅÓ´óµÄ¿ØÖÆÁ÷×ÌÈÅ·ÖÎö£¬ÑڸǶñÒ⹦Ч¡£´ËÀà¼ÆıʹµÃ¶ñÒâÈí¼þµÄÐÐΪԽ·¢Òþ±Î£¬ÆÈʹ·ÖÎöÈËÔ±½ÓÄɸüÅÓ´óµÄ¶¯Ì¬·ÖÎöºÍÊÖ¶¯ÄæÏò¹¤³ÌÒªÁì¡£Ò»¸öapkÖаüÂÞ´óÁ¿dexµÄÀý×ÓÈçÏÂͼËùʾ£º

ͼ39 Ö§½â¶à¸ödexʾÀý
³ýÁËÉÏÃæÌáµ½µÄ»ìÏý¼¼Êõ£¬»¹ÓÐһЩÆäËû³£¼ûµ«Î´Ïêϸ½éÉܵļ¼Êõ£¬ÕâЩ¼¼ÊõÄܽøÒ»²½ÔöÇ¿¶ñÒâÈí¼þµÄÄæÏò·ÖÎöÄѶȡ£ÒÔÏÂÊÇÒ»ÕÅ»ìÏý¹¤¾ßµÄʾÀýͼƬ£¬ÆäÖÐչʾÁ˶àÖÖ»ìÏý¹¦Ð§£¬È磺Ôö¼Ó°üÌå»ý¡¢ÄÚ½¨¶ÀÁ¢Ç©ÃûÖ¤Êé¡¢DEX´úÂë»ìÏý¡¢×ÊÔ´»ìÏý¡¢APK·À¸Ä¶¯µÈ¶à¸ö¹¦Ð§¡£

ΪÁ˸üºÃµØÀí½â»ìÏý¼¼ÊõµÄʵ¼ÊÓ¦Óã¬ÒÔÏÂÊǼ¸¸ö³£¼ûµÄAndroid¶ñÒâÈí¼þµÄ»ìÏý¼¼Êõ°¸Àý¡£
4.1 Joker¶ñÒâÈí¼þ»ìÏýÒªÁì
Joker£¨ÖÐÎÄÃû³Æ¡°Ð¡³ó¡±£¬Ò²±»³ÆΪBread£©ÊÇÒ»¸öÔÚGoogle PlayÉ̵êÖм«Îª»îÔ¾µÄ¶ñÒâÈí¼þ¼Ò×å¡£×Ô2016Äê12ÔÂÊ״α»¼ì²âµ½ÒÔÀ´£¬Joker¼Ò×åµÄ»î¶¯Ò»Ö±ÔÚÁ¬Ðø£¬¶øÇÒÆä¶ñÒâÈí¼þµÄ±äÖÖÊýÁ¿Ò²ÔÚ²»Í£Ôö¼Ó¡£±¾ÔÂ×îÐÂÅû¶µÄGoogle PlayÉ̵êÖÐJokerÑù±¾ÐÅÏ¢ÈçÏ£º

ͼ41 GooglePlayÉϵÄJokerľÂíÐÅÏ¢
Joker¼Ò×åµÄ¶ñÒâÈí¼þÄܹ»Öظ´½øÈëGoogle¹Ù·½Ó¦ÓÃÊг¡£¬ÆäÒªº¦ÔÒòÔÚÓÚÆä½ÓÄÉÁ˶àÖָ߼¶´úÂë»ìÏý¼¼Êõ£¬´Ó¶øÈƹýÁËGoogle Play StoreµÄÄþ¾²¼ì²âºÍÉó²é»úÖÆ¡£ÕâЩ»ìÏý¼¼Êõ°üÂÞµ«²»ÏÞÓÚ£º
£¨1£©×Ö·û´®¼ÓÃÜ£ºÍ¨¹ý¼ÓÃÜÒªº¦×Ö·û´®£¬ÈçAPIÇëÇóºÍÅäÖÃÐÅÏ¢£¬ÖÆÖ¹¾²Ì¬·ÖÎö¹¤¾ßµÄÖ±½Óʶ±ð¡£
£¨2£©¶¯Ì¬¼ÓÔØ£º½«¶ñÒâ´úÂëÊèÉ¢µ½µ¥¶ÀµÄPayloadÎļþÖУ¬½öÔÚÔËÐÐʱ¼ÓÔØ£¬ÒÔ¶ã±Ü¾²Ì¬´úÂëɨÃè¡£
£¨3£©·´Éäµ÷ÓãºÀûÓ÷´Éä»úÖƶ¯Ì¬µ÷ÓÃÒªÁ죬Òþ²ØÒªº¦¹¦Ð§µ÷Ó÷¾¶¡£
£¨4£©¶¯Ì¬Ï·¢ÅäÖãºÍ¨¹ýÍøÂçÇëÇó¶¯Ì¬»ñÈ¡ÅäÖûò¶ñÒâÖ¸Á½µµÍ±»¾²Ì¬¼ì²âµÄ·çÏÕ¡£
£¨5£©ÀûÓõÚÈý·½·þÎñ£ºÊ¹ÓÃGithubÒ³ÃæºÍ´æ´¢¿â´æ´¢¶ñÒâÅäÖûò´úÂ룬½øÒ»²½»ìÏýÀ´Ô´ºÍÁ÷Á¿¡£
ÕâЩ¼¼ÊõµÄ×éºÏʹJoker¶ñÒâÈí¼þÄܹ»Àֳɹæ±Ü¾²Ì¬·ÖÎö¼ì²â£¬ÆäÕæʵÐÐΪÍùÍùÒþ²ØÔÚÅÓ´óµÄ¶¯Ì¬Á÷³ÌÖС£ÎªÁ˽ÒʾÆäÐÐΪ£¬·ÖÎöÈËԱͨ³£ÐèÒªÒÀÀµ¶¯Ì¬µ÷ÊÔºÍÔËÐÐʱ½âÃܼ¼Êõ¡£Õë¶ÔÕâЩ»ìÏýÊֶΣ¬Äþ¾²Ñо¿ÈËÔ±¿ÉÒÔ½èÖú¶¯Ì¬·ÖÎö¹¤¾ß£¨ÈçFridaºÍXposed£©×·×Ù½âÃܹý³Ì£¬ÌáÈ¡Òªº¦Êý¾Ý²¢Ê¶±ð¶ñÒâ API µ÷Ó㬴ӶøÈ«Ã滹ÔÆä¶ñÒâÐÐΪ¡£
4.2 BadPackµÄ»ìÏýÊÖ¶Î
BadPackÊǶñÒâÈí¼þͨ¹ý¸Ä¶¯ZIPÎļþ½á¹¹Í·£¬Ê¹ApktoolºÍJadxƽ·ÖÎö¹¤¾ßÎÞ·¨Õý³£½âÎö¡£Æäͨ¹ýʹÓ÷dz߶ȵÄѹËõËã·¨À´×ÌÈÅ·´±àÒ빤¾ßµÄÕý³£ÔËÐС£¾010 Editor·ÖÎö¸ÃAPKÎļþ¸ñʽ£¬·¢ÏÖÆäѹËõÒªÁìֵΪ0xF753£¬ÈçÏÂͼËùʾ£º

ͼ42 ¸Ä¶¯apkÎļþѹËõËã·¨±êʶʾÀý
ÕâÒ»ÊýÖµ²¢²»ÊôÓÚÈκÎÒÑÖªµÄ³ß¶ÈѹËõÒªÁ죬Òò´Ëµ¼Ö·´±àÒ빤¾ßÎÞ·¨Ê¶±ðºÍ´¦ÖøÃÎļþ¡£Æ¾¾Ý³ß¶ÈZIP¸ñʽ¹æ·¶£¬Ñ¹ËõÒªÁìµÄȡֵͨ³£ÈçͼËùʾ¡£

ͼ43 ZIPÖ§³ÖµÄ¸÷ѹËõÒªÁìµÄ±êʶֵʾÀý
ƾ¾ÝAndroidϵͳԴ´úÂ룬µ±ÏµÍ³Óöµ½·ÇCOMP_DEFLATE£¨¼´ 0x08£©Ñ¹ËõÒªÁìʱ£¬»áĬÈϽ«ÊäÈëÎļþ°´ ¡°Î´Ñ¹Ëõ¡± £¨COMP_STORED£¬¼´ 0x00£©·½Ê½´¦Ö᣾ßÌå¶øÑÔ£¬ÏµÍ³»áÖ±½Ó¶ÁÈ¡ÎļþµÄδѹËõÊý¾Ý³¤¶È£¬²¢ÒԴ˽øÐнâÎö¡£Òò´Ë£¬¶ñÒâÈí¼þÀûÓÃÁËAndroidϵͳ¶ÔZIP¸ñʽµÄÈÝ´í»úÖÆ£¬Í¨¹ýʹÓ÷Ƿ¨µÄѹËõËã·¨½øÐлìÏý£¬´Ó¶øµ½´ï¹æ±Ü·´±àÒ빤¾ßµÄÄ¿µÄ¡£ÕâÖÖ»ìÏý¼¼Êõ¼òµ¥È´ÓÐЧ¡£ÔÚ·ÖÎöAndroid¶ñÒâÈí¼þʱ£¬ÈôÓöµ½ÀàËÆÇé¿ö£¬¿É½«Ñ¹ËõÒªÁìÐÞ¸ÄΪ0ÒÔ±ãÕýÈ·½âѹºÍ·ÖÎö¡£
APKα¼ÓÃÜͨ¹ýÐÞ¸ÄZIPÎļþµÄÍ·²¿£¬½«¼ÓÃܱêÖ¾ÉèÖÃΪtrue£¬µ«²¢Î´Êµ¼Ê¶ÔÎļþÄÚÈݽøÐмÓÃÜ¡£ÕâÖÖ¼¼ÊõÀûÓÃÁËAndroidϵͳÔÚ´¦ ZIPÎļþʱ²»»áÑé֤ͷ²¿µÄ¼ÓÃܱêÖ¾£¬¶øÆÕͨµÄ½âѹÈí¼þÔò»á¼ì²â¸Ã±êÖ¾¡£ÀýÈ磬µ±Ê¹ÓÃRAR¹¤¾ß½âѹ¸ÃAPKÎļþʱ£¬»áÌáʾÓû§ÊäÈëÃÜÂ룬ÈçÏÂͼËùʾ£º

ͼ44 α¼ÓÃܵĻìÏýʾÀý
ÓÉÓÚJebºÍJadx¶¼Ê¹Óó߶ȵÄZIP¿â£¬Òò´ËÎÞ·¨Õý³£½âѹ²¢·´±àÒë¸ÃÎļþ¡£ËüÃǵķ´±àÒë´íÎóÐÅÏ¢ÈçÏÂͼËùʾ£º

ͼ45 ÎÞ·¨Ê¹ÓÃJadxºÍJeb´ò¿ªµÄ»ìÏýAPKʾÀý
ͨ¹ý½ÓÄÉBadPack¼¼Êõ£¬¶ñÒâÈí¼þ½«×ÔÉíαװΪÒì³£¸ñʽµÄÎļþ£¬ÀûÓ÷´±àÒ빤¾ß¶ÔÎļþ½âÎöµÄÑϸñÐÔ´¥·¢Òì³££¬´Ó¶øÏÔÖøÔö¼Ó¾²Ì¬·ÖÎöµÄÄѶȡ£ÕâÖÖ¼ÆıÓÐЧ×ÌÈÅÁËÄþ¾²Ñо¿ÈËÔ±µÄ·ÖÎöÁ÷³Ì£¬ÌáÉýÁ˶ñÒâÈí¼þµÄÒþ±ÎÐÔ¡£
Õë¶ÔÕâÒ»¼¼Êõ£¬¿ÉÒÔͨ¹ýÒÔÏÂÒªÁì½øÐÐÓ¦¶Ô£º
£¨1£©Ê¹ÓÃÐÞ¶©ºóµÄZIP¿â£ºÍ¨¹ýÐÞ¸ÄZIP½âѹ¿âµÄ½âÎöÂß¼£¬ºöÂԷdz߶È×ֶλòÒì³£¸ñʽ£¬È·±£ÎļþÄÚÈÝÄܹ»ÕýÈ·½âѹ¡£
£¨2£©±àдÐÞ¸´½Å±¾£º·ÖÎöBadPackÎļþµÄÒì³£×ֶΣ¬Õë¶ÔÌض¨¸ñʽÉè¼Æ½Å±¾£¬×Ô¶¯ÐÞÕýÎļþ½á¹¹£¬Ê¹Æä»Ö¸´Îª³ß¶È¸ñʽÒÔ±ãºóÐø·ÖÎö¡£
ÕâЩӦ¶Ô´ëÊ©Äܹ»ÓÐЧÈƹýBadPack¼¼ÊõµÄ»ìÏýÊֶΣ¬Îª¾²Ì¬·ÖÎöÌṩ¿É¿¿µÄÊý¾ÝÖ§³Ö¡£
4.3 SpyNote¶ñÒâÈí¼þ»ìÏý¼Æı
SpyNoteÊÇÒ»ÖÖ¼äµýÈí¼þ£¬³£Í¨¹ý¶ÌÐź͵öÓãÍøÕ¾µÈ·½Ê½½øÐÐÁ÷´«¡£¹¥»÷Õßͨ³£·¢ËÍ°üÂÞ¶ñÒâÁ´½ÓµÄSMSÏûÏ¢»ò´´½¨Î±×°³ÉºÏ·¨ÍøÕ¾µÄµöÓãÒ³Ã棬ÓÕµ¼Ä¿±êÓû§µã»÷Á´½Ó²¢ÏÂÔØαװ³ÉºÏ·¨Ó¦Ó÷¨Ê½µÄ¶ñÒâÈí¼þ¡£×Ô2016ÄêÔÚ¶ñÒâÈí¼þÂÛ̳Ê×´ÎÆعâÒÔÀ´£¬SpyNoteÒ»Ö±×÷ΪһÖÖÁ¬ÐøÍþвµÄ¶ñÒ⹤¾ßÔÚÈ«Çò·¶Î§ÄÚ»îÔ¾¡£¹ûÈ»Êý¾ÝÏÔʾ£¬½ñÄê1ÔºÍ2ÔÂÆڼ䣬SpyNoteµÄÐÂÔöÑù±¾ÊýÁ¿ÒÑÁè¼Ý3400¸ö£¬±íÃ÷ÆäÍþв»î¶¯ÈÔÔÚ¿ìËÙÀ©É¢¡£×îÐÂÅû¶µÄÍþвÇ鱨ÏÔʾ£¬SpyNoteαװ³ÉÄþ¾²Ó¦Ó÷¨Ê½ÊµÊ©¹¥»÷£¬ÆäÖ÷ҪĿ±êÊǼÓÃÜ»õ±ÒÕË»§£¬ÇÔȡ˽ԿºÍÓà¶îÐÅÏ¢£¬ÓÈÆäÕë¶Ô±ÈÌرҡ¢ÒÔÌ«·»ºÍTetherµÈÈÈÃÅÊý×Ö×ʲú¡£Ïà¹Ø¹¥»÷ʼþÈçÏÂͼËùʾ£º

ͼ46 SpyNote·ÂðÄþ¾²Èí¼þʵʩ¹¥»÷
SpyNote ³ýÁËͨ¹ý¶àÖÖÇþµÀ½øÐÐÁ÷´«£¬»¹½ÓÄÉÁËһϵÁи߼¶»ìÏýÓëÒþ²Ø¼Æı£¬ÒÔ¹æ±Ü¼ì²âºÍ·ÖÎö¡£ÒÔÏÂÊÇÆäÖ÷Òª»ìÏý¼¼ÊõµÄ¼òÒª¸ÅÊö£º
£¨1£©¸Ä¶¯ APK ÎļþµÄ ZIP ¸ñʽ£¬´Ó¶øµ¼Ö·´±àÒëAPKToolÔÚ½âÎöʱʧ°Ü£¬ÈçÏÂͼËùʾ£º

ͼ47 ÐÞ¸Äzip¸ñʽµ¼ÖÂApktool·´±àÒëʧ°ÜµÄʾÀý
£¨2£©¸Ä¶¯Çåµ¥ÎļþħÊõ¡¢²åÈëÀ¬»ø×Ö·û´®¡£Ð޸ĵÄħÊõʾÀýÈçÏÂͼ£º

ͼ48 ÐÞ¸ÄħÊõ»ìÏýʾÀý
£¨3£©ÀûÓÃÏà½ü×Ö·ûʵÏÖ´úÂë»ìÏý£¬ÈçÏÂͼËùʾ£º

ͼ49 Ïà½ü×Ö·û´úÂë»ìÏýʾÀý
£¨4£©¶Ôresources.arscÎļþ»ìÏý£¬Ê¹jadx·´±àÒ빤¾ßÔÚ·ÖÎöʱ¶éÂ䣬ÈçÏÂͼËùʾ£º

ͼ50 JadxÎÞ·¨½âÎöresources.arscÎļþ
Android¶ñÒâÈí¼þµÄ»ìÏý¼¼Êõ²»Í£½ø»¯£¬´Ó¼òµ¥µÄ´úÂëÖØÃüÃûµ½ÅÓ´óµÄ¶¯Ì¬¼ÓÔØÓë·´µ÷ÊÔ¼¼Êõ£¬¶ñÒâÈí¼þͨ¹ýÕâЩÊֶμ«´óµØÌáÉýÁ˶ñÒâ´úÂëµÄÒþ±ÎÐԺͷÖÎöÄѶȡ£Ëæ×Å»ìÏý¼¼ÊõµÄ²»Í£Éú³¤£¬Äþ¾²Ñо¿ÈËÔ±Ò²ÐèÒª²»Í£¸üÐÂ×Ô¼ºµÄ·ÖÎöÊֶΣ¬´Ó¾²Ì¬·ÖÎöÀ©Õ¹µ½¶¯Ì¬·ÖÎö¡¢ÐÐΪ·ÖÎöµÈ¶àά¶ÈµÄ·ÖÎöÒªÁì¡£
δÀ´£¬Ëæ×Å»úÆ÷ѧϰ¡¢È˹¤ÖÇÄܵȼ¼ÊõµÄÒýÈ룬»ìÏý¼¼ÊõºÍÄæÏò·ÖÎö¼¼Êõ½«¼ÌÐø·ºÆð³öÔ½·¢ÅÓ´óºÍ¸ßЧµÄ̬ÊÆ¡£ÔÚÕâÖÖÇé¿öÏ£¬¿ª·¢¸üÇ¿´óµÄ×Ô¶¯»¯¼ì²âºÍ·ÖÎö¹¤¾ß½«ÊÇÆƽâ¶ñÒâÈí¼þ·À»¤µÄÒªº¦¡£Í¬Ê±£¬¿ª·¢ÕߺÍÄþ¾²×¨¼ÒÒ²Ó¦¼ÓÇ¿¶Ô»ìÏý¼¼ÊõµÄÑо¿£¬Öƶ¨³ö¸ü¾ßÕë¶ÔÐÔµÄÓ¦¶Ô¼Æı£¬ÒÔÈ·±£Androidƽ̨µÄÄþ¾²ÐÔ¡£
ͨ¹ýÁ¬ÐøµÄÑо¿ºÍ¼¼Êõ´´Ð£¬ÎÒÃÇÓÐÍûÄܹ»¸üºÃµØ·´¿¹¶ñÒâÈí¼þµÄ»ìÏý¼¼Êõ£¬±£»¤Óû§µÄÒþ˽ÓëÄþ¾²¡£
¶«Éƽ̨»ý¼«·ÀÓùʵÑéÊÒ£¨ADLab£©
ADLab½¨Á¢ÓÚ1999Ä꣬ÊÇÖйúÄþ¾²ÐÐÒµ×îÔ罨Á¢µÄ¹¥·À¼¼ÊõÑо¿ÊµÑéÊÒÖ®Ò»£¬Î¢ÈíMAPP¼Æ»®ºËÐijÉÔ±£¬¡°ºÚȸ¹¥»÷¡±¿´·¨Ê×ÍÆÕß¡£½ØÖÁÄ¿Ç°£¬ADLabÒÑͨ¹ý CNVD/CNNVD/NVDB/CVEÀÛ¼ÆÐû²¼Äþ¾²Â©¶´5000Óà¸ö£¬Á¬Ðø±£³Ö¹ú¼ÊÍøÂçÄþ¾²ÁìÓòÒ»Á÷Ë®×¼¡£ÊµÑéÊÒÑо¿Æ«Ïòº¸Ç»ù´¡Äþ¾²Ñо¿¡¢Êý¾ÝÄþ¾²Ñо¿¡¢5GÄþ¾²Ñо¿¡¢È˹¤ÖÇÄÜÄþ¾²Ñо¿¡¢Òƶ¯Äþ¾²Ñо¿¡¢ÎïÁªÍøÄþ¾²Ñо¿¡¢³µÁªÍøÄþ¾²Ñо¿¡¢¹¤¿ØÄþ¾²Ñо¿¡¢ÐÅ´´Äþ¾²Ñо¿¡¢ÔÆÄþ¾²Ñо¿¡¢ÎÞÏßÄþ¾²Ñо¿¡¢¸ß¼¶ÍþвÑо¿¡¢¹¥·ÀÌåϵ½¨Éè¡£Ñо¿½á¹ûÓ¦ÓÃÓÚ²úÎïºËÐļ¼ÊõÑо¿¡¢¹ú¼ÒÖصã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨ÒµÄþ¾²·þÎñµÈ¡£