DLL注入排除bug的思路步骤。

  • 1、在VS中监视输入err,hr检查DLL是否注入成功
  • 2、OD断点loadlibraryW,loadlibraryA是否已经注入成功,eax是否有值。
  • 3、检查路径是否是中文+空格的路径
  • 4、检查注入的DLL是否是当前项目的DLL

OD查看DLL注入模块是否成功

1、将运行注入DLL的exe,将DLL注入到exe中。

2、打开OD-附加被注入的exe进程,然后【查找】-【所有模块中的名称】

3、在loadlibrary处F2下断点,如果不确定是A版本或者是W版本,那么loadlibraryA,loadlibraryW都可以进行下断。

4、点C返回反汇编窗口, 按F7使程序运行,可以在OD窗口-堆栈窗口看到DLL注入成功

5、查看EAX的值是否发生变化,如果为0则表示加载不成功。

VS调试远程线程注入的DLL

1、先编译DLL后,在DLL项目中的属性,【命令】改成注入的exe路径,【调试器类型】调理成混合。

2、VS代码处下断点,没有加载运行本地调试时候的断点状态是感叹号。

3、运行DLL注入的EXE,则看到断点已经被激活

路径是中文+空格的路径,使用DIR /X查看长文件名的短名称

在编写windows批处理脚本的时候,有时候文件或目录中的空格会引起问题,下面这个命令可以查看长文件名的短名称。

  1. C:\>dir /x
  2. 驱动器 C 中的卷没有标签。
  3. 卷的序列号是 4C49-DDA8
  4. C:\ 的目录
  5. 2010-01-12 10:28 3 1.bat
  6. 2009-06-17 09:42 0 AUTOEXEC.BAT
  7. 2010-01-11 08:57 26,624 Book1.xls
  8. 2010-01-11 08:16 8,454 BOOK1~1.XLS Book1.xlsx
  9. 2010-01-11 08:57 26,624 Book3.xls
  10. 2009-06-17 09:42 0 CONFIG.SYS
  11. 2010-02-03 16:56 DOCUME~1 Documents and Settings
  12. 2009-12-29 16:56 Drivers
  13. 2010-02-20 15:32 PROGRA~1 Program Files
  14. 2010-01-19 17:09 TEMP
  15. 2010-02-20 15:33 WINDOWS
  16. 6 个文件 61,705 字节
  17. 5 个目录 21,022,588,928 可用字节
  18. /X 显示为非 8dot3 文件名产生的短名称。格式是 /N 的格式,
  19. 短名称插在长名称前面。如果没有短名称,在其位置则
  20. 显示空白。

参考:

dir /x 查看长文件名的短名称

http://blog.chinaunix.net/uid-20423564-id-1949345.html

【windows核心编程】注入DLL时BUG排除与调试的更多相关文章

  1. 【windows核心编程】DLL相关(1)

    DLL相关的东西 1.DLL的加载方式 隐式: #pragma comment(lib, "XX.lib"); 编译器去查找名为XX.dll的DLL,除了名字相同,该DLL和该LI ...

  2. 【windows核心编程】DLL相关(3)

    DLL重定向 因为DLL的搜索路径有先后次序,假设有这样的场景:App1.exe使用MyDll1.0.dll, App2.exe使用MyDll2.0.dll, MyDll1.0 和 MyDll2.0是 ...

  3. 【windows核心编程】DLL相关(2)

    关于DLL的延迟加载 延迟加载DLL,使用的是隐式加载方式,当为exe使用的DLL指定为延迟加载的时候,连接器会将exe的[导入段]中去除该DLL的相关信息,同时在exe中嵌入一个新的[延迟加载段]表 ...

  4. 《windows核心编程系列》十九谈谈使用远程线程来注入DLL。

    windows内的各个进程有各自的地址空间.它们相互独立互不干扰保证了系统的安全性.但是windows也为调试器或是其他工具设计了一些函数,这些函数可以让一个进程对另一个进程进行操作.虽然他们是为调试 ...

  5. windows核心编程 DLL技术 【转】

    注:本文章转载于网络,源地址为:http://blog.csdn.net/ithzhang/article/details/7051558 本篇文章将介绍DLL显式链接的过程和模块基地址重定位及模块绑 ...

  6. 《Windows核心编程系列》二十谈谈DLL高级技术

    本篇文章将介绍DLL显式链接的过程和模块基地址重定位及模块绑定的技术. 第一种将DLL映射到进程地址空间的方式是直接在源代码中引用DLL中所包含的函数或是变量,DLL在程序运行后由加载程序隐式的载入, ...

  7. 《windows核心编程系列》十七谈谈dll

    DLL全称dynamic linking library.即动态链接库.广泛应用与windows及其他系统中.因此对dll的深刻了解,对计算机软件开发专业人员来说非常重要. windows中所有API ...

  8. C++Windows核心编程读书笔记

    转自:http://www.makaidong.com/%E5%8D%9A%E5%AE%A2%E5%9B%AD%E6%96%87/71405.shtml "C++Windows核心编程读书笔 ...

  9. 【转】《windows核心编程》读书笔记

    这篇笔记是我在读<Windows核心编程>第5版时做的记录和总结(部分章节是第4版的书),没有摘抄原句,包含了很多我个人的思考和对实现的推断,因此不少条款和Windows实际机制可能有出入 ...

随机推荐

  1. 洛谷P3628 [APIO2010]特别行动队(动态规划,斜率优化,单调队列)

    洛谷题目传送门 安利蒟蒻斜率优化总结 由于人是每次都是连续一段一段地选,所以考虑直接对\(x\)记前缀和,设现在的\(x_i=\)原来的\(\sum\limits_{j=1}^ix_i\). 设\(f ...

  2. ra (数论 , 莫比乌斯反演 , 整点统计)

    题意 求 \[\displaystyle \sum_{i=1}^{n} \sum_{j=1}^{n} [\mathrm{lcm} (i,j) > n] \pmod {10^9 + 7}\] . ...

  3. (python爬取小故事网并写入mysql)

    前言: 这是一篇来自整理EVERNOTE的笔记所产生的小博客,实现功能主要为用广度优先算法爬取小故事网,爬满100个链接并写入mysql,虽然CS作为双学位已经修习了三年多了,但不仅理论知识一般,动手 ...

  4. luogu2827 [NOIp2016]蚯蚓 (模拟)

    可以直观地想到用优先队列来做,但数据范围是O(n)的 然后我们发现,因为我们每次挑出来的蚯蚓是单调的,所以把每个切成两段后,那两段也是对应单调的 也就是说,算上最一开始的蚯蚓,我们一共维护三个队列,三 ...

  5. 在Android中afinal框架下實現sqlite數據庫版本升級的辦法

    public abstract void onUpgrade(SQLiteDatabase db,int oldVersion,int new Version) 這個方法在實現時需要重寫.   pub ...

  6. change username on ubuntu.

    Below tutorial will show you how to change username in ubuntu 12.04 precise.First,we need login as r ...

  7. Luogu 1312 【NOIP2011】玛雅游戏 (搜索)

    Luogu 1312 [NOIP2011]玛雅游戏 (搜索) Description Mayan puzzle 是最近流行起来的一个游戏.游戏界面是一个7行5列的棋盘,上面堆放着一些方块,方块不能悬空 ...

  8. BAPC2017

    Benelux Algorithm Programming Contest 2017 参考资料: https://blog.csdn.net/sizaif/article/details/798586 ...

  9. non-member function cannot have cv-qualifier

    Q: non-member function unsigned int abs(const T&) cannot have cv-qualifier. template<typename ...

  10. Study 5 —— CSS概述

    CSS(Cascading Style Sheet)称为层叠样式表,也可以称为CSS样式表或样式表,其文件扩展名为.css,CSS是用于增强或控制网页样式,并允许将样式信息与网页内容分离的一种标记性语 ...