Search results

9 results found.

忙碌的周末吖

自从换了服务器,加了cdn之后,服务器一直处于无法正常提供服务的状态。每天大约能正常运行三四个小时,其余时间php-fpm进程跑满了cpu资源,不管是直接访问还是通过cdn都无法正常的提供服务。

这个状况基本持续了一周左右的时间,从22号开始,一直处于这个状态。知道杜老师是通过家里的nas服务器和cdn实现的博客服务,前段时间杜郎也写了篇文章关于工控机的。受这两文章文章的启发也决定把服务器放在家里了,通过家里的宽带和cdn来提供服务。于是参考杜郎的硬件,也从拼夕夕买了一台工控机。预计周六送到,想着周六要去趟公司正好在公司处理一下。

结果周五晚上突然拉了一个群,说潍坊有个项目临时要去沟通一下。这就很让人抑郁啊,完全破坏了自己的计划。但是也没什么办法,这个事情自己不去别人也说不明白,于是周六早上七点就出门了。结果十点到了项目上,对方的人等十一点多才出现。一点诚意都木有。

Continue Reading

从.ithmb看隐私

我就不去找那个什么所谓的wiki了,简单的说下这个文件是个什么东西.ithmb是Apple的一种缩略图文件,这个文件不是单一缩略图而是缩略图的合集。在iOS7之前的缩略图文件都是以缩略图的分辨率来命名的,如下图所示:

Continue Reading

Linux和Windows双系统带来的系统时间问题的解决详述{转载}

由于两个系统设定时间时以主板CMOS内的时间为依据,但却有不同的时间计算标准。所以导致了系统时间的纠纷问题。
Linux和苹果操作系统以当前主板CMOS内时间做为格林威治标准时间,再根据系统设置的时区来最终确定当前系统时间(如时区设置为GMT+08:00北京时间时以及当前CMOS时间为03:00,那么系统会将两个时间相加得出显示在桌面的当前系统时间为11:00)。
Windows操作系统却直接把CMOS时间认定为当前显示时间,不根据时区转换。这样每调整一次系统时区,系统会根据调整的时区来计算当前时间,确定后,也就同时修改了CMOS内的时间(即每调整一次时区,设置保存后,CMOS时间也将被操作系统改变一次,注意不同操作系统调整时间后,也会同时改变CMOS时间,这一点是共通的)。
这里我们且不论两种时间计算标准的好差,而仅让Windows认定CMOS时间为格林威治标准时间来消除操作系统之间认定时间的差异,从而解决Windows操作系统与不同操作系统并存时出现的时间认定纠纷。。。(怎么改Ubuntu参见2楼xport的回帖:))
其实Windows注册表内已经隐藏了这样一个开关。瀑布汗,那么就拿它来开刀了。。。
即在HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\TimeZoneInformation\中添加一项数据类型为REG_DWORD,名称为RealTimeIsUniversal,值设为1。

1.windows 下修改方法
我这里给出一个自己写的命令行,拷贝代码后用记事本另存后缀名为CMD,双击执行即可(在Windows下)
引用:

@echo off
color 0a
Reg add HKLM\SYSTEM\CurrentControlSet\Control\TimeZoneInformation /v RealTimeIsUniversal /t REG_DWORD /d 1
echo.
echo 已让Windows识别存贮在主板CMOS内的时间为格林威治标准时间(GMT),即系统根据CMOS时间和设置的时区来确定当前系统的时间。
echo.
pause
Continue Reading

Win32/AutoRun.Agent.NZ 蠕虫感染文件的简单分析和修复

最近几天上qq总是发现nod32 蹦出个什么发现“Win32/AutoRun.Agent.NZ 蠕虫”这么个东西的提示,刚开始还以为是浏览网页留下的也没在意,今天运行其他软件的时候也发现了这么个东东才知道情况不是自己想的那么简单了。找到被感染的程序和没有感染的做了下比较发现没什么大的差距,很明显不是捆绑了,那就是添加了新代码了,用Peid查看发现程序增加了一个区段,如下图:

qq

并且修改程序入口点为增加代码的起始位置,于是每次运行程序都会先释放病毒文件然后运行,这就是为什么每次上qq都会有病毒提示了。

Continue Reading

驱动开发学习笔记(4-2)–INF文件-2

.INF文件是什么

.INF是 Device Information File 的缩写,是微软公司为供硬件设备制造商发布其设备驱动程序而发展的———许多硬件设备的驱动程序都是使用 .INF文件来安装的。.INF文件从 Windows3.X 时代就开始大量被使用了。
.INF文件是一种具有特定格式的纯文本文件,我们可说它是一种安装脚本(SetupScript)。虽然 .INF 只是纯文本文件,但是当我们在文件管理器explorer对 .INF文件按鼠标右键後,如图inf右键.PNG,在右键菜单上就会出现“安装I”命令,这是因为微软公司已在其操作系统 Windows 中内置提供了 Setup API(可以解释.INF脚本文件),我们只需用文本编辑软件编写 .INF文件,便可完成大部份的安装工作,所以尤其是在软体的大小并不是很大的情况下,安装工作不是很复杂的时候,使用 .INF文件来进行安装工作将会是一个好选择。而且如果要安装设备驱动程序,.INF文件是目前唯一的选择。 可以用 .INF文件创建包括注册表条目和目的目录的自定义软件安装指令。.INF文件可以提供有限的平台独立性,并指定有限的软件依赖性。目前.INF文件最普遍的应用是为安装硬件设备的驱动程序服务的,本文的目的就是介绍 .INF文件的功能、结构、并提供了几个 事例来说明如何用.INF文件,如何扩展.INF文件的用途,比如制作绿色软件,仅供参考。

下面首先给出一个驱动程序的.INF文件的例子,如图usbinfpng.png,是我从Windows2000中抽取出来的用于Win98se的USB存储设备驱动的usbstor.INF文件,删除了大部分内容,紧紧保留了一个基本的.INF文件的框架。

.INF文件的格式

在图usbinfpng.png中,可以看到.INF文件是由许多节(Section)组成,与.INI文件类似,整个.INF文件由几个节组成,节名用方括号扩起来,如version 节,Manufacturer节,和Strings节等等。而每个节又由一系列的条目组成,每个条目都是是由一个键(Key)与一个值(Value)组成,都是“Key=Value”这样的形式,在这些节中定义的项目可以完成硬件的自动检测和软件(包括驱动程序)的安装。.INF文件中分号后面的字符串是注释。在一个 .INF文件中,所有跟随在分号(;)后的文字都会被视为注释。注释并不一定要在新行开始,可以在一行文字後面加入注释。

Continue Reading

驱动开发学习笔记(4-1)–INF文件-1

INF是Device INFormation File的英文缩写,是Microsoft公司为硬件设备制造商发布其驱动程序推出的一种文件格式,INF文件中包含硬件设备的信息或脚本以控制硬件操作。在INF文件中指明了硬件驱动该如何安装到系统中,源文件在哪里、安装到哪一个文件夹中、怎样在注册表中加入自身相关信息等等。 安装监视器、调制解调器和打印机等设备所需的驱动程序,都是通过INF文件,正是INF的功劳才使得Windows可以找到这些硬件设备的驱动并正确安装。当我们通过“开始→控制面板→添加删除程序→Windows安装程序”来添加系统组件的时候,INF文件将会自动调用。而在其他场合下,则需要在INF文件上点击鼠标右键,然后选择“安装”,你才能顺利安装应用程序。

在C:/Windows/INF文件夹中存放有大量的INF文件。该文件夹一般处在隐含状态,如果你想查看该文件夹,可选择“查看→文件夹选项→查看”,然后在“文件和文件夹”选项下选择“显示所有文件”。

解剖INF文件的结构

INF文件其实是一种纯文本文件,可以用任意一款文本编辑软件来打开进行编辑,如:记事本、写字板等。INF文件有一整套的编写规则,每一个INF文件都是严格按照这些规则来编写的。

*规则一:INF文件是分节的,每一个INF文件有许多的节组成,节名用方括号括起来。这些节名有些是系统定义好的,有一些是用户自定义的。每一个节名最长为255个字符(Windows 2000/XP/2003操作系统中)或28个字符(Windows 98操作系统中)。节与节之间没有先后顺序的区别,另外,同一个INF文件中如果出现两个同样的节名,则系统会自动将这两个节名下面的条目合并到一起。

*规则二:在节与节之间的内容叫条目,每一个节又是由许多的条目组成的,每一个条目都是由形如“signature=”$CHICAGO$””的形式组成的。如果每一个条目的等号后有多个值,则每一个值之间用“,”号分隔开。

*规则三:INF文件对大小写不敏感。

*规则四:“;”号后面的内容为注释。

*规则五:如果一个条目的内容过多,在一行无法书写完全,则用“\”将一行内容书写为多行。

Continue Reading

驱动开发学习笔记(3-3)–Four-F的驱动开发教程-服务

在这里下载本文的源代码

2. 服务

※ 和本节对应的例子代码见KmdKit\examples\simple\Beeper

读者也许有点疑惑:用户模式的服务关内核模式的驱动程序什么事呀?事实上,两者的确风马牛不相及,但是如果我们要和设备驱动程序通讯的话,我们必须首先安装它,启动它,而和设备驱动程序通讯的界面刚好和服务通讯的界面是类似的。

2.1 Windows服务

Windows NT使用某种机制来启动进程,并让它们不和某个具体的交互式的用户界面相关联,这些进程就被称为服务(service),服务的一个很好的例子就是Web服务器,这些Web服务都没有用户界面,服务是唯一以这种方式运行的应用程序(注:指没有用户界面,当然,严格地说病毒、木马以及所有不想见光的程序也是这样的~~),服务可以在系统启动的时候自动启动,也可以被手工启动,从这一点来看,设备驱动程序和服务是类似的。
Windows NT还支持驱动程序服务,只要使用的时候遵循设备驱动程序协议就可以了,这和用户模式的服务类似,所以,”服务”一词既可以指用户模式的服务进程或者内核模式的设备驱动程序,微软不知何故没有明确地区分两者的概念,所以下面的叙述可能看起来有点让人疑惑。可能有的地方我会说到”driver”一词,但在其他的文章中可能说到”service”一词,但既然这篇教程讲的是如何编写内核设备驱动程序,那么我们就约定无论说到”service”还是”driver”,我们的意思都是指”驱动程序”,当的确需要提及”服务”的时候,我会明确地指出来的。
另外,请读者时刻记得,文档中关于服务管理的函数其实是叙述得相当含糊的,因为这些函数既能用于驱动程序也能用于服务,在下面的文章中,我们只强调它们在驱动方面的用途和忽略服务方面的用途。
Windows NT中有三个组件和服务管理相关:
◎ 服务控制管理器(Service Control Manager/SCM)–用于启动服务以及和它通讯
◎ 服务控制程序(Service Control Program/SCP)–用于和SCM进行通讯,告诉它何时启动或者停止服务

Continue Reading