摘要: 今天发现了个问题 写驱动的时候写错了个驱动出口(module_exit给拼错了),结果导致加载驱动成功,确无法卸载: rmmod的时候显示can't unload 'xxx': Device or resource busy 然后用lsmod查看了下,发现驱动多了个属性: xxx 1816 0 [p 阅读全文
posted @ 2012-11-06 18:43 TaigaComplex 阅读(3076) 评论(0) 推荐(0) 编辑
摘要: Linux输入子系统源文件入口在drivers/input/input.c目录下 输入子系统分为两层: 1.核心层: 主要功能 注册主设备号 对于swi进入的open函数进行第一层处理,并通过次设备号选择handler进入第二层open,也就是真正的open所在的file_operation,并返回 阅读全文
posted @ 2012-11-05 22:40 TaigaComplex 阅读(752) 评论(0) 推荐(0) 编辑
摘要: 大体上跟windows的消息处理机制差不多 app所要做的事情 1.绑定信号处理函数 2.通知驱动该程序的pid,好让驱动能够通过pid返回信号 3.设置异步标志位 驱动程序所要做的事情: 1.添加.fasync函数 2.构造fasync_struct结构体指针,该结构体用于存放pid 3.中断处理 阅读全文
posted @ 2012-11-04 13:20 TaigaComplex 阅读(238) 评论(0) 推荐(0) 编辑
摘要: 分析转自韦东山: 所有的系统调用,基于都可以在它的名字前加上“sys_”前缀,这就是它在内核中对应的函数。比如系统调用open、read、write、poll,与之对应的内核函数为:sys_open、sys_read、sys_write、sys_poll。 一、内核框架: 对于系统调用poll或se 阅读全文
posted @ 2012-11-03 20:18 TaigaComplex 阅读(596) 评论(0) 推荐(0) 编辑
摘要: 阅读全文
posted @ 2012-11-03 17:04 TaigaComplex 阅读(298) 评论(0) 推荐(0) 编辑
摘要: 驱动代码: 测试代码: 流程如下: 阅读全文
posted @ 2012-11-03 16:47 TaigaComplex 阅读(1502) 评论(0) 推荐(0) 编辑
摘要: 内核版本:2.6.32.2 错误: error:implicit declaration of function 'request_irq' error:implicit declaration of function 'free_irq' 解决方法: #include <linux/interru 阅读全文
posted @ 2012-11-03 14:34 TaigaComplex 阅读(4975) 评论(0) 推荐(0) 编辑
摘要: 加载完内核后开始加载文件系统 结果出现以下错误 Root-NFS: Server returned error -13 while mounting 解决方法是添加可被外界挂载的目录,如:/nfs 先进虚拟机的Linux /etc文件夹内 修改exports文件: 在结尾添加 /nfs *(rw,s 阅读全文
posted @ 2012-11-01 21:34 TaigaComplex 阅读(382) 评论(0) 推荐(0) 编辑
摘要: 一旦登陆次数超过3次则账号被锁定,锁定后无论密码是否正确都不能登陆, 锁定后60分钟解除锁定, 采用强类型dataset, 数据库设计: dataset新增方法: ResetErrorTimes()重置错误次数 IncError() 增加错误次数,设置当前时间为错误时间 C#代码: 阅读全文
posted @ 2012-08-26 20:49 TaigaComplex 阅读(1466) 评论(0) 推荐(0) 编辑
摘要: 最近被webbrowser搞昏了,就是上一篇文章中关于暴力破解谈到的webbrowser方法。 在webbrowser中,本人写的是模拟人手,多次改变密码,点击按钮实现的破解方法,不过出现了问题。 代码如下: 原本很简单的想法,却无法实现。 本来是发送了11次请求,结果是只显示最后的一次响应数据。 阅读全文
posted @ 2012-08-22 00:38 TaigaComplex 阅读(1615) 评论(0) 推荐(0) 编辑