反调试原理
很多时候,我们都需要进行修改修改应用程序的指令,然后重打包运行,重新打包就需要充签名。 利用签名的变化我们用于反调试。反调试实现代码如下:
![](https://images2015.cnblogs.com/blog/1118630/201705/1118630-20170502144444007-555331682.png)
![](https://images2015.cnblogs.com/blog/1118630/201705/1118630-20170502144444726-2089015340.png)
为了更加隐藏,比较函数可能在SO层进行实现,如下, 还可以实现的更隐藏
![](https://images2015.cnblogs.com/blog/1118630/201705/1118630-20170502144446242-689424621.png)
解决方案:
通过全局搜索getPackageInfo 等关键字,找到相关逻辑。 然后修改逻辑!!
反调试原理很多时候,我们都需要进行修改修改应用程序的指令,然后重打包运行,重新打包就需要充签名。 利用签名的变化我们用于反调试。反调试实现代码如下:
![]() ![]() 为了更加隐藏,比较函数可能在SO层进行实现,如下, 还可以实现的更隐藏
![]() 解决方案:通过全局搜索getPackageInfo 等关键字,找到相关逻辑。 然后修改逻辑!!
![]() |