摘要:
笔记是在写CyberInterceptor时为了UDP发包而写下的。获取物理网卡方法:1。遍历 注册表HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\Windows NT\CurrentVersion\NetworkCards2。判断是否为物理网卡判断方法1:,有miniport的时候,可以查看miniport->SymbolicLinkName+0x0c0 SymbolicLinkName : _UNICODE_STRING "\??\PCI#VEN_11AB&DEV_4364&SUBSYS_303A17AA&REV_14# 阅读全文
摘要:
XP环境:1。研究了在my_ethFilterDprIndicateReceivePacket中丢包情况//要想drop packet_arrays这些packet,使用miniportblock对应的ReturnPacketHandler来return//不能用ndis!ndisReturnpacket这函数。因为里面一些变量在我们现在拦截的这里还没设置好//调用ndis!ndisReturnpacket的话就会失败2。另外,如果想做tdi_event_connect拦截交互功能的话,最好是在tcpip!ArpRev,也就是tcpip协议驱动的RecvHandler中拦截比较好,因为如果系统 阅读全文
摘要:
在创建一个空的新文件的时候,写数据时,FSD会在cache中判断写的数据offset +len =len1是不是比原来的size大,如果是,则会把这个offset +len更新下去这时候,后面来一个no cache的写的时候,由于这时的写必须是加密后的,offset+len=len2肯定会比上面的len1大。FSD在no cache写的时候,发现len2比len1大,那FSD只会把len1的长度写下去,而len2-len1这个大小就会被漏掉PS:正在做的加密算法是明文4K对应密文8K所以要在cache write的时候也要更新这个大小。但这时候又有一个问题,是在cache write 前更新还 阅读全文
该文被密码保护。 阅读全文
摘要:
如果Process->SeAuditProcessCreationInfo.ImageFileName有值,NULL掉,并ExFreePool了。然后再遍历进程(简单zwqueryxxx即可),有神奇效果PS:进程名先查找Process->SeAuditProcessCreationInfo.ImageFileName,如果为空则obquery获取,并赋值到Process->SeAuditProcessCreationInfo.ImageFileName中,上面获取方法都没成功才会直接取Process->ImageFileName另外,asm说直接用zwqueryvir 阅读全文
摘要:
NDIS Loopback Discussionhttp://www.ndis.com/ndis-ndis5/loopback/loopback.htmLooping Back NDIS Packetshttp://msdn.microsoft.com/en-us/library/ff557071.aspx============================================================XP2环境下的具体流程:tcpip调用ndissend的时候//////////////////////////////////////////ndissend(minip 阅读全文
摘要:
!PROCESS 0 1 explorer.exe !process 2f72 1和!process 81b3a980 1 结果1一样 (2f72是explorer的PIDbp /p 820dbbe0 win32k!xxxxx/t 就是线程bp win32k!xxxxxx".if(@$tpid != 0x999) {g;}"bu kernel32!LoadLibraryExW ";as /mu ${/v:MyAlias} poi(@esp+4); .if ( $spat( \"${MyAlias}\", \"*MYDLL*\" 阅读全文
该文被密码保护。 阅读全文
该文被密码保护。 阅读全文
摘要:
通过windows xp调试发现,这个端口是netbt启用关于SMB服务的时候开启的。\\Device\\NetbiosSmb这个设备对象就是NetBT驱动创建的(注意不是netbios驱动)端口的获取是通过注册表HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\NetBT\Parameters\Smb下的SessionPort键项获取的,如果没有的话,默认就是445。所以想改端口号的话,可以改这个,但是这样的话,远程客户端可能就访问不了。另外,除了SessionPort还有DatagramPort,下面是获取到端口后,绑定地址过程的堆栈 阅读全文