[发明专利]一种APP的反调试方法在审
申请号: | 201810461601.0 | 申请日: | 2018-05-14 |
公开(公告)号: | CN108629163A | 公开(公告)日: | 2018-10-09 |
发明(设计)人: | 叶智强;林冬娴;陈卫彬;罗洪鹏 | 申请(专利权)人: | 广东蜂助手网络技术股份有限公司 |
主分类号: | G06F21/14 | 分类号: | G06F21/14 |
代理公司: | 广州三环专利商标代理有限公司 44202 | 代理人: | 王会龙 |
地址: | 510635 广东省广州市天河区龙*** | 国省代码: | 广东;44 |
权利要求书: | 查看更多 | 说明书: | 查看更多 |
摘要: | |||
搜索关键词: | 调试 监听 调用 代码编译 调试状态 控制命令 文件建立 运行时 破解 预设 打包 杀死 | ||
本发明公开了一种APP的反调试方法,包括:根据输入的控制命令,生成反调试代码;其中,反调试代码用于监听APP文件中的TracerPid变量;将反调试代码编译打包成SO文件,并对SO文件建立JNI调用;当APP开始运行时,通过JNI调用,使用SO文件,以监听APP中的TracerPid变量;如果APP中的TracerPid变量大于预设阈值,则杀死APP,结束APP的调试状态。采用本发明实施例,能提高反调试能力和破解难度,减少负载。
技术领域
本发明涉及计算机技术领域,尤其涉及一种APP的反调试方法。
背景技术
在APP开发大环境中,存在着逆向工程与安全方向,而在反编译中,处理工具反编译,还存在着调试反编译。现有的反调试中都是对APP进行加壳,如360加壳。而随着加壳的APP越来越多,也逐渐出现许多非法脱壳处理,存在一定的安全风险。
发明内容
本发明实施例提出一种APP的反调试方法,提高反调试能力和破解难度,减少负载。
本发明实施例提供一种APP的反调试方法,包括:
根据输入的控制命令,生成反调试代码;其中,所述反调试代码用于监听APP文件中的TracerPid变量;
将反调试代码编译打包成SO文件,并对所述SO文件建立JNI调用;
当APP开始运行时,通过所述JNI调用,使用所述SO文件,以监听所述APP中的TracerPid变量;
如果所述APP中的TracerPid变量大于预设阈值,则杀死所述APP,结束所述APP的调试状态。
进一步的,所述反调试代码用于监听APP文件中的TracerPid变量,具体为:
获取应用进程ID,并根据所述应用进程ID,获取所述应用进程的状态信息文件名;
根据所述状态信息文件名,循环检测所述应用进程的状态信息文件;
当所述状态信息文件中的TracerPid变量的值大于0时,杀死所述应用进程,结束所述应用进程的调试状态。
实施本发明实施例,具有如下有益效果:
本发明实施例提供的APP的反调试方法,通过监听APP上的TracerPid变量,来确定是否在反编译状态,从而提高反调试能力。此外,本发明还将反调试代码写在SO库上,提高安全性的同时,减少APP负载。
附图说明
图1是本发明提供的APP的反调试方法的一种实施例的流程示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
参见图1,是本发明提供的APP的反调试方法的一种实施例的流程示意图,该方法包括以下步骤:
步骤101:根据输入的控制命令,生成反调试代码;其中,反调试代码用于监听APP文件中的TracerPid变量。
在本实施例,根据用户输入的控制命令,采用C语言生成相应的反调试代码。反调试代码用于监听APP文件中的TracerPid变量,具体为:获取应用进程ID,并根据应用进程ID,获取应用进程的状态信息文件名;根据状态信息文件名,循环检测应用进程的状态信息文件;当状态信息文件中的TracerPid变量的值大于0时,杀死应用进程,结束应用进程的调试状态。
该专利技术资料仅供研究查看技术是否侵权等信息,商用须获得专利权人授权。该专利全部权利属于广东蜂助手网络技术股份有限公司,未经广东蜂助手网络技术股份有限公司许可,擅自商用是侵权行为。如果您想购买此专利、获得商业授权和技术合作,请联系【客服】
本文链接:http://www.vipzhuanli.com/pat/books/201810461601.0/2.html,转载请声明来源钻瓜专利网。