找回密码
 立即注册
搜索
热搜: 活动 交友 discuz
查看: 176|回复: 0

内核中通过给线程插apc注入dll

[复制链接]

210

主题

371

回帖

0

积分

管理员

积分
0
发表于 2013-10-11 16:17:24 | 显示全部楼层 |阅读模式
[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]
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

果子博客
扫码关注微信公众号

Archiver|手机版|小黑屋|风叶林

GMT+8, 2026-2-2 02:48 , Processed in 0.109151 second(s), 20 queries .

Powered by 风叶林

© 2001-2026 Discuz! Team.

快速回复 返回顶部 返回列表