首页
社区
课程
招聘
[分享]对某种分析方法的破坏
发表于: 2011-9-17 05:36 5147

[分享]对某种分析方法的破坏

2011-9-17 05:36
5147
大多数软件在注册失败或者XX时会弹出个Box。于是有断点 bp MessageBox去拦截该过程~于是又有了多线程提示窗,通过跨线程方案来阻止XX~

但是实际上这样的过程是不和谐的,因为跨线程通知还是有变量等物体(在低强度加密保护的状态)可寻找~

于是我想到了一个小技巧~通过线程使用csrss.exe的错误提示框~
代码如下~
typedef enum _HARDERROR_RESPONSE_OPTION {
	OptionAbortRetryIgnore,
	OptionOk,
	OptionOkCancel,
	OptionRetryCancel,
	OptionYesNo,
	OptionYesNoCancel,
	OptionShutdownSystem,
	OptionExplorerTrayBaloon,
	OptionCancelTryAgainContinue
} HARDERROR_RESPONSE_OPTION, *PHARDERROR_RESPONSE_OPTION;
typedef enum _HARDERROR_RESPONSE {
	ResponseReturnToCaller,
	ResponseNotHandled,
	ResponseAbort,
	ResponseCancel,
	ResponseIgnore,
	ResponseNo,
	ResponseOk,
	ResponseRetry,
	ResponseYes,
	ResponseTryAgain,
	ResponseContinue
} HARDERROR_RESPONSE, *PHARDERROR_RESPONSE;
DWORD(WINAPI*NtRaiseHardError)(DWORD,DWORD,DWORD,PVOID*,
	DWORD,PDWORD); 
UINT uiBox=1;
ULONG WarningBox(WCHAR *lpwzText,WCHAR *lpwzCaption)
{
	ULONG pUnicodeArguments[] = {0, 0, 0};
	ULONG ReturnValue;
	UNICODE_STRING uniText;
	UNICODE_STRING uniCaption;
	*(LPVOID*)&NtRaiseHardError=GetProcAddress(GetModuleHandleW(L"ntdll.dll"),"NtRaiseHardError"); 
	RtlInitUnicodeString(&uniText, lpwzText);
	RtlInitUnicodeString(&uniCaption, lpwzCaption);
	pUnicodeArguments[0] = (ULONG)&uniText;
	pUnicodeArguments[1] = (ULONG)&uniCaption;
	NtRaiseHardError(
		0x50000018,
		3,
		3,
		(PVOID *)pUnicodeArguments,
		OptionOk,
		&ReturnValue
		);
	return ReturnValue;
}
DWORD WINAPI NotifyUser(LPVOID lparam)
{
	while(uiBox!=0)
	{
           sleep(1000);
	}
        WarningBox(L"您输入的注册码有误\n",L"XXX注册提示");
	return 0;
}


只要简单的创建一个线程NotifyUser,然后在注册失败时直接使用uiBox=0,然后sleep(1500)后ExitProcess等方式退出界面就好了~

[培训]科锐软件逆向54期预科班、正式班开始火爆招生报名啦!!!

收藏
免费 0
支持
分享
最新回复 (5)
雪    币: 631
活跃值: (46)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
何必纠结 MessageBox 函数... 自己写个也比调用系统的难破多了...^_^
2011-9-17 06:53
0
雪    币: 8831
活跃值: (2434)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
3
box自己进程弹出来不和谐啊~
2011-9-17 06:54
0
雪    币: 11855
活跃值: (3895)
能力值: ( LV5,RANK:71 )
在线值:
发帖
回帖
粉丝
4
**的v校,总是这么xx
2011-9-17 08:53
0
雪    币: 6
活跃值: (2058)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
断那个xxapi找到那个线程和全局变量卜硬断秒破
2011-9-17 10:03
0
雪    币: 8831
活跃值: (2434)
能力值: ( LV12,RANK:760 )
在线值:
发帖
回帖
粉丝
6
实际使用的时候,可以做很多**的事情~~~
2011-9-17 10:07
0
游客
登录 | 注册 方可回帖
返回