|
|
[bgcolor=#ffffff]void ApcLoadDll(PVOID NormalContext, PVOID SystemArgument1, PVOID SystemArgument2);[/bgcolor]
[bgcolor=#ffffff]void ApcLoadDllEnd();[/bgcolor]
[bgcolor=#ffffff]PMDL pMdl = NULL;[/bgcolor]
[bgcolor=#ffffff]void ApcKernelRoutine( IN struct _KAPC *Apc, [/bgcolor]
[bgcolor=#ffffff] IN OUT PKNORMAL_ROUTINE *NormalRoutine, [/bgcolor]
[bgcolor=#ffffff] IN OUT PVOID *NormalContext, [/bgcolor]
[bgcolor=#ffffff] IN OUT PVOID *SystemArgument1, [/bgcolor]
[bgcolor=#ffffff] IN OUT PVOID *SystemArgument2 ) [/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff]if (Apc)[/bgcolor]
[bgcolor=#ffffff] ExFreePool(Apc);[/bgcolor]
[bgcolor=#ffffff]if(pMdl)[/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff] MmUnlockPages(pMdl);[/bgcolor]
[bgcolor=#ffffff] IoFreeMdl (pMdl);[/bgcolor]
[bgcolor=#ffffff] pMdl = NULL;[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]DbgPrint("ApcKernelRoutine called. Memory freed.");[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]VOID AddApcIngectDll(LPSTR DllFullPath, PETHREAD Thread,ULONG pTargetProcess,void *LoadLibraryWAddr)[/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff]PRKAPC pApc = NULL; [/bgcolor]
[bgcolor=#ffffff]PVOID pMappedAddress = NULL; [/bgcolor]
[bgcolor=#ffffff]ULONG dwSize = 0;[/bgcolor]
[bgcolor=#ffffff]KAPC_STATE ApcState; [/bgcolor]
[bgcolor=#ffffff]int *p=NULL;[/bgcolor]
[bgcolor=#ffffff]NTSTATUS Status = STATUS_UNSUCCESSFUL;[/bgcolor]
[bgcolor=#ffffff]if ( MmIsAddressValid((PVOID)Thread) == TRUE)[/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff] pApc = ExAllocatePool(NonPagedPool, sizeof(KAPC));[/bgcolor]
[bgcolor=#ffffff] if (!pApc)[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] DbgPrint("Failed to allocate memory for the APC structure");[/bgcolor]
[bgcolor=#ffffff] return ;[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] dwSize = 386;//这个长度是我们写的大片的nop[/bgcolor]
[bgcolor=#ffffff] pMdl = IoAllocateMdl (ApcLoadDll, dwSize, FALSE,FALSE,NULL);[/bgcolor]
[bgcolor=#ffffff] if (!pMdl)[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] DbgPrint(" Failed to allocate MDL");[/bgcolor]
[bgcolor=#ffffff] ExFreePool (pApc);[/bgcolor]
[bgcolor=#ffffff] return STATUS_INSUFFICIENT_RESOURCES;[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] __try[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] MmProbeAndLockPages (pMdl,KernelMode,IoWriteAccess);[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] __except (EXCEPTION_EXECUTE_HANDLER)[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] DbgPrint("Exception during MmProbeAndLockPages");[/bgcolor]
[bgcolor=#ffffff] IoFreeMdl (pMdl);[/bgcolor]
[bgcolor=#ffffff] ExFreePool (pApc);[/bgcolor]
[bgcolor=#ffffff] return STATUS_UNSUCCESSFUL;[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] KeStackAttachProcess((ULONG *)pTargetProcess,&ApcState);//进入目标进程的上下文[/bgcolor]
[bgcolor=#ffffff] pMappedAddress = MmMapLockedPagesSpecifyCache (pMdl,UserMode,MmCached,NULL,FALSE,NormalPagePriority);//把分配好的内存映射进目标进程里面[/bgcolor]
[bgcolor=#ffffff] if (!pMappedAddress)[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] DbgPrint("Cannot map address");[/bgcolor]
[bgcolor=#ffffff] KeUnstackDetachProcess (&ApcState);[/bgcolor]
[bgcolor=#ffffff] IoFreeMdl (pMdl);[/bgcolor]
[bgcolor=#ffffff] ExFreePool (pApc);[/bgcolor]
[bgcolor=#ffffff] return STATUS_UNSUCCESSFUL;[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] else [/bgcolor]
[bgcolor=#ffffff] DbgPrint("UserMode memory at address: 0x%p",pMappedAddress);[/bgcolor]
[bgcolor=#ffffff] wcscpy ((unsigned char*)pMappedAddress + 0x16, DllFullPath);//将dll路径拷贝到目标进程空间[/bgcolor]
[bgcolor=#ffffff] p=(int*)((unsigned char*)pMappedAddress+6);[/bgcolor]
[bgcolor=#ffffff] *p=(int)((unsigned char*)pMappedAddress + 0x16);[/bgcolor]
[bgcolor=#ffffff] p=(int*)((unsigned char*)pMappedAddress+1);[/bgcolor]
[bgcolor=#ffffff] *p=LoadLibraryWAddr;[/bgcolor]
[bgcolor=#ffffff] KeUnstackDetachProcess (&ApcState); //恢复咱原来的上下文[/bgcolor]
[bgcolor=#ffffff] //初始化APC,插APC[/bgcolor]
[bgcolor=#ffffff] KeInitializeApc(pApc,[/bgcolor]
[bgcolor=#ffffff] (PETHREAD)Thread,[/bgcolor]
[bgcolor=#ffffff] OriginalApcEnvironment,[/bgcolor]
[bgcolor=#ffffff] &ApcKernelRoutine,[/bgcolor]
[bgcolor=#ffffff] NULL,[/bgcolor]
[bgcolor=#ffffff] (PKNORMAL_ROUTINE)pMappedAddress,[/bgcolor]
[bgcolor=#ffffff] UserMode,[/bgcolor]
[bgcolor=#ffffff] (PVOID) NULL);[/bgcolor]
[bgcolor=#ffffff] if (!KeInsertQueueApc(pApc,0,NULL,0))[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] DbgPrint("KernelExec -> Failed to insert APC");[/bgcolor]
[bgcolor=#ffffff] MmUnlockPages(pMdl);[/bgcolor]
[bgcolor=#ffffff] IoFreeMdl (pMdl);[/bgcolor]
[bgcolor=#ffffff] ExFreePool (pApc);[/bgcolor]
[bgcolor=#ffffff] return STATUS_UNSUCCESSFUL;[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] else[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] DbgPrint("APC delivered");[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] //使线程处于警告状态,注意不同操作系统的ETHREAD[/bgcolor]
[bgcolor=#ffffff] if(!*(char *)((char *)Thread+0x4a))[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] *(char *)((char *)Thread+0x4a) = TRUE;[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]//枚举指定进程的线程[/bgcolor]
[bgcolor=#ffffff]NTSTATUS IngectDll(PEPROCESS Process,LPSTR DllFullPath,void *LoadLibraryWAddr)[/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff]ULONG i;[/bgcolor]
[bgcolor=#ffffff]PETHREAD txtd;[/bgcolor]
[bgcolor=#ffffff]PEPROCESS txps;[/bgcolor]
[bgcolor=#ffffff]NTSTATUS st = STATUS_UNSUCCESSFUL;[/bgcolor]
[bgcolor=#ffffff]for (i=8;i<=65536;i=i+4)[/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff] st = PsLookupThreadByThreadId(i,&txtd);[/bgcolor]
[bgcolor=#ffffff] if ( NT_SUCCESS(st) )[/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] txps=IoThreadToProcess(txtd); [/bgcolor]
[bgcolor=#ffffff] if ( txps == Process ) [/bgcolor]
[bgcolor=#ffffff] {[/bgcolor]
[bgcolor=#ffffff] AddApcIngectDll(DllFullPath, txtd,Process,LoadLibraryWAddr);[/bgcolor]
[bgcolor=#ffffff]return STATUS_SUCCESS; //只需要枚举一个线程就够了。因为我们注入dll只需要调用一次[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff] }[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]return STATUS_SUCCESS;[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]__declspec(naked) void ApcLoadDll(PVOID NormalContext, PVOID SystemArgument1, PVOID SystemArgument2)[/bgcolor]
[bgcolor=#ffffff]{[/bgcolor]
[bgcolor=#ffffff]__asm [/bgcolor]
[bgcolor=#ffffff]{ [/bgcolor]
[bgcolor=#ffffff] mov eax,0xabcdef //LoadLibraryW的地址这是是需要复制到目标进程空间之后再赋值的[/bgcolor]
[bgcolor=#ffffff] push 0xabcdef //这是是需要复制到目标进程空间之后再赋值的[/bgcolor]
[bgcolor=#ffffff] call eax[/bgcolor]
[bgcolor=#ffffff] jmp end[/bgcolor]
[bgcolor=#ffffff] nop //分配内存[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff] nop[/bgcolor]
[bgcolor=#ffffff]end:[/bgcolor]
[bgcolor=#ffffff] ret 0x0c[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor]
[bgcolor=#ffffff]}[/bgcolor] |
|