摘要:
写了一年多的C代码,最近又重拾C++,打算看看cpp17~cpp20新增的特性,安装了VS2022 Community版本(终于支持x64) 1.variant variant on cppreference 在Windows平台接触过COM编程的都知道,ATL提供了CComVariant实现了类似 阅读全文
摘要:
1.关闭强制驱动程序签名 bcdedit /set loadoptions DDISABLE_INTEGRITY_CHECKS 2.开启系统测试模式 bcdedit /set testsigning on 3.安装驱动 sc create TestDriver binpath= "c:\window 阅读全文
摘要:
x64调用约定下,不再使用stack frame pointer(如ebp) ,并且unwind info,seh table都是编译期生成。 对于动态生成的代码,如执行shellcode等,异常表中没有RUMTIME_FUNCTION,编译器无法正常展开调用栈。 因此需要手动构造动态代码的RUNT 阅读全文
摘要:
如果需要配合PDB符号展示栈信息,可以参考github stackwalker项目,写的很详细了 调用的windows api,直接上代码如下: 1 #include <iostream> 2 #include <vector> 3 #include <stdio.h> 4 #include <st 阅读全文
摘要:
? ?@@masm(...) 使用MASM表达式?? ?@@c++(...) 使用c++表达式 C++表达式支持运算符:+ - * / % mod & and ^ xor l or >> << >>> == <=...hi lowby wodwo pwopoi取地址&,引用指针*,->,.,::, 阅读全文
摘要:
(内容摘选至《加密与解密第四版》) 一、通过干预导入表处理过程加载DLL1.静态修改EXE的导入表目录,新增或修改(微软进程Bound import table需要清空,)2.进程创建初期修改导入表目录(CreateProcess with suspend)3.DLL劫持,除了注册表KnownDLL 阅读全文
摘要:
windows平台支持多样化的调试功能,记录下一些常用的方法: 设置JIT调试器(程序运行崩溃后配置调试器自动接管):[HKEY_LOCAL_MACHINE/SOFTWARE/Microsoft/Windows NT/CurrentVersion/AeDebug]"Auto"=1"Debugger" 阅读全文
摘要:
Windbg 远程调试支持 NamePipe, TCP, COM, Secure Pipe, SSL 传输模式。 使用Windbg配置远程调试时,远程机器可以运行windbg.exe 或 dbgsrv.exe作为远程调试服务器。不同的地方在于dbgsrv.exe的符号文件在本机,而windbg.ex 阅读全文
摘要:
1.VS Remote Dbugger VS自带的远程调试器,源码级调试,功能强大,随VS一起安装。以VS2008为例,安装目录 " C:\Program Files (x86)\Microsoft Visual Studio 9.0\Common7\IDE\Remote Debugger" 可以找 阅读全文
摘要:
1.cd当前执行的bat文件路径 :cd /d %~dp0 2.vs生成后事件拷贝生成的文件到指定路径:@echo offset MyOutputDll=D:\Project\Test\test.dllecho "%MyOutputDll%"if exist "%MyOutputDll%" (del 阅读全文