-------------------------------------------------------------------------- 前一篇指出 tail_recursivef_factorial() 会递归调用自身来计算某个正整数的阶乘.当要计算的目标数值过大,经历多次调用后, 就会耗尽可用的内核栈,引发一次页错误异常,而转移控制到错误处理程序前再次向无效的内存地址压入"陷阱帧"则会让原本可 以处理的异常升级为"double fault",致使系统…
-------------------------------------------------------------------------- 春节期间闲来无事想研究下算法,上机测试代码却遇到了意外错误,在此记录整个过程,祝各位新的一年在算法设计和故障排查方面的思维敏锐度媲美 dog 的 嗅觉! -------------------------------------------------------------------------- 整数 n 的阶乘(factorial)记作"n…
之前没有接触过驱动调试.这里上手就要解决一个因为某个自定义驱动导致的系统登陆后蓝屏问题,记录下来.   问题: 从客户那边弄来的一个虚拟机,已知是加了我们的驱动之后才会导致蓝屏. 解决过程:   使用windbg直接双机调试 开机登陆后会直接蓝屏,错误码是0x00000050.想要进入安全模式去移除驱动也进不去,会卡在某个驱动加载过程中.首要的就是进入系统去排查是哪个驱动有问题.还好是虚拟机,有如下方式可更改操作系统中内容.,改完之后要在虚拟机射中的使用工具中断开相应映射. 注意:有些与具体设备…
进入winpe,将附件的蓝屏6B修复补丁kb3146706.zip的补丁替换windows/system32下面的ci.dll文件,里面有64和32位系统的,替换了文件就可以进入系统了. 启动进入系统,在控制面板-->卸载里将补丁kb3146706卸载就行了,重启后就可以了. 网友已经找到问题所在了: 问题已经定位了,是CI.DLL的问题. 出问题的用户都是老版本的CI.DLL,6.1.7601.17514 打补丁后没问题的是新的CI.DLL,6.1.7601.22730 这次更新的NTDLL.…
最近在看着<windows驱动开发技术详解>这本书,模仿着敲了第七章中的模拟文件读写部分.在Debug过程中,蓝屏了好多次并出现了各种奇葩的问题.在调了快两天之后,问题终于解决了!现在在这里一一再现遇到的问题和解决方法.   [在别人博客的评论中看到这么一句,"能让大家节约时间,就是写博客的目的之一",让我很有很深的感触,希望自己能以这个目的持续将博客进行到底,帮助更多的初学者.]   一 蓝屏问题    1. deviceName,symbolicName显示Memory…
在某些win7电脑上, 如果使用SerialPort对象的Read(byte[] buffer, int offset, int count)方法读取端口数据时, 若端口接受缓存区的数据少于count指定的字节数, 则会导致端口一直在等待, 强制关闭程序, 将导致电脑蓝屏. 解决办法是在读取数据之前检查SerialPort.BytesToRead的值是否达到读取要求, 少于指定的字节数就不要读取.或者设置ReadTimeout.…
Windows系统最让人头疼的问题就是蓝屏了,总是出现得那么莫名其妙,而且造成原因也是千奇百怪的.所以,对于电脑蓝屏,系统迷也无法一次性讲清楚.前天,我的电脑就经历过这样的蓝屏page fault in nonpaged area,这种蓝屏最讨厌的就是它开机后每过几分钟后它就会蓝屏,这样反复打开,反复关机开机,一直都是这样,没有解决方法,于是我上网搜了一下,发现,网上的方法都木有用,于是我把电脑拿去修,结果说:“你的c盘满了!!!”于是我拿回家,把c盘的一些东西删了,结果就好了!!!…
一.准备 由于内核栈不可执行(NX),栈溢出利用需用到ROP.简单回顾一下ARM ROP. 漏洞演示代码如下,网上随便找了个. char *str="/system/bin/sh"; void callsystem() { system("id"); } void vulnerable_function() { char buf[128]; read(STDIN_FILENO, buf, 256); } int main(int argc, char** argv)…
转自:http://www.ibm.com/developerworks/cn/linux/l-cn-kernelmodules/ 为保持 Linux 内核的稳定与可持续发展,内核在发展过程中引进了可装载模块这一特性.内核可装载模块就是可在内核运行时加载到内核的一组代码.通常 , 我们会在两个版本不同的内核上装载同一模块失败,即使是在两个相邻的补丁级(Patch Level)版本上.这是因为内核在引入可装载模块的同时,对模块采取了版本信息校验.这是一个与模块代码无关,却与内核相连的机制.该校验机…
WebCollector爬虫官网:https://github.com/CrawlScript/WebCollector 技术讨论群:250108697 怎样将爬虫内核导入自己的项目? 1.进入爬虫官网http://crawlscript.github.io/WebCollector/.下载压缩包.解压. 2.解压后找到"webcollector-版本-bin.zip",解压. 3.将"webcollector-版本-bin.zip"解压后全部的jar,导入你的项目…