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¶ñÒâÈí¼þʱ£¬Çå¾²Ñо¿Ö°Ô±Í¨³£ÐèÒª´Ó¾²Ì¬ÆÊÎöºÍ¶¯Ì¬ÆÊÎöÁ½·½ÃæÈëÊÖ¡£¾²Ì¬ÆÊÎöÍùÍùÊÇ×îÏȾÙÐеİ취£¬¶ø»ìÏýÊÖÒÕͨ¹ýÐ޸ĴúÂëµÄ½á¹¹ºÍ±í´ï·½·¨£¨Èç×Ö·û´®¼ÓÃÜ¡¢´úÂë²ð·Ö¡¢¶¯Ì¬¼ÓÔصȣ©£¬Ê¹¶ñÒâÈí¼þµÄÆÊÎöÄѶÈÏÔÖøÔöÌí¡£±¾ÎĽ«ÒÔÇå¾²Ñо¿Ö°Ô±ÆÊÎö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ÍýÏë½¹µã³ÉÔ±£¬¡°ºÚȸ¹¥»÷¡±¿´·¨Ê×ÍÆÕß¡£×èÖ¹ÏÖÔÚ£¬ADLabÒÑͨ¹ý CNVD/CNNVD/NVDB/CVEÀÛ¼ÆÐû²¼Çå¾²Îó²î5000Óà¸ö£¬Ò»Á¬¼á³Ö¹ú¼ÊÍøÂçÇå¾²ÁìÓòÒ»Á÷Ë®×¼¡£ÊµÑéÊÒÑо¿Æ«Ïòº¸Ç»ù´¡Çå¾²Ñо¿¡¢Êý¾ÝÇå¾²Ñо¿¡¢5GÇå¾²Ñо¿¡¢È˹¤ÖÇÄÜÇå¾²Ñо¿¡¢Òƶ¯Çå¾²Ñо¿¡¢ÎïÁªÍøÇå¾²Ñо¿¡¢³µÁªÍøÇå¾²Ñо¿¡¢¹¤¿ØÇå¾²Ñо¿¡¢ÐÅ´´Çå¾²Ñо¿¡¢ÔÆÇå¾²Ñо¿¡¢ÎÞÏßÇå¾²Ñо¿¡¢¸ß¼¶ÍþвÑо¿¡¢¹¥·Àϵͳ½¨Éè¡£Ñо¿Ð§¹ûÓ¦ÓÃÓÚ²úÆ·½¹µãÊÖÒÕÑо¿¡¢¹ú¼ÒÖصã¿Æ¼¼ÏîÄ¿¹¥¹Ø¡¢×¨ÒµÇå¾²·þÎñµÈ¡£