|
[求助]驱动DUMP分析
不是做SSDT HOOK 是练习文件过滤 2楼也说了是对分页内存操作引发的问题。但是没说怎么解决 我百度出来似乎应该先用MDL映射一下,锁定需要访问的地址。然后再操作对应的内存地址 但是心头总是玄的。不知道正确否。 而且怎么映射了MDL 不释放呢 我没搞懂 |
|
[求助]驱动DUMP分析
http://apps.hi.baidu.com/share/detail/19511905 http://www.cppblog.com/sleepwom/archive/2009/09/24/97105.html 这两篇 MDL 的文章讲解得很好 不过我打算把他们的方法写成宏的时候 却想到了另一个问题 MDL虽好 但是不可能在每个自己需要修改的内存上都写那么多的代码 所以我想写成函数 但是想了一下 好像这2篇文章都只将了如何创建 映射 和锁定MDL 但是当不需要这些的时候 应该怎么处理呢。他们没讲 是因为局部变量作用消失了就自动恢复是吧。 怎么写恢复的函数呢 下面贴出我的代码 希望高手能给个恢复的代码 谢谢 PMDL pmdlsyscall; PVOID *MappedSCT; PVOID pDstAddr; ULONG ulLen; BOOLEAN SAFE_DEAL_MEM_Begin(PMDL pmdlsyscall,PVOID *MappedSCT,PVOID pDstAddr,ULONG ulLen) { pmdlsyscall = MmCreateMdl(NULL,pDstAddr,ulLen); if ( NULL==pmdlsyscall ) { return FALSE; } MmBuildMdlForNonPagedPool( pmdlsyscall ); pmdlsyscall->MdlFlags = pmdlsyscall->MdlFlags | MDL_MAPPED_TO_SYSTEM_VA; MappedSCT = MmMapLockedPages(pmdlsyscall,KernelMode); return TRUE; } |
|
|
|
[求助]驱动DUMP分析
PULONG pulAddrTmp=(PULONG)((table2+(i-0x800)*2)+NEXTFREETABLEENTRY); PMDL MDLSystemCall; PVOID *MappedSCT; MDLSystemCall = MmCreateMdl(NULL, PULONG, 4); //创建一个 MDL if(!MDLSystemCall) return STATUS_UNSUCCESSFUL; MmBuildMdlForNonPagedPool(MDLSystemCall); //将对应的VA映射到物理内存 转化成非分页内存 MDLSystemCall->MdlFlags = MDLSystemCall->MdlFlags | MDL_MAPPED_TO_SYSTEM_VA; //可写 MappedSCT = MmMapLockedPages(MDLSystemCall, KernelMode); //NextFreeTableEntry=*(PULONG)((table2+(i-0x800)*2)+NEXTFREETABLEENTRY); NextFreeTableEntry=*pulAddrTmp; 网上搜索了一个解决方法来 用MDL处理 看得不是很明白 是不是加这几句就可以了啊 大牛们给点意见啊 |
|
[求助]驱动DUMP分析
恩,这个问题意思就是页面错误。 估计就是访问的内存是分页内存 似乎解决办法就是 1 锁定内存 来达到访问的效果。但是怎么操作还是不知道 继续寻找答案。我也在积极BAIDU 希望有高手能给出解决办法 |
|
[高悬赏]Ollydbg插件问题
CreateProcess option 选后两个看看 我一般选最后一个 |
|
[求助]GetAdaptersInfo MSDN例子有异常
回楼上的 我的机器才是多个网卡 但是朋友的不是 不过问题找到了 我问的问题说是异常是笔误 对不起大家了 问题是微软MSDN例子中下面一段 最下面少了个括号 ULONG ulTmp = GetAdaptersInfo( pAdapterInfo, &ulOutBufLen); if ( ulTmp == ERROR_BUFFER_OVERFLOW) { DBGS("测试问题 KAISHI22222222223333333333333333"); free(pAdapterInfo); DBGS("测试问题 KA44444444444444444"); pAdapterInfo = (IP_ADAPTER_INFO *) malloc (ulOutBufLen); DBGS("测试问题 KAISHI111111"); if (pAdapterInfo == NULL) { DBGS("Error allocating memory needed to call GetAdaptersinfo\n"); return 1; } } //搽 MSDN 这里少了个 括号 这里这里 |
|
|
|
病毒分析与开发哪个工资高啊?
有点兴趣回答你这个问题, 依我愚见 开发病毒工资高些 但是是有机会去喝免费咖啡的 分析病毒,估摸着是做杀软吧。肯定正规公司 是要被剥削的,所以工资低点 不过有公司撑腰,是安全的。 自己抉择吧! 哈哈 说来完的 还是看大牛牛给你的建议吧 |
|
[求助]驱动DUMP分析
((PULONG)((table2+(i-0x800)*2)+NEXTFREETABLEENTRY))) 这个地址都是经过 MmIsAddressValid 判断是否可读写了啊 |
|
[讨论]OD 2.01正式版快出来了,讨论一下插件开发
哈哈 OD2.0 暂时不会被 特征码查杀了 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值