- 博客(28)
- 收藏
- 关注
转载 博客搬家说明!
最近使用hexo把博客托管到了- 码云上 (地址为https://bianchengnan.gitee.io/ )- github上 (地址为 https://bianchengnan.github.io )新博客可以通过hexo一键同步更新,爽!新博客的内容还在不断更新中,以后有新博客会第一时间发布到新博客上,博客园的博客也会同步发布。但是不再更新博客...
2019-09-01 07:15:00 145
转载 [原]C++新标准之std::ratio
原总结ratio概览类定义预定义ratio应用示例代码参考资料 概览std::ratio定义在<ratio>文件中,提供了编译期的比例计算功能。为std::chrono::duration提供基础服务。 类定义std::ratio是一个模板类,关键代码摘录如下(格式有调整):template<intmax_t _Nx, intmax_...
2018-08-14 23:42:00 209
转载 [原]C++新标准之std::chrono::time_point
原总结STL标准库chronotime_pointratio概览类定义总结思考拓展system_clocksteady_clockhigh_resolution_clock例子参考资料 概览time_point定义在<chrono>文件中,用来表示时间点。 类定义关键代码摘录如下(格式有调整):template<class _...
2018-08-14 23:35:00 1787
转载 [原]C++新标准之std::chrono::duration
原总结C++11chronodurationratio概览std::chrono::duration描述类定义duration_cast()分析预定义的duration示例代码参考资料 概览c++新标准提供了新的线程库,最近在写测试代码的时候需要让当前线程休眠,之前直接调用windows提供的Sleep()就好了,新标准中可以使用std::this_threa...
2018-08-14 23:09:00 447
转载 [原]C++新标准之std::thread
原总结C++11thread概览std::thread类定义各个成员函数的简单介绍例子更多参考资料 概览从C++11开始提供了线程的支持,终于可以方便的编写跨平台的线程代码了。除了std::thread类,还提供了许多其它便利同步的机制,本篇总结是C++11学习笔记系列的首篇总结。 std::threadstd::thread定义在<thread...
2018-08-11 13:29:00 166
转载 [原]PInvoke导致栈破坏
原, 总结, 调试, 调试案例项目中遇到一个诡异的问题,程序在升级到.net4.6.1后会崩溃,提示访问只读内存区。大概现象如下:debug版不崩溃,release版稳定崩溃。只有x64位的程序崩溃,32位及anycpu编译出来的程序运行不会崩溃。出问题的代码范围很小以上信息,各位有什么想法呢?由于release版可以稳定重现,而且范围不大,故通过二分排除法很快定位到...
2018-08-11 00:29:00 107
转载 [原]win10拖拽贴靠功能注册表项调查记录
win10的拖拽贴靠功能被禁用了,偶然的机会,在设置中看到了相关的设置项,如下图直觉告诉我一定是设置注册表中的某一项,于是决定调查下具体的注册表位置。请出procmon.exe,然后关闭贴靠功能,停止收集。在收集到的信息中只关注注册表相关的信息,而且Result是Success的,向下浏览的时候发现了SystemSettings.exe这一项,只保留Process Name是Sy...
2017-10-27 09:38:00 149
转载 [原]win10开机时开启NumLock
修改如下注册表项下的InitialKeyboardIndicators的值为80000002,重启即可。HKEY_USERS\.Default\Control Panel\Keyboard\HKEY_CURRENT_USER\Control Panel\Keyboard\代码如下Windows Registry Editor Version 5.00[HKEY_US...
2017-10-27 09:36:00 524
转载 [原]livekd使用问题记录
sysinternal suite中的livekd.exe可谓神器。可以用来观察本地内核的一些状态,当然抓内核dump再合适不过了。 在使用livekd的时候遇到了一些问题,现总结如下:使用livekd进行本地内核调试,需要管理员权限,这个没啥好说的。livekd需要内核文件的调试符号的支持,可以先下载好对应的pdb,也可以设置符号路径信息,让livekd...
2017-10-12 16:31:00 186
转载 [原]VS清空最近打开的工程记录
原 VS 脚本 procmon sysinternals以下脚本摘自网络,仅支持到vs2015,vs2017需要删掉文件ApplicationPrivateSettings.xml @echo off cd \ @echo on @REGDelete HKEY_CURRENT_USER\Software\Microsoft\VisualStu...
2017-05-22 09:59:00 913
转载 [原]CreateFile中的dwShareMode
原总结API一直对CreateFile的参数dwDesiredAccess和dwShareMode有什么不同不是很清楚,今天重读windows核心编程的时候终于豁然开朗了。 真是书读百遍,其义自见。简要总结如下:dwDesiredAccess表示本次CreateFile想要获取的权限: 只读(GENERIC_READ),只写(GENERIC_WRITE),可读写(GE...
2017-04-27 11:33:00 220
转载 [原]使用MessageAnalyzer实时查看远端日志
原总结debugtools工具使用 1. 下载安装Message Analyzer从Message Analyzer下载链接下载,安装过程从略。说明:关于Message Analyzer的视频教程(youtube上的视频,可能需要科学上网),可以在程序主界面上看到。 2. 连接远端进行实时查看启动,点击New Session,在弹出的New ...
2017-04-14 10:21:00 310
转载 [原]how to view custom provider's events(collected without provider registered) by wpa
最近想使用etw作为高效的日志机制,也不想暴露机密信息(关键信息在msnifest文件中)。也就是不能在客户机器上注册自己的provider,那需要manifest文件。这样采集回来的.etl文件如果直接在wpa中打开,会很难看,基本看不出什么有用的信息,如图1图1用wpa打开poor.etl文件(在未注册过provider的机器上采集的,也未经过experf -mer...
2017-03-30 22:57:00 88
转载 [原]UEFI+GPT启动VHD
1. 缘起2. 创建VHD文件并写入系统镜像到VHD文件2.1 制作VHD文件2.1.1 纯界面创建2.1.2 命令行创建2.2 把系统镜像写入VHD文件3. 添加VHD文件到系统引导3.1 添加新的引导项3.2 新建引导项3.2.1 硬盘分区3.2.2 拷贝UEFI启动文件到ESP分区3.2.3 拷贝装有系统镜像的VHD文件到指定目录下3....
2017-03-10 08:12:00 868
转载 [原]procexp替换任务管理器
2019-09-14更新:本文已经在新博客重新整理发布,请各位读者移步。process explorer有个功能是替换任务管理器,它是怎么实现的呢???windows有个注册表项HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\Image File Execution Options,...
2017-02-06 07:06:00 225
转载 [原]崩溃在ole32!CStdMarshal::DisconnectSrvIPIDs
最近项目里遇到一个崩溃,不定期出现,很是头疼!今晚终于忍无可忍,下决心要干掉它!(于是用凉水洗了把脸,开始分析dump)希望凌晨的这篇总结对有相似经历的朋友有所启发!(看之前相关的几个dump可以猜到是有接口未释放的问题,但没有确认到底是哪个接口,本篇总结的主要目的是记录找到这个接口的过程)用windbg打开dump文件,显示如下很明显是访问违例!从红框里的内容可...
2017-01-13 14:34:00 145
转载 [转]Part2: Understanding !PTE, Part2: Flags and Large Pages
http://blogs.msdn.com/b/ntdebugging/archive/2010/04/14/understanding-pte-part2-flags-and-large-pages.aspx Hello, it's Ryan Mangipano with part two of my PTE series. Today I'lldiscuss PDE/PTE fla...
2016-12-29 09:00:00 162
转载 [转]Part 3: Understanding !PTE - Non-PAE and X64
http://blogs.msdn.com/b/ntdebugging/archive/2010/06/22/part-3-understanding-pte-non-pae-and-x64.aspxHello, Ryan Mangipano (ryanman)again with part three of my series on understanding the output ...
2016-12-29 09:00:00 131
转载 [原]线性地址到物理地址转换后记
之前想手动查找线性地址对应的物理地址,以更好的理解操作系统的分页机制,cr3的值和指定进程的EPROCESS的值总是对不上。具体参考笔记[原]线性地址到物理地址转换今天突然灵光一闪,想起来张老师说过的关于CR3的相关知识,CR3是操作系统在切换进程的时候才会更新的,我们用.process /p 指定特定进程的时候,CR3的值是中断到调试器那一刻正在运行的进程的页目录基址...
2016-12-29 08:58:00 120
转载 [转]Part1: Understanding !PTE , Part 1: Let’s get physical
http://blogs.msdn.com/b/ntdebugging/archive/2010/02/05/understanding-pte-part-1-let-s-get-physical.aspxHello.It’s Ryan Mangipano again (Ryanman). Today’s blog will be the first in a multi-pa...
2016-12-29 08:58:00 247
转载 [原]线性地址到物理地址转换
参考[转]Part1: Understanding !PTE , Part 1: Let’s get physical[转]Part2: Understanding !PTE, Part2: Flags and Large Pages[转]Part 3: Understanding !PTE - Non-PAE and X64cr4第5位(从0开始)判断是否开...
2016-12-29 08:55:00 213
转载 [原]调试ComFriendlyWaitMtaThreadProc崩溃
项目里安装了UIA相关的钩子来监听UIA相关事件,退出的时候偶尔会崩溃在ComFriendlyWaitMtaThreadProc中,如下从上图可以看出 是访问到无效的地址了,用!address07acf914看下地址信息确实是不可访问的,但是为啥呢?用ub看了下前面的代码从红框中我们可以看出edi是指向第一个参数(ebp+8指向第一个参数),用k命令看...
2016-12-27 17:49:00 81
转载 [原]ComFriendlyWaitMtaThreadProc
c++代码(大体逻辑没问题,细节需要确认)DWORD __stdcall *ComFriendlyWaitMtaThreadProc(LPVOID lpThreadParameter){CoInitializeEx(0,0);ThreadParam* pParam =(ThreadParam*)lpThreadParameter;ComFriendly...
2016-12-27 14:57:00 138
转载 [原]ComFriendlyWaitForSingleObject
structThreadParam{unsignedint p1;// +00h ebp-24hunsignedint p2;// +04h ebp-20hunsignedint cookie;// +08h ebp-1Ch LPSTREAM xxx;// +0Ch ebp-18h HANDLE hEvent;// +14h ebp-14h HANDL...
2016-12-27 14:38:00 127
转载 [原]excel启动时死锁
项目中遇到的一个死锁问题!代码大概如下:调用SetWinEventHook安装了进程内钩子,dll注入到excel进程后,专门开启一个线程来分发监听到的事件信息,并在该线程内会获取IAccessible接口并取相应的属性。下面开始分析dump------------------------------------------------------------...
2016-11-29 08:43:00 146
转载 [原]在AMD机器上使用android studio
amd机器上使用android studio进行调试。因为amd的cpu不支持IntelVT,所以可能会有如下错误提示我们有几个选择:1. 使用真机调试2. 配合genymotion3. 根据上图中的4) User an Android Virtual Device based on an ARM system image (This is 10x slower than hardwa...
2016-10-11 12:44:00 519
转载 [原]通过网线进行双机内核调试
通过网线进行双机内核调试,被调试机器要求win8及以上的系统被调试端设置:bcdedit /dbgsettings net hostip:192.168.1.2 port:55555 key:your.own.safe.key调试主机端连接:windbg.exe -k net:port=55555,key=your.own.safe.key注意:被调试端设...
2016-09-21 15:22:00 508
转载 [原]定义不同平台通用的宏
有时候我们希望定义同一个宏,但是在选择不同平台进行编译的时候希望该宏的值指向不同的值。类似vs自带的Platform宏,在win32平台编译的时候,该宏指向win32,在选择x64平台进行编译的时候,该宏指向x64。如下图:如果我们想定义一个宏,在win32平台下指向x86 在x64平台下指向x64 该多好啊!!!(比vs提供的宏更符合我们的需求)!下面就...
2016-07-21 09:33:00 163
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人