修改进程PE头
报错

修改进程_EPROCESS
+0x12c SectionBaseAddress : 0x00bf0000
都会报错 不是有效的win32程序 错误号193

修改进程PEB +0x018 ProcessHeap : 0x000c0000 为0
报错 线程创建成功 执行失败。第二次打开提示 打开进程更多失败

修改进程_EPROCESS
+270 为0
打开进程失败,参数错误 错误号87

LoadLibray 载入模块时。会调用目标进程的 LdrInit函数

1.当A进程用CreateRemoteThread注入线程时,B进程所有已加载的dll都会得到通知(系统会以参数DLL_THREAD_ATTACH依次调用各DLL的dllmain). 因此你可以用一个静态链接的dll实现防止别人CreateRemoteThread。不过在dll接到DLL_THREAD_ATTACH后要找出非法线程就比较麻烦了,因为你不知道哪个线程的创建触发了这次调用(系统都是通过process的第一个thread来调用的), 一个可行的办法是调用NtQuerySystemInformation查找当前进程的信息,其中有一个thread列表,最后一个就是新创建的线程, 你可以首先判断一下它的入口地址是否就是LoadLibraryA, LoadLibraryW, 如果是那么可以肯定是别人CreateRemoteThread注入进来的,其次可以通过VirtualQuery找出该入口地址所分配内存的起始地址, 看看是不是就是某个dll的module(用GetModuleFileName,如果成功那么就知道这块代码属于某个dll)然后判断一下这个module是否合法。如果不能找到对应module, 那么也可以多半确定是别人WriteProcessMemory/CreateRemoteThread注入进来的,此时可以直接杀掉了事。

2. 可以用一个变通的办法加以判断, 用线程入口地址(或者不知道怎么获知某个线程入口地址的话可以直接Suspend那个线程,GetThreadContext获取其当前EIP)作为参数调用VirtualQuery, 判断memory_basic_information.AllocationBase是否就是B.exe的HInstance, 如果是的话, 说明该线程代码位于B.exe内, 当然就是合法的(谁写的正常包含线程的程序线程代码不包含在exe内而是动态分配一块内存然后复制一些代码进去再跳过去执行呢?)。

CreateRemoteThreadex开启远程线程失败集合的更多相关文章

  1. windows:shellcode 远程线程hook/注入(一)

    https://www.cnblogs.com/theseventhson/p/13199381.html 上次分享了通过APC注入方式,让目标线程运行shellcode.这么做有个前提条件:目标线程 ...

  2. mfc HackerTools远程线程注入

    在一个进程中,调用CreateThread或CreateRemoteThreadEx函数,在另一个进程内创建一个线程(因为不在同一个进程中,所以叫做远程线程).创建的线程一般为Windows API函 ...

  3. 远程线程注入DLL

    远程线程注入 0x00 前言 远程线程注入是一种经典的DLL注入技术.其实就是指一个新进程中另一个进程中创建线程的技术. 0x01 介绍 1.远程线程注入原理 画了一个图大致理解了下远程线程注入dll ...

  4. Powershell 开启远程桌面

    function Set-RemoteDesktop {   while($InNumber -ne 6)   {   Write-Host " ###################### ...

  5. Win7系统怎么开启远程桌面?Win7远程桌面怎么用(转)

    远程桌面服务开启之后,可以方便的远程管理服务器或计算机.为生活和工作带来不少便利呢,很多小伙伴还不知道怎么开启win7远程桌面吧(下面咗嚛以内网远程桌面为例)   工具/原料 Win7 Win7远程桌 ...

  6. 【windows核心编程】使用远程线程注入DLL

    前言 该技术是指通过在[目标进程]中创建一个[远程线程]来达到注入的目的. 创建的[远程线程]函数为LoadLibrary, 线程函数的参数为DLL名字, 想要做的工作在DLL中编写.  示意图如下: ...

  7. discuz云平台报调用远程接口失败的问题分析和解决

    根据网络两篇文章整理 问题描述:当开通或关闭某个云平台服务的时候,报如下错误信息:调用远程接口失败.请检查您的服务器是否处于内网以及您服务器的防火墙设置. 云平台测试站点的接口文件正常,于是开始在文件 ...

  8. 【windows核心编程】远程线程DLL注入

    15.1 DLL注入 目前公开的DLL注入技巧共有以下几种: 1.注入表注入 2.ComRes注入 3.APC注入 4.消息钩子注入 5.远线程注入 6.依赖可信进程注入 7.劫持进程创建注入 8.输 ...

  9. win10不能被远程解决方案(开启远程桌面,防火墙仍不能被远程解决方案)

    开启远程桌面,防火墙仍不能被远程解决方案 1.“Win+R”→“gpedit.msc” 2.依次展开“计算机配置”→“管理模版”→“系统”→“凭据分配”→找到“允许分配保存的凭据用于仅NTLM服务器身 ...

随机推荐

  1. android VLayout 全面解析

    概述 前不久.阿里新开源了2个东西,Atlas和vlayout.今天我来介绍下vlayout的使用. 在介绍前,先抱怨两句,阿里放开源出来,感觉就是让我们这群人给他们找bug~~我曾遇到一个奇怪的问题 ...

  2. hadoop+spark集群搭建入门

    忽略元数据末尾 回到原数据开始处 Hadoop+spark集群搭建 说明: 本文档主要讲述hadoop+spark的集群搭建,linux环境是centos,本文档集群搭建使用两个节点作为集群环境:一个 ...

  3. mac appium 启动genymotion

    mac eclipse  appium 启动genymotion 模拟器,设置红框中的三项内容就可以.2个红色箭头不需要设置. 如果launch_avd 设置,就会提示:Emulator xxx no ...

  4. FTPHelper-封装FTP的相关操作

    using System; using System.IO; using System.Net; using System.Text; namespace Whir.Software.DataSync ...

  5. Virtex6 PCIe 超简版基础概念学习(二)

    Virtex6 PCIe 超简版基础概念学习(二) 分类:FPGAPCIe (2081)  (0)  举报  收藏 文档版本 开发工具 测试平台 工程名字 日期 作者 备注 V1.0 ise14.7 ...

  6. C++之在类内部访问对象的私有成员

    一.引言 今天看项目里的一段代码发现,竟然可以再类的成员函数中访问该类的对象的私有成员.感觉不可思议. 自己写的实例代码: #include <iostream> using namesp ...

  7. 利用GitHub Pages和Hexo搭建个人博客

    本文首发地址: 非生异也 本项目源码托管在GitHub上 Why 阮一峰曾经说过:喜欢写Blog的人,会经历3个阶段. 第一阶段,刚接触Blog,觉得很新鲜,试着选择一个免费空间来写. 第二阶段,发现 ...

  8. hadoop之mapreduce编程实例(系统日志初步清洗过滤处理)

    刚刚开始接触hadoop的时候,总觉得必须要先安装hadoop集群才能开始学习MR编程,其实并不用这样,当然如果你有条件有机器那最好是自己安装配置一个hadoop集群,这样你会更容易理解其工作原理.我 ...

  9. DRBD安装配置、工作原理及故障恢复

    一.DRBD简介 DRBD的全称为:Distributed ReplicatedBlock Device(DRBD)分布式块设备复制,DRBD是由内核模块和相关脚本而构成,用以构建高可用性的集群.其实 ...

  10. 回车替换Tab 并不会 提交表单 IE Chrome 通过

    网上一堆可以回车替换tab的代码,可是基本都忽略谷歌浏览器的兼容性,找了3个小时 试了无数遍,终于总结出这一段代码,希望能帮到需要的同学,也给自己留个备忘        document.onkeyd ...