Windbg里DLL相关下断点

加载DLL 的时候断

  • sxe ld:[dll]

    比如:

    sxe ld:wininet.dll  (在wininet.dll 被装载的时候断点)

    这里DLL名字是支持通配符的

    比如:

    sxe ld:wini*.dll

  • 也可以在事件过滤器里设置

卸载DLL 的时候断

  • sxe ud:[dll]
  • 也可以在事件过滤器里设置

直接在DllMain下断

bu wininet!DllMain

原文地址:https://www.cnblogs.com/yilang/p/12167439.html

时间: 2024-08-30 13:08:34

Windbg里DLL相关下断点的相关文章

Windbg对过滤驱动DriverEntry函数下断点技巧

方法1: 1> 先用DeviceTree.exe查看指定的过滤驱动的Load Address(加载地址) 2> 再用LordPE.EXE查看指定过滤驱动文件的入口点地址 3> 计算过滤驱动的DriverEntry函数内存地址 DriverEntry函数内存地址 = Load Address + 入口点地址 例子: 1> Load Address = 0xFAABF000 2> 入口地址 = 0x3400 3> Windbg下断点 bu 0xFAABF000+0x3400

[原]调试实战——使用windbg调试DLL卸载时的死锁

原调试debugwindbg死锁deadlock 前言 最近我们的程序在退出时会卡住,调查发现是在卸载dll时死锁了.大概流程是这样的:我们的dll在加载的时候会创建一个工作线程,在卸载的时候,会设置退出标志并等待之前开启的工作线程结束.为了研究这个经典的死锁问题,写了一个模拟程序,用到的dump文件及示例代码参考附件. {% note info %} 这也是几年前在项目中遇到的一个问题,我对之前的笔记进行了整理重新发布于此. {% endnote %} 关键代码 主程序 WaitDllUnlo

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

关于DLL的延迟加载 延迟加载DLL,使用的是隐式加载方式,当为exe使用的DLL指定为延迟加载的时候,连接器会将exe的[导入段]中去除该DLL的相关信息,同时在exe中嵌入一个新的[延迟加载段]表示要从该DLL中导入哪些函数. 通过让对延迟加载函数的调用跳转到delayimp.lib中的__delayLoadHelper2函数,来完成对延迟加载的DLL的解析. 当exe中第一次调用了一个延迟加载的DLL中的某个导出函数时,加载器才会将该DLL加载到进程地址空间中.需要注意的是:虽然此时已经加

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

DLL重定向 因为DLL的搜索路径有先后次序,假设有这样的场景:App1.exe使用MyDll1.0.dll, App2.exe使用MyDll2.0.dll, MyDll1.0 和 MyDll2.0是同一个DLL的两个版本,1.0为旧版本,2.0为新版本. 而如果MyDll2.0.dll的存放路径的优先次序比较靠前时,那么App1.exe就会去加载MyDll2.0.dll,这就可能引发 DLL地狱问题,因此DLL重定向可解决这个问题. 加载程序总是先检查应用程序目录,我们所要做的就是如下: ①在

汇总SQL Server里的相关运算符、子句、谓词等

汇总SQL Server里的相关运算符.子句.谓词等 (后续我会往后追加并不断对现有的进行完善和扩展) ◆ TOP1)TOP一般与ORDER BY结合使用,否则TOP出来的结果集没太大意义,除非您另有它意. 2)TOP返回数可以是变量,但必须用括号括入3)结合WITH TIES谓词选项,如果您返回4行,但最后1行有2条相同的结果,那么您TOP 4,最后1行就只是随意返回1行,保证不了结果集的正确性,如果您指定了WITH TIES, 则返回5行,ORDER BY后将最后2条相同的结果都返回,用法:

【windows核心编程】DLL相关

DLL相关的东西 1.DLL的加载方式 隐式: #pragma comment(lib, "XX.lib"); 编译器去查找名为XX.dll的DLL,除了名字相同,该DLL和该LIB的GUID也相同. 显式: HINSTANCE   hInst = LoadLibrary(TEXT("XX.dll")); if(NULL == hInst)  retrun; HINSTANCE hInst = LoadLibrary(TEXT("XX.dll")

ida动态调试so,在init_array和JNI_ONLOAD处下断点

0x00 如何在JNI_ONLOAD下断点,参考安卓逆向学习笔记(5) - 在JNI_Onload 函数处下断点避开针对IDA Pro的反调试.最好使用模拟器调试,确保 Attach to process后,对应进程在DDMS中出现小红蜘蛛. 下面将如何在init_array下断点,首先要找到so的init_array端,把so拖入ida,然后按Crtl+s,会出现该so的所有段.如下: 进入.init_array,如下: 其中sub_2378就是init_array的代码. 我们在这里下断点,

android在JNI_OnLoad入口函数下断点动态调试so库

一般来说,很多APK的校验代码,都会在程序运行的时候自动加载一些动态so库,然后执行这些库中的校验代码.所以为了能够通过程序的校验,我们必须在执行这些函数之前下断点--理想的方法就是在JNI_OnLoad入口函数下断点. 在2.3.3模拟器中详细步骤如下: ①在控制台输入adb shell 进入手机,然后使用  am start -D -n 包名/类名,以等待调试的模式启动APK应用: 这里需要说明的是 "包名/类名"的书写方法: # am start -n {包(package)名}

android里TextView加下划线的几种方式

如果是在资源文件里: <resources> <string name="hello"><u>phone:0123456</u></string> <string name="app_name">MyLink</string> </resources> 如果是代码里: TextView textView = (TextView)findViewById(R.id.tv_t