随笔分类 -  汇编/驱动

摘要:数据类型 B byteC charD doubleF floatI intJ longS shortV voidZ boolean[XXX arrayLxxx/yyy object 函数的定义 Func-Name (Para-Type1Para-Type2Para-Type3...)Return-T 阅读全文
posted @ 2020-03-02 14:41 ahuo 阅读(878) 评论(0) 推荐(0) 编辑
摘要:用GM找到机器码 基址 400000 偏移是401940-400000 = 0x1940 UE去到D40位置修改 阅读全文
posted @ 2017-06-12 09:59 ahuo 阅读(1266) 评论(1) 推荐(0) 编辑
摘要:http://files.cnblogs.com/ahuo/filedisk.ziphttp://files.cnblogs.com/ahuo/FileDisk%E5%AD%A6%E4%B9%A0%E6%8A%A5%E5%91%8A.ppt 阅读全文
posted @ 2012-06-08 16:08 ahuo 阅读(243) 评论(0) 推荐(0) 编辑
摘要:error C2220: warning treated as error - no 'object' file generated ddk在makefile最后加入MSC_WARNING_LEVEL=/W1 即可 阅读全文
posted @ 2012-02-03 16:21 ahuo 阅读(476) 评论(0) 推荐(0) 编辑
摘要:1.WINDOWS 64位 和 32位 程序中数据类型的字节大小基本不变, 除了指针变成8字节, 其他类型的字节大小和32位一样。2.对于64位驱动和32位应用程序之间通讯的数据结构, 需要将指针(包括句柄)的定义改为对应的固定长度的指针。 比如PCHAR c需要改为 CHAR* POINTER_32 c3.64位驱动程序需要由64位的安装程序来安装。在64位系统下,32位安装程序对注册表和文件的访问可能会被重定向到Wow6432Node, SysWOW64之类的路径。4. 修改INF文件以满足安装64位驱动的要求。http://www.microsoft.com/whdc/archive/6 阅读全文
posted @ 2012-02-03 15:29 ahuo 阅读(10756) 评论(0) 推荐(0) 编辑
摘要:之前2k和xp用的是tdi驱动(Windows(R) Transport Driver Interface)vista之后用的是新的模型(\src\network\trans\inspect)win8好像说要弃用了 阅读全文
posted @ 2012-02-03 15:15 ahuo 阅读(293) 评论(0) 推荐(0) 编辑
摘要:#pragma comment(linker,"/export:?fnDLL@@YAHXZ=DLL.?fnDLL@@YAHXZ,@1")#pragma comment(linker,"/export:accept=syswsock32.accept,@1")可实现按函数名称重定向把原来的dll改名,把自己的dll改成它的名字,然后用新DLL去调用wsock32.dll的重定向//MySocket.cpp:DefinestheentrypointfortheDLLapplication.//#include"stdafx.h"//wso 阅读全文
posted @ 2012-01-17 13:36 ahuo 阅读(2255) 评论(3) 推荐(0) 编辑
摘要:用内核的调试方式去调试虚拟机 !process 0 0 winlogon.exe .process /p 817152a8 切换进程 .reload /f /user 加载用户态的符号 .reload /f c:\my.dll=8e0000,28000 加载自定义的模块,用于查看内部的数据结构(dt命令) .process /i /p 817152a8 非入侵式的attach Bu,bp断点 断到windows api后找到具体变量的栈地址(事情用ida分析),用dt命令查看输入参数的内容 阅读全文
posted @ 2012-01-13 15:25 ahuo 阅读(1395) 评论(0) 推荐(0) 编辑
摘要:数据类型名称 字节数 别名 取值范围 int * signed,signed int 由操作系统决定,即与操作系统的"字长"有关 unsigned int * unsigned 由操作系统决定,即与操作系统的"字长"有关 __int8 1 char,signed char –128 到 127 ... 阅读全文
posted @ 2012-01-12 17:09 ahuo 阅读(682) 评论(0) 推荐(0) 编辑
摘要:经常用到的一些AT指令simcom的1、AT+IPR?(查询模块的波特率)模块会返回+IPR: 9600之格式的信息,9600即波特率,注意9600与冒号之间是有空格的;2、AT+IPR=9600;&W(设置模块的固定波特率)此命令写一次之后就可以了,simcom支持掉电保护,之后此模块波特率就一直为9600了,成功返回OK,错误返回ERROR,说明命令格式错误;3、AT+CIPCCFG=3,2,1024,1(设定模块缓冲区为1024字节)此命令成功返回OK,错误返回ERROR,说明命令格式错误,=号后面数据根据个人需求填写;4、AT+CIPCCFG?(查询模块缓冲区的大小)模块会返回 阅读全文
posted @ 2012-01-08 19:29 ahuo 阅读(636) 评论(0) 推荐(0) 编辑
摘要:#define PASSIVE_LEVEL 0 // Passive release level#define LOW_LEVEL 0 // Lowest interrupt level#define APC_LEVEL 1 // APC interrupt level#define DISPATCH_LEVEL 2 // Dispatcher level#define CMCI_LEVEL 5 // CMCI handler level#define PROFILE_LEVEL 27 // timer used for profiling.#define CLOCK1_LEVEL 28 // 阅读全文
posted @ 2011-08-10 17:29 ahuo 阅读(513) 评论(0) 推荐(0) 编辑
摘要:void GetComputerName(){ NTSTATUS status; HANDLE hRegKey; UNICODE_STRING RegPath; OBJECT_ATTRIBUTES attributes; PKEY_VALUE_PARTIAL_INFORMATION pValInfo; RtlInitUnicodeString(&RegPath, L"\\Registry\\Machine\\System\\CurrentControlSet\\Control\\ComputerName\\ComputerName" ); InitializeObj 阅读全文
posted @ 2011-08-10 14:23 ahuo 阅读(446) 评论(0) 推荐(0) 编辑
摘要:!devnode \DEVICE\{A4F74E3A-7A5D-4BFA-8B76-AC26F16DE201}Dumping IopRootDeviceNode (= 0x81ebdce0)DevNode 0x81ebdce0 for PDO 0x81ebde18 Parent 0000000000 Sibling 0000000000 Child 0x81ebd840 InstancePath is "HTREE\ROOT\0" State = DeviceNodeStarted (0x308) Previous State = DeviceNodeEnumerateCo 阅读全文
posted @ 2011-04-10 20:58 ahuo 阅读(889) 评论(2) 推荐(0) 编辑
摘要:kd> dt_EPROCESSnt!_EPROCESS +0x1b0 Peb : Ptr32 _PEBkd> dt_pebnt!_PEB +0x010 ProcessParameters : Ptr32 _RTL_USER_PROCESS_PARAMETERSkd> dt _RTL_USER_PROCESS_PARAMETERSnt!_RTL_USER_PROCESS_PARAM... 阅读全文
posted @ 2010-11-10 12:35 ahuo 阅读(405) 评论(0) 推荐(0) 编辑
摘要:内核模式堆栈是一个有限的存储区域,经常用于存储从一个函数传递到另一个函数的信息以及用于局部变量存储。虽然堆栈被映射到系统空间,但是它被视为原始调用例程的线程上下文的一部分,而不是驱动程序本身的一部分。这意味着只要调用线程正在运行,就可以保证存在堆栈,但是它可以随线程一起清除。在任何内核模式线程上运行的代码(不管它是系统线程还是驱动程序创建的线程)都使用该线程的内核模式堆栈(除非代码是 DPC,这种... 阅读全文
posted @ 2010-10-16 00:37 ahuo 阅读(822) 评论(1) 推荐(1) 编辑
摘要:Consumer Usage Page Usage ID Usage Name Usage Type 00 Unassigned 01 Consumer Control CA 02 Numeric Key Pad NAry 03 Programmable Buttons NAry 04 Microphone CA 05 Headphone CA 06 Graphic Equalizer CA 07... 阅读全文
posted @ 2010-10-07 00:23 ahuo 阅读(1183) 评论(0) 推荐(0) 编辑
摘要:有一台服务器安装了360然后就出现了固定频率的死机现象,周期大概为20天左右,机器一定要重启才能恢复,然后使用poolmon进行了长时间的监控,发现tag为SFnb的驱动程序有严重的内存泄露,最终定位到360的驱动qutmdrv.sys(MD5:607da1beec4df3b2d76bcffa20f11e0b)有规律的故障日志:分析过程看到换页池(paged pool)确实在异常消耗。日志记录从9... 阅读全文
posted @ 2010-09-29 14:48 ahuo 阅读(3470) 评论(1) 推荐(1) 编辑
摘要:概述: 报告在这里意思是数据传输(data transfer),而报告描述符是对这些传输的数据作用途(usage)上的说明。USB通讯协议的规范是以1ms产生一个USB帧(frame),USB设备可以每一个帧中发送和接收一个交换(transaction)。交换是由几个封包(packet)组成,而传输是由一个或几个交换来完成传送一口中有效的数据。在这里,传输和报告的意思相类似。传输方式有四种,初始学... 阅读全文
posted @ 2010-09-21 15:10 ahuo 阅读(1062) 评论(0) 推荐(0) 编辑
摘要:1、三种类型的WDM驱动程序 总线驱动程序(bus driver) 功能驱动程序(function driver) 过滤驱动程序(filter driver)2、其他分类方法 类驱动程序(class driver) 端口驱动程序(port driver) 小端口驱动程序(miniort driver)3、驱动程序对象(DRIVER_OBJECT)主要成员 DeviceObject: 指向一个设备对... 阅读全文
posted @ 2010-09-15 22:10 ahuo 阅读(574) 评论(0) 推荐(0) 编辑
摘要:WINDOWS NT STATUS CODE WIN32 ERROR CODE------------------------------------------------------------------STATUS_DATATYPE_MISALIGNMENT ERROR_NOACCESSSTATUS_ACCESS_VIOLATION ERROR_NOACCESSSTATUS_DATATYP... 阅读全文
posted @ 2010-09-08 11:34 ahuo 阅读(998) 评论(0) 推荐(0) 编辑

点击右上角即可分享
微信分享提示