首页
社区
课程
招聘
[未解决,已结帖] 求爆壳,好像是asprotect,需要能过反调试 能过虚拟机 能打断点且正常断下 100.00雪花
发表于: 2020-12-4 09:47 3075

[未解决,已结帖] 求爆壳,好像是asprotect,需要能过反调试 能过虚拟机 能打断点且正常断下 100.00雪花

2020-12-4 09:47
3075

NISEC_SKPC.dll
Sksb.dll
这两个DLL加了壳,拖进PEID和ExInfoPe都无法识别壳的类型。DIE报是VMProtect(1.X)[-],但是我想应该没那么简单。
这个壳的特点: 他有两个节asp0和asp1。

 

loadLibrary的时候,如果是在虚拟机运行或者附加了调试器,会被立即检测到并加载失败。

 

手动运行再附加到吾爱的OD,能打上断点,但是一旦调用DLL的导出函数,程序会自行剥离出调试器。

 

他的虚拟机检测也有点牛逼,参照网上改虚拟机的配置都无法过检测,还加载了某大神开源在githut上的驱动,号称可以过VMP3.2的。也被检测出。Windows,ubuntu下安装的虚拟机都没逃过。

 

DLL和调用DEMO我打了包。
DEMO源代码
typedef void(__stdcall *fnOperateSksbc)(LPCSTR sInputInfo, LPSTR sOutputInfo);
static HMODULE LoadNisecSksbc();
static fnOperateSksbc pOperateSksbc = NULL;

 

#include<string>

 

HMODULE LoadNisecSksbc()
{
HMODULE hNisecSksbcDll = GetModuleHandle(TEXT("NISEC_SKPC.dll"));
if (hNisecSksbcDll == NULL)
{
hNisecSksbcDll = LoadLibrary(TEXT("NISEC_SKPC.dll"));
if (hNisecSksbcDll)
{
pOperateSksbc = (fnOperateSksbc)GetProcAddress(hNisecSksbcDll, "OperateDisk");
if (!pOperateSksbc)
{
return NULL;
}
}
else
{
return NULL;
}
}
return hNisecSksbcDll;
}

 

void CTestOcxDlg::OnBnClickedButton1()
{
CString str;
m_edit.GetWindowText(str);
if ( pOperateSksbc == NULL )
{
LoadNisecSksbc();
}

1
2
3
4
5
6
7
8
9
10
if ( pOperateSksbc )
{
    char szTemp[40960] = {0};
    pOperateSksbc((CStringA)(CStringW)str,szTemp);
    MessageBoxA(0, szTemp,0,0);
}
else
{
    MessageBoxA(0, "加载DLL失败",0,0);
}

}

 

链接: https://pan.baidu.com/s/1F05QOQ2T9BPUA6E6sjpd1g 提取码: a9a3


[培训]内核驱动高级班,冲击BAT一流互联网大厂工作,每周日13:00-18:00直播授课

最后于 2020-12-21 10:21 被yaoyuanzhi编辑 ,原因: 11
收藏
免费 0
支持
分享
最新回复 (1)
雪    币: 7
活跃值: (195)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
结帖
2020-12-21 10:19
0
游客
登录 | 注册 方可回帖
返回
//