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

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

文章目录

1.移动端主流加固2. 移动端加固的详细分析2.1 爱加密加固2.2梆梆加固2.3 腾讯乐固2.4 网易易盾加固2.5 360加固2.6 阿里云加固2.7 百度加固2.8娜迦加固2.9顶象加固

3.识别移动端加固3.1 识别检测的方法3.2代码实现

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::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;

}

风雨相关

传奇霸业:15天内的玩法(1)丨传奇霸业攻略
365bet技巧

传奇霸业:15天内的玩法(1)丨传奇霸业攻略

🌀 07-27 💧 阅读 4973
戊戌变法
爱享365

戊戌变法

🌀 07-20 💧 阅读 8290
林肯z和奥迪a4l哪个好
爱享365

林肯z和奥迪a4l哪个好

🌀 10-25 💧 阅读 3534