CN112882721B - 一种软件包编译方法及装置 - Google Patents

一种软件包编译方法及装置 Download PDF

Info

Publication number
CN112882721B
CN112882721B CN202110278433.3A CN202110278433A CN112882721B CN 112882721 B CN112882721 B CN 112882721B CN 202110278433 A CN202110278433 A CN 202110278433A CN 112882721 B CN112882721 B CN 112882721B
Authority
CN
China
Prior art keywords
decompilation
log
decompiling
tool
compiling
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN202110278433.3A
Other languages
English (en)
Other versions
CN112882721A (zh
Inventor
周明付
李芳友
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Shanghai Yiworld Information Technology Group Co ltd Guangzhou Branch
Original Assignee
Shanghai Yiworld Information Technology Group Co ltd Guangzhou Branch
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Shanghai Yiworld Information Technology Group Co ltd Guangzhou Branch filed Critical Shanghai Yiworld Information Technology Group Co ltd Guangzhou Branch
Priority to CN202110278433.3A priority Critical patent/CN112882721B/zh
Publication of CN112882721A publication Critical patent/CN112882721A/zh
Application granted granted Critical
Publication of CN112882721B publication Critical patent/CN112882721B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/41Compilation
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F8/00Arrangements for software engineering
    • G06F8/40Transformation of program code
    • G06F8/53Decompilation; Disassembly

Landscapes

  • Engineering & Computer Science (AREA)
  • General Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Software Systems (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Stored Programmes (AREA)
  • Debugging And Monitoring (AREA)

Abstract

本申请实施例公开了一种软件包编译方法及装置,其中该方法包括:查找反编译入口和回编译入口;在反编译入口和回编译入口中添加目标编译日志,形成目标反编译工具,该目标编译日志用于在完成回编译后查找日志报错位置;使用目标反编译工具进行反编译和回编译,确定报错日志定位结果;在报错日志定位结果中查找停留于目标节点的应用程序编程接口;在应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除该预设格式路径。上述软件包编译方法能够防止反编译工具的字符串超出***限制。

Description

一种软件包编译方法及装置
技术领域
本申请涉及计算机技术领域,具体涉及一种软件包编译方法及装置。
背景技术
对于软件研发技术人员来说,使用反编译工具Apktool对应用软件包进行反编译,获取应用软件包中的内容,进而对应用软件包中的内容进行修改,是一种常见的修改应用软件的实现方式。
在实际应用中,反编译工具Apktool需要使用命令行来运行解析应用软件包,在修改完应用软件包中的内容,使用工具还原应用软件包的过程中,部分应用软件会出现报错。究其原因在于,一些应用软件包内的assets文件夹中存储有过多的资源文件,使用反编译工具Apktool解析应用软件包时,会将assets文件夹中的部分文件记录在命名为apktool.yml的文件中;使用工具还原应用软件包时,会将所记录的apktool.yml文件输出到命令行,在assets文件夹中存储有过多资源文件的情况下,将会超出***对于命令行的字符串长度限制,例如超出Windows10命令行的260个字符串的长度限制,超出该字符串长度限制就会导致应用软件包回编译失败。
发明内容
本申请实施例提供了一种软件包编译方法及装置,能够防止反编译工具的字符串超出***限制。
有鉴于此,本申请第一方面提供了一种软件包编译方法,所述方法包括:
查找反编译入口和回编译入口;
在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;所述目标编译日志用于在完成回编译后查找日志报错位置;
使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;
在所述报错日志定位结果中查找停留于目标节点的应用程序编程接口;
在所述应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除所述预设格式路径。
可选的,所述在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;包括:
在所述反编译入口和所述回编译入口中添加第一编译日志,形成第一反编译工具;所述第一编译日志用于在完成回编译后查找日志报错范围;
使用所述第一反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为报错日志范围;
在所述反编译入口和所述回编译入口中的所述报错日志范围内添加第二编译日志,形成第二反编译工具;所述第二编译日志用于在完成回编译后查找日志报错位置;
使用所述第二反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为所述报错日志定位结果。
可选的,所述查找反编译入口和回编译入口,包括:
基于反编译工具的源代码,查找所述反编译工具的启动入口;
在所述反编译工具的启动入口中查找所述反编译入口和所述回编译入口。
可选的,所述方法还包括:
在所述应用程序编程接口保存的文件路径中不包括预设格式路径的情况下,保存所述应用程序编程接口中的内容。
可选的,所述目标节点为recordUncompressedFiles节点。
可选的,所述预设格式路径包括assests文件路径和便携式网络图形png文件路径。
本申请第二方面提供了一种软件包编译装置,所述装置包括:
入口查找模块,用于查找反编译入口和回编译入口;
反编译工具形成模块,用于在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;所述目标编译日志用于在完成回编译后查找日志报错位置;
保存日志定位模块,用于使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;
接口查找模块,用于在所述报错日志定位结果中查找停留于目标节点的应用程序编程接口;
路径删除模块,用于在所述应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除所述预设格式路径。
可选的,所述反编译工具形成模块,具体用于在所述反编译入口和所述回编译入口中添加第一编译日志,形成第一反编译工具;所述第一编译日志用于在完成回编译后查找日志报错范围;
所述保存日志定位模块,具体用于使用所述第一反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为报错日志范围;
所述反编译工具形成模块,具体用于在所述反编译入口和所述回编译入口中的所述报错日志范围内添加第二编译日志,形成第二反编译工具;所述第二编译日志用于在完成回编译后查找日志报错位置;
所述保存日志定位模块,具体用于使用所述第二反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为所述报错日志定位结果。
可选的,所述入口查找模块具体用于:
基于反编译工具的源代码,查找所述反编译工具的启动入口;
在所述反编译工具的启动入口中查找所述反编译入口和所述回编译入口。
可选的,所述装置还包括:
内容保存模块,用于在所述应用程序编程接口保存的文件路径中不包括预设格式路径的情况下,保存所述应用程序编程接口中的内容。
可选的,所述目标节点为recordUncompressedFiles节点。
可选的,所述预设格式路径包括assests文件路径和便携式网络图形png文件路径。
从以上技术方案可以看出,本申请实施例具有以下优点:
本申请实施例提供了一种软件包编译方法,该方法包括:查找反编译入口和回编译入口;在反编译入口和回编译入口中添加目标编译日志,形成目标反编译工具,该目标编译日志用于在完成回编译后查找日志报错位置;使用目标反编译工具进行反编译和回编译,确定报错日志定位结果;在报错日志定位结果中查找停留于目标节点的应用程序编程接口;在应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除该预设格式路径。上述软件包编译方法通过在反编译工具中查找导致命令行报错的日志位置,并将该位置处停留于目标节点的应用程序编程接口中的预设格式路径删除,解决了命令行输出路径过长的问题,如此,在特定***中使用反编译工具进行回编译时,不会出现因命令行过程导致回编译失败的问题。
附图说明
图1为本申请实施例提供的软件包编译方法的流程示意图;
图2为本申请实施例提供的软件包编译装置的结构示意图。
具体实施方式
为了使本技术领域的人员更好地理解本申请方案,下面将结合本申请实施例中的附图,对本申请实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅是本申请一部分实施例,而不是全部的实施例。基于本申请中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本申请保护的范围。
本申请的说明书和权利要求书及上述附图中的术语“第一”、“第二”、“第三”、“第四”等(如果存在)是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。应该理解这样使用的数据在适当情况下可以互换,以便这里描述的本申请的实施例能够以除了在这里图示或描述的那些以外的顺序实施。此外,术语“包括”和“具有”以及他们的任何变形,意图在于覆盖不排他的包含,例如,包含了一系列步骤或单元的过程、方法、***、产品或设备不必限于清楚地列出的那些步骤或单元,而是可包括没有清楚地列出的或对于这些过程、方法、产品或设备固有的其它步骤或单元。
现有技术中,使用反编译工具Apktool反编译应用软件包,进而回编译该应用软件包时,经常会因超出***对于命令行的字符串长度限制而出现报错。
为了解决上述现有技术存在的问题,本申请实施例提供了一种软件包编译方法,该方法能够有效地防止反编译工具的字符串超出***限制。
具体的,在本申请实施例提供的软件包编译方法中,先查找反编译入口和回编译入口;然后,在反编译入口和回编译入口中添加目标编译日志,形成目标反编译工具,该目标编译日志用于在完成回编译后查找日志报错位置;接着,使用目标反编译工具进行反编译和回编译,确定报错日志定位结果;进而,在报错日志定位结果中查找停留于目标节点的应用程序编程接口;在应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除该预设格式路径。上述软件包编译方法通过在反编译工具中查找导致命令行报错的日志位置,并将该位置处停留于目标节点的应用程序编程接口中的预设格式路径删除,解决了命令行输出路径过长的问题,如此,在特定***中使用反编译工具进行回编译时,不会出现因命令行过程导致回编译失败的问题。
下面通过方法实施例对本申请提供的软件包编译方法进行详细介绍。
参见图1,图1为本申请实施例提供的软件包编译方法的流程示意图。本申请实施例提供的软件包编译方法,可以在反编译工具源码中查找到用于记录资源文件的应用程序编程接口(Application Programming Interface,API),进而判断该API中是否包含预设格式路径,若包含预设格式路径,则删除预设格式路径,通过上述操作可以减少命令行字符串长度,将命令行字符串长度限制在***规定的字符串长度范围内,避免发生回编译失败的情况。如图1所示,本申请实施例提供的软件包编译方法包括以下步骤:
步骤101:查找反编译入口和回编译入口。
使用反编译工具对应用软件包进行反编译时,可以查看反编译工具的源码,找到反编译工具的启动入口;进而,在该反编译工具的启动入口中,查找反编译入口和回编译入口。
需要说明的是,上述反编译工具具体可以为Apktool;当然,在实际应用中,该反编译工具也可以为其它具备反编译软件包工具的工具,本申请在此不对该反编译工具做具体限定。
需要说明的是,本申请实施例中的应用软件包可以为各类应用程序的软件包,如游戏应用程序的软件包、通信应用程序的软件包、购物应用程序的软件包等等,本申请在此也不对该应用软件包做具体限定。
步骤102:在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;所述目标编译日志用于在完成回编译后查找日志报错位置。
步骤103:使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果。
由于步骤102和步骤103的实现过程具有较强的关联性,因此,下面对步骤102和步骤103的实现过程做整体性介绍。
查找到反编译入口和回编译入口后,可以在该反编译入口和回编译入口中添加目标编译日志,生成目标反编译工具;所添加的目标编译日志用于在完成回编译后查找日志报错位置。进而,使用目标反编译工具进行反编译和回编译,以确定报错的命令行所对应的日志位置,即确定报错日志定位结果。
在一种可能的实现方式中,为了更准确地确定报错日志定位结果,可以在反编译入口和回编译入口中多次添加目标编译日志,从而进行多个层次的报错日志定位。
具体的,在反编译工具的启动入口中查找到反编译和回编译入口后,可以先在反编译入口和回编译入口中添加第一编译日志,形成第一反编译工具;该第一编译日志用于在完成回编译后粗略地查找日志报错日志,即用于查找日志报错范围。然后,使用该第一反编译工具进行反编译和回编译,并在输出结果保存后查看命令行页面报错前的日志,将其作为报错日志范围。进一步地,可以在反编译入口和回编译入口中的报错日志范围内添加第二编译日志,形成第二反编译工具;该第二编译日志用于在完成回编译后详细地查找日志报错位置,即用于查找日志报错位置。进而,使用该第二反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为报错日志定位结果。
应理解,在实际应用中,除了可以通过上述实现方式,在反编译入口和回编译入口中添加两次编译日志,实现粗粒度和细粒度地两次报错日志查找操作外,也可以仅在反编译入口和回编译入口中添加一次编译日志,执行一次报错日志的查找操作,还可以在反编译入口和回编译入口中添加三次或者三次以上的编译日志,执行三次或者三次以上报错日志的查找操作。本申请在此不对编译日志的添加次数、以及报错日志查找操作的执行次数做任何限定。
步骤104:在所述报错日志定位结果中查找停留于目标节点的应用程序编程接口。
通过目标反编译工具进行反编译和回编译,确定出报错日志定位结果后,可以在该报错日志定位结果中查找停留于目标节点的API接口。
作为一种示例,该目标节点具体可以为record Uncompressed Files节点。
步骤105:在所述应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除所述预设格式路径。
查找到停留于目标节点的API接口后,可以判断该API接口保存的文件路径中是否包括预设格式路径;若包括该预设格式路径,则删除该预设格式路径,如此保证后续能够输出不超出字符串长度限制的文件;若不包括该预设格式路径,则保存该API接口中的文件路径。
作为一种示例,该预设格式路径包括assets文件路径和便携式网络图形(Portable Network Graphics,PNG)文件路径。
在本申请实施例提供的软件包编译方法中,先查找反编译入口和回编译入口;然后,在反编译入口和回编译入口中添加目标编译日志,形成目标反编译工具,该目标编译日志用于在完成回编译后查找日志报错位置;接着,使用目标反编译工具进行反编译和回编译,确定报错日志定位结果;进而,在报错日志定位结果中查找停留于目标节点的应用程序编程接口;在应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除该预设格式路径。上述软件包编译方法通过在反编译工具中查找导致命令行报错的日志位置,并将该位置处停留于目标节点的应用程序编程接口中的预设格式路径删除,解决了命令行输出路径过长的问题,如此,在特定***中使用反编译工具进行回编译时,不会出现因命令行过程导致回编译失败的问题。
本申请实施例还提供了一种软件包编译装置。参见图2,图2为本申请实施例提供的软件包编译装置的结构示意图,如图2所示,该软件包编译装置包括:
入口查找模块201,用于查找反编译入口和回编译入口;
反编译工具形成模块202,用于在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;所述目标编译日志用于在完成回编译后查找日志报错位置;
保存日志定位模块203,用于使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;
接口查找模块204,用于在所述报错日志定位结果中查找停留于目标节点的应用程序编程接口;
路径删除模块205,用于在所述应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除所述预设格式路径。
可选的,所述反编译工具形成模块202,具体用于在所述反编译入口和所述回编译入口中添加第一编译日志,形成第一反编译工具;所述第一编译日志用于在完成回编译后查找日志报错范围;
所述保存日志定位模块203,具体用于使用所述第一反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为报错日志范围;
所述反编译工具形成模块202,具体用于在所述反编译入口和所述回编译入口中的所述报错日志范围内添加第二编译日志,形成第二反编译工具;所述第二编译日志用于在完成回编译后查找日志报错位置;
所述保存日志定位模块203,具体用于使用所述第二反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为所述报错日志定位结果。
可选的,所述入口查找模块201具体用于:
基于反编译工具的源代码,查找所述反编译工具的启动入口;
在所述反编译工具的启动入口中查找所述反编译入口和所述回编译入口。
可选的,所述装置还包括:
内容保存模块,用于在所述应用程序编程接口保存的文件路径中不包括预设格式路径的情况下,保存所述应用程序编程接口中的内容。
可选的,所述目标节点为record Uncompressed Files节点。
可选的,所述预设格式路径包括assests文件路径和便携式网络图形png文件路径。
本申请实施例提供的软件包编译装置,先查找反编译入口和回编译入口;然后,在反编译入口和回编译入口中添加目标编译日志,形成目标反编译工具,该目标编译日志用于在完成回编译后查找日志报错位置;接着,使用目标反编译工具进行反编译和回编译,确定报错日志定位结果;进而,在报错日志定位结果中查找停留于目标节点的应用程序编程接口;在应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除该预设格式路径。上述软件包编译装置通过在反编译工具中查找导致命令行报错的日志位置,并将该位置处停留于目标节点的应用程序编程接口中的预设格式路径删除,解决了命令行输出路径过长的问题,如此,在特定***中使用反编译工具进行回编译时,不会出现因命令行过程导致回编译失败的问题。
所属领域的技术人员可以清楚地了解到,为描述的方便和简洁,上述描述的***,装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。
在本申请所提供的几个实施例中,应该理解到,所揭露的***,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个***,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本申请各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本申请的技术方案本质上或者说对现有技术做出贡献的部分或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本申请各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(英文全称:Read-OnlyMemory,英文缩写:ROM)、随机存取存储器(英文全称:Random Access Memory,英文缩写:RAM)、磁碟或者光盘等各种可以存储计算机程序的介质。
应当理解,在本申请中,“至少一个(项)”是指一个或者多个,“多个”是指两个或两个以上。“和/或”,用于描述关联对象的关联关系,表示可以存在三种关系,例如,“A和/或B”可以表示:只存在A,只存在B以及同时存在A和B三种情况,其中A,B可以是单数或者复数。字符“/”一般表示前后关联对象是一种“或”的关系。“以下至少一项(个)”或其类似表达,是指这些项中的任意组合,包括单项(个)或复数项(个)的任意组合。例如,a,b或c中的至少一项(个),可以表示:a,b,c,“a和b”,“a和c”,“b和c”,或“a和b和c”,其中a,b,c可以是单个,也可以是多个。
以上所述,以上实施例仅用以说明本申请的技术方案,而非对其限制;尽管参照前述实施例对本申请进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本申请各实施例技术方案的精神和范围。

Claims (8)

1.一种软件包编译方法,其特征在于,所述方法包括:
查找反编译入口和回编译入口;
在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;所述目标编译日志用于在完成回编译后查找日志报错位置;
使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;
在所述报错日志定位结果中查找停留于目标节点的应用程序编程接口;
在所述应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除所述预设格式路径;
所述在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;包括:
在所述反编译入口和所述回编译入口中添加第一编译日志,形成第一反编译工具;所述第一编译日志用于在完成回编译后查找日志报错范围;
使用所述第一反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为报错日志范围;
在所述反编译入口和所述回编译入口中的所述报错日志范围内添加第二编译日志,形成第二反编译工具;所述第二编译日志用于在完成回编译后查找日志报错位置;
使用所述第二反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为所述报错日志定位结果。
2.根据权利要求1所述的方法,其特征在于,所述查找反编译入口和回编译入口,包括:
基于反编译工具的源代码,查找所述反编译工具的启动入口;
在所述反编译工具的启动入口中查找所述反编译入口和所述回编译入口。
3.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在所述应用程序编程接口保存的文件路径中不包括预设格式路径的情况下,保存所述应用程序编程接口中的内容。
4.根据权利要求1所述的方法,其特征在于,所述目标节点为recordUncompressedFiles节点。
5.根据权利要求1所述的方法,其特征在于,所述预设格式路径包括assests文件路径和便携式网络图形png文件路径。
6.一种软件包编译装置,其特征在于,所述装置包括:
入口查找模块,用于查找反编译入口和回编译入口;
反编译工具形成模块,用于在所述反编译入口和所述回编译入口中添加目标编译日志,形成目标反编译工具;所述目标编译日志用于在完成回编译后查找日志报错位置;
保存日志定位模块,用于使用所述目标反编译工具进行反编译和回编译,确定报错日志定位结果;
接口查找模块,用于在所述报错日志定位结果中查找停留于目标节点的应用程序编程接口;
路径删除模块,用于在所述应用程序编程接口保存的文件路径中包括预设格式路径的情况下,删除所述预设格式路径;
所述反编译工具形成模块,具体用于在所述反编译入口和所述回编译入口中添加第一编译日志,形成第一反编译工具;所述第一编译日志用于在完成回编译后查找日志报错范围;
所述保存日志定位模块,具体用于使用所述第一反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为报错日志范围;
所述反编译工具形成模块,具体用于在所述反编译入口和所述回编译入口中的所述报错日志范围内添加第二编译日志,形成第二反编译工具;所述第二编译日志用于在完成回编译后查找日志报错位置;
所述保存日志定位模块,具体用于使用所述第二反编译工具进行反编译和回编译,确定命令行页面报错前的日志,作为所述报错日志定位结果。
7.根据权利要求6所述的装置,其特征在于,所述入口查找模块具体用于:
基于反编译工具的源代码,查找所述反编译工具的启动入口;
在所述反编译工具的启动入口中查找所述反编译入口和所述回编译入口。
8.根据权利要求6所述的装置,其特征在于,所述装置还包括:
内容保存模块,用于在所述应用程序编程接口保存的文件路径中不包括预设格式路径的情况下,保存所述应用程序编程接口中的内容。
CN202110278433.3A 2021-03-16 2021-03-16 一种软件包编译方法及装置 Active CN112882721B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110278433.3A CN112882721B (zh) 2021-03-16 2021-03-16 一种软件包编译方法及装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110278433.3A CN112882721B (zh) 2021-03-16 2021-03-16 一种软件包编译方法及装置

Publications (2)

Publication Number Publication Date
CN112882721A CN112882721A (zh) 2021-06-01
CN112882721B true CN112882721B (zh) 2022-06-24

Family

ID=76042415

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110278433.3A Active CN112882721B (zh) 2021-03-16 2021-03-16 一种软件包编译方法及装置

Country Status (1)

Country Link
CN (1) CN112882721B (zh)

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155717A (zh) * 2015-04-01 2016-11-23 北京蓝海讯通科技有限公司 一种将sdk集成到第三方apk的方法和装置
CN110362970A (zh) * 2019-07-23 2019-10-22 北京智游网安科技有限公司 一种防止应用程序反编译的方法、存储介质及终端设备

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106155717A (zh) * 2015-04-01 2016-11-23 北京蓝海讯通科技有限公司 一种将sdk集成到第三方apk的方法和装置
CN110362970A (zh) * 2019-07-23 2019-10-22 北京智游网安科技有限公司 一种防止应用程序反编译的方法、存储介质及终端设备

Non-Patent Citations (2)

* Cited by examiner, † Cited by third party
Title
Android逆向工具;Jack;《http://jackzhang.info/2018/04/24/Android%E9%80%86%E5%90%91%E5%B7%A5%E5%85%B7/》;20190424;第1-5页 *
基于日志的Android平...意软件检测方案的研究与实现;申慧君;《中国优秀博硕士学位论文全文数据库(硕士)工程科技Ⅱ辑》;20131130;第19-41页 *

Also Published As

Publication number Publication date
CN112882721A (zh) 2021-06-01

Similar Documents

Publication Publication Date Title
CN102054149B (zh) 一种恶意代码行为特征提取方法
US9400733B2 (en) Pattern matching framework for log analysis
JP2015507303A (ja) コード網羅率決定方法およびシステム
CN110781231A (zh) 基于数据库的批量导入方法、装置、设备及存储介质
CN106201861A (zh) 一种代码质量的检测方法及装置
CN104794048A (zh) 一种ui自动化测试方法和***
CN111124872A (zh) 基于差异代码分析的分支检测方法、装置及存储介质
JP6282217B2 (ja) 不正プログラム対策システムおよび不正プログラム対策方法
US20190361684A1 (en) Systems and methods for providing an application transformation tool
US8392892B2 (en) Method and apparatus for analyzing application
CN112882721B (zh) 一种软件包编译方法及装置
CN104536897A (zh) 基于关键字的自动测试方法及***
CN117492670A (zh) 日志打印序列的确定方法、装置及电子设备
CN114676126B (zh) 基于数据库的数据校验方法、装置、设备及存储介质
CN113703753B (zh) 用于产品开发的方法、装置和产品开发***
WO2012104991A1 (ja) プログラムテスト方法、プログラムテストシステム及びプログラム
US10055341B2 (en) To-be-stubbed target determining apparatus, to-be-stubbed target determining method and non-transitory recording medium storing to-be-stubbed target determining program
CN112559331A (zh) 测试方法和装置
CN111045983B (zh) 核电站电子文件管理方法、装置、终端设备及介质
CN113342647A (zh) 一种测试数据的生成方法及装置
JP2018028776A (ja) ソフトウェア資産管理装置、ソフトウェア資産管理方法、および、ソフトウェア資産管理プログラム
CN112632211A (zh) 用于移动机器人的语义信息处理方法与设备
CN106293897B (zh) 组件自动化调度***
CN106990997B (zh) 服务调用方法和装置
CN116661758B (zh) 一种优化日志框架配置的方法、装置、电子设备及介质

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant