一文带你识别移动端主流加固的方案

1.移动端主流加固

按照市场使用及推广目前市面上已经成型并进行销售的移动端加固主要有:
1.爱加密加固
2.梆梆加固:
3.腾讯乐固
4.网易易盾
5.360加固
6.阿里云加固
7.百度加固
8.娜迦加固
9.顶象加固

2. 移动端加固的详细分析

2.1 爱加密加固

1. 爱加密加固后会出现两个的Application的入口类,分别为SuperApplication和NativeApplication。
2.APK加固后的入口点会变成 com.shell.SuperApplication
3.加固后会在assets目录下新增三个文件分别为:ijiami.dat、ijiami2.dat、ijiami.ajm。
4.加固后悔增加两个so文件分别为libexec.so和libexecmain.so。

2.2梆梆加固

1.加固后会在Assets的目录下新增secData0.jar文件
2.加固后会新增几个so文件:libSecShell.so、libSecShell_x86.so、libSecShell_art.so等。
3.加固后apk的入口类变成com.secshell.shellwrapper.SecAppWrapper。

2.3 腾讯乐固

1.加固后APK的入口变成com.tencent.StubShell.TxAppEntry
2.加固后lib文件会新增几个文件:liblegudb.so、libshella-2.10.2.3.so、mix.dex。

2.4 网易易盾加固

1.加固后libs目录下会新增个so文件:libnesec。

2.5 360加固

1.加固后apk 的入口点变成:com.stub.StubApp
 2.Assets目录下会新增几个so文件分别诶:libjiagu.so,libjiagu_ls.so,libjiagu_x86.so,libjiagu_art.so。

2.6 阿里云加固

1.壳的入口点还是为原apk的入口点,不过方法都是被抽取并native的。
2.加固后Assets目录下会新增一个文件:libdemolishdata.so
3.加固后libs目录下会新增一个文件:libdemolish.so

2.7 百度加固

1.加固后apk的入口点变成com.baidu.protect.StubApplication
 2.assets目录和libs目录会新增几个文件分别为:libbaiduprotect.so、libbaiduprotect_x86.so、libbaiduprotect_art.so、baiduprotect1.jar。

2.8娜迦加固

  1.加固后libs目录会新增几个so文件分别为:libddog.so、libcdog.so、libfdog.so

2.9顶象加固

1.加固后apk的入口点还是原来的入口点,但是全部都变成native的,而且全是在so文件里,并利用arm编写了对应方法。
2.加固后libs目录下回新增so文件分别为:libjni.so,libsec.so

3.识别移动端加固

3.1 识别检测的方法

通过直接读取apk文件里面的文件特征属性并进行比对,只要apk里面有对应的加固特征属性,那么就证明该apk被加固了。

3.2代码实现

以下是用C++实现了读取apk文件(apk文件其实就是个zip文件)并进行比对的实现代码

CString CApkScanToolDlg::IsAndroidApkProtect()
{
	CString EncryptType;
	vector<CString>::iterator it;
	UpdateData(FALSE);
	ZipFileData m_zipFiledata;
	m_zipFiledata.GetZipFileData(m_filePath.GetBuffer(m_filePath.GetLength()));
	for(it= m_zipFiledata.m_fileInfo.begin(); it != m_zipFiledata.m_fileInfo.end();it++)
	{
		
		CString ExtenName = GetFileExtenName(*it);
		if("so" == ExtenName || "dex" == ExtenName || "dat" == ExtenName)
		{
			CString temp =GetFileName(*it);
			if("libtup.so"  == temp || "libexec.so" == temp || "libshell.so" == temp  || "mix.dex" == temp)
			{
				EncryptType = "腾讯";
				return EncryptType;
			}
			else if("libsgmain.so"  == temp || "aliprotect.dat" == temp || "libsgsecuritybody.so" == temp || "libmobisec.so" == temp)
			{
				EncryptType = "阿里聚安全";
				return EncryptType;
			}
			else if("libchaosvmp.so"  == temp || "libddog.so" == temp || "libfdog.so" == temp )
			{
				EncryptType = "娜迦";
				return EncryptType;
			}
			else if("libkwscmm.so" == temp  ||  "libkwscr.so" == temp || "libkwslinker.so" == temp)
			{
				EncryptType = "几维安全";
				return EncryptType;
			}
			else if("libtosprotection.x86.so"== temp  ||  "libtosprotection.armeabi-v7a.so" == temp || "libtosprotection.armeabi.so" == temp)
			{
				EncryptType = "腾讯御安全";
				return EncryptType;
			}
			else if("libsecexe.so" == temp  ||  "libtosprotection.armeabi-v7a.so" == temp || "libtosprotection.armeabi.so" == temp)
			{
				EncryptType = "梆梆免费版";
				return EncryptType;
			}
			else if("libDexHelper.so" == temp  ||  "libDexHelper-x86.so" == temp )
			{
				EncryptType = "梆梆企业版";
				return EncryptType;
			}
			else if("libexec.so" == temp  ||  "libexecmain.so" == temp || "ijiami.dat" == temp )
			{
				EncryptType = "爱加密免费版";
				return EncryptType;
			}
			else if("libprotectClass.so" == temp  ||  "libjiagu.so" == temp || "libjiagu_art.so" == temp  || "libjiagu_x86.so" == temp)
			{
				EncryptType = "360";
				return EncryptType;
			}
			else if("libegis.so" == temp  ||  "libNSaferOnly.so" == temp )
			{
				EncryptType = "通付盾";
				return EncryptType;
			}
			else if("ijiami.ajm" == temp )
			{
				EncryptType = "爱加密企业版";
				return EncryptType;
			}
			else if("libedog.so" == temp )
			{
				EncryptType = "娜迦企业版";
				return EncryptType;
			}
			else if("libnqshield.so" == temp )
			{
				EncryptType = "网秦";
				return EncryptType;
			}
			else if("librsprotect.so" == temp )
			{
				EncryptType = "瑞星";
				return EncryptType;
			}
			else if("libbaiduprotect.so" == temp )
			{
				EncryptType = "百度";
				return EncryptType;
			}
			else if("libapssec.so" == temp )
			{
				EncryptType = "盛大加密";
				return EncryptType;
			}
			else if("libx3g.so" == temp )
			{
				EncryptType = "顶像科技";
				return EncryptType;
			}
			else if("libAPKProtect.so" == temp )
			{
				EncryptType = "APKProtect";
				return EncryptType;
			}
			else if("libnesec.so" == temp )
			{
				EncryptType = "网易易盾";
				return EncryptType;
			}
			

		}
		
	}

	EncryptType = "恭喜你这apk文件没被加固";
	return EncryptType;
}
  • 6
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 10
    评论
操作系统是计算机系统中的核心组成部分,负责管理和协调计算机硬件和软件资源,提供程序运行环境。在CSDN上有很多关于操作系统的专题文章,以下将从操作系统的基本概念、功能和常见类型等方面简要介绍一下。 首先是操作系统的基本概念。操作系统是一种系统软件,它是计算机硬件和应用软件之间的桥梁,提供给应用程序一系列的服务和资源,同时负责调度和管理系统资源。它为用户屏蔽了底层的硬件差异,提供了一个统一的、易于使用的界面。 操作系统主要有四个基本功能。首先是处理器管理,负责将处理器分配给系统中的各个进程,并进行进程切换,实现多道程序并发执行。其次是内存管理,管理计算机的内存资源,包括分配、回收和保护等操作。再次是文件管理,负责管理文件的存储、命名和保护等操作,提供了文件操作的接口。最后是设备管理,负责管理计算机的各种设备,包括输入输出设备和存储设备等。 常见的操作系统有多种类型。最主流的是Windows、Linux和Mac OS等桌面操作系统。此外还有服务器操作系统,如Windows Server和Linux等,用于管理和部署服务器。还有嵌入式操作系统,如Android和iOS等,用于移动设备和物联网设备。操作系统也有实时操作系统,用于需要实时控制和响应的系统,如工控系统和航空航天系统等。 总之,操作系统是计算机系统中不可或缺的重要组成部分,通过CSDN上的相关文章,我们可以更深入了解操作系统的基本概念、功能和不同类型。这些知识对于理解计算机系统的工作原理和提升编程能力都有着重要意义。
评论 10
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

小道安全

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值