2012年12月18日星期二

[How-to]通过命令获取VirtualBox虚拟机Guest的IP地址

序:
突然发现ghs.google.com没有被封锁了,真是一大幸事,于是果断绑定了域名,把Blogger重新开通起来。进来才注意到好像很久都没有更新了。
这篇文章是发在原来的博客上lzsblog.appspot.com的。这次转过来,主要是为了测试blogger的代码 高亮功能是否理想。如果一切正常,以后就用Blogger来做博客平台了。


最近在做驱动开发,需要在虚拟机和主机之间同步代码和文件。Guest通过Bridge方式上网。我的想法是写个脚本用rsync同步,可是由于Bridge进局域网之后IP会随DHCP配置改变而改变,因此需要通过命令获取Guest对应的IP地址。(我知道可以用Shared Folder,但是我总是配置不好那个Guest Addition。而且那个东西效率差的一B)
查了文档,发现这个问题不是很复杂。用VBoxManage的命令可以方便的获取IP地址。下面命令会返回一个差不多我们想要的
VBoxManage guestproperty get "abc" /VirtualBox/GuestInfo/Net/0/V4/IP

 其中abc是你虚拟机的名称,你可以使用如下命令列出所有注册过的虚拟机
VBoxManage list vms
也许某些同学会注意到,命令除了返回IP地址之外,还有一个Value:。这些字符如果传给ssh,rsync等程序必然会引起错误。解决方法是用tr命令在输入之前把多余的字符去掉。注意,返回值末尾有一个\n,同样需要去掉。以下代码用于自动在主机的a文件夹和Guest的a文件夹之间同步。
guestIP=`VBoxManage guestproperty get "abc" /VirtualBox/GuestInfo/Net/0/V4/IP | tr -d "[\"Value: \"\n]"`
rsync -avz -e ssh ronald@$guestIP:/home/ronald/a a
后面那串乱码是所谓的UUID,在前一个代码里的"abc"也可以用它对应的UUID代替,那样你的代码会显得,俄,更加犀利以及难懂一些~_^

ronald是俺在Guest中的用户名..

2011年7月9日星期六

献给给力的IPv6

到yx这边正好赶上宽带装好,赶紧连上了学校的isatap,很爽,现在可以上Facebook, Youtube和Google Docs。Twitter和Appspot还有些问题。有时间再解决。Yx买了个路由器,不知道什么时候能到,希望能支持IPv6这样我就可以更方便的翻墙了,嘻嘻。
重庆的天气真操蛋,这几天最高温度40。果断缩在杨欣这里吹空调,不然真的不知道如何过。
陈波到底是没给我难堪,嘿嘿,算啦。
Google+ 看起来很爽,就是不知道什么时候能上线,另外貌似Google+已经被封了。。额这些当官的都尼玛傻X啊。不过鉴于IPv6已经搞定,哈哈,这到不是要首先考虑的问题。
大家跟我说,Fvck GFW。

2011年4月5日星期二

April 5 2011

刚从南山回来,那帮人就去自习了,牛啊。
今天整理了一下音乐,装了个Foobar200的插件,可以同步iTouch,爽。终于摆脱该死的iTunes了。要注意的是iPhoneCalc.dll不能放在components目录下,而要放在安装目录下。
ZZJ貌似把64Bit Windows下使用FvckDrcom的方法研究出来了,我还以为必须要重新用64位的SDK和库编译呢。原来只要拷贝一个新版的iphlpapi.dll就行了。看来微软的向下兼容弄得还是很给力的。
去南山没带相机,悲剧。
背单词好痛苦。
吃完饭俺也去自习了。

2011年3月28日星期一

FvckDrcom项目总结和发布

上个周我们学校的网络进行了升级。同学们发现网速快了,但是不能共享上网了。于是本人打算搞一下破解。以前没什么经验,前前后后干了3天。虽然有些坎坷,但还是收获颇丰。
这个项目的名字有点不和谐,大家忍忍啊。
原来dr.com客户仅使用mac地址认证的方式来确认是否是真正的用户登录。因此可以通过更改路由器的Mac地址来欺骗并实现共享上网。这次升级之后,添加了IP地址确认。也就是对比进行认证的Ip地址(将会是路由器的外网地址)和本机的的内网地址是否一致来判断是否有路由器。这样一般的路由器共享方式就失效了。
前几天跟ZZJ研究这个问题提出了一种凑合的方法,即使用一个虚拟的Loopback网卡来模拟一个正确的外部IP,从而欺骗Dr.com客户端。不过我是想更绝一些,连Mac地址的问题(总是要来回改)一起解决了。因此就想到进行这次项目
破解的基本思路是使用劫持Dll的方式阻断dr.com客户端获取正常mac地址和ip地址的途径。提供假的(固定的)IP和Mac地址,破坏上述的认证过程,实现共享上网。
以前被做过Dll劫持啊,走了很多弯路。不过最后还是做成功了,嘿嘿。
源代码有兴趣的同学可以上我这里索取啊,lzsdc@yahoo.com.cn。
程序还有很多不完善的地方,比如由于我懒得编GUI,配置文件的生成还要使用的命令行界面。希望有能力的同学帮下忙,大家一起为获取自由的互联网奋斗(不要想太多)。


编译版和源代码在Google Code上托管
http://code.google.com/p/fvck-dr-com/

2010年7月31日星期六

在Google App Engine上部署Micolog博客系统

转载请注明出处:thinkingcentre.co.cc

省略废话,直奔主体请点这里

Google App Engine 是Google公司的云计算平台,支持这个平台的是Google公司的云计算集群,十分稳定和安全。由于帝国主义的Google公司对我们的社会主义国家采取敌视和不信任的态度(怎么和我差不多~呃),这些集群全部部署在天朝境外。这意味着:

  1. 你的账户信息和应用信息不会被透露给中国政府;
  2. 你安装的应用对 internet的访问不会受到GFW的审查;
  3. 你的服务器(云平台嘛,根本就不是一台真是存在的服务器)不会被有关部门搬走;
  4. 鉴于Google App Engine涉及到大量商业应用,相关部门对它进行封锁的可能性较小
  5. 如果不是很热的博客你可以免费使用这个空间,当你的博客变热时你可以将应用无缝的迁移到廉价的付费服务上(事实上你只要付费就可以了,根本不用迁移)

只要你拥有一个Gmail帐号,你就可以成为Google App Engine的免费用户,可以建立十个应用程序,每个程序拥有500MB的空间,不设上限的数据库空间和大约每天1000000次的Request和数十亿次的CPU周期(看到这么多零作为个人博客用户你该放心了)。

著名的博客系统WordPress由PHP+Mysql写成,这对其部署在Google App Engine上的可能性新构成了一定的挑战,最主要的原因并不是网上说的Google App Engine只支持Python和Java(事实上由Java设计的PHP解释器Quercus已经非常成熟了)。而是WordPress使用的Mysql是关系型数据库而Google App Engine出于安全考虑只提供非关系型数据库的支持,这使得WordPress在Google App Engine上的部署如此困难。已经有人着手解决这样的问题,有兴趣的玩家可参看http://blog.caucho.com/?p=196。

偏离主题了啊。Micolog是完全基于Google App Engine的一个博客系统,由中国人徐明(终于看到中国人了,在Python.org都不能访问的今天)开发和维护。作为一个开源项目,这个博客系统体现出了优异的开放性和可扩展性。只是现在参与开发的人很少限制了它的发展,在这里我也呼吁有能力的大大们积极参加到这个项目中来。

 

正题

准备:

部署:

对于非专业玩家和时间拮据的大牛来说部署Micolog的难点,在于上传Google App Engine应用。前些天搞GAppProxy的时候看到了个不错的软件SDUpload可以很方便的上传Google App Engine应用,用了几次还不错。

将下载下来的micolog0.7rc2.zip解压,修改其中的app.yaml的application条目,修改成application:lzsblog(这里lzsblog替换成你的app name)。

将这个解压出的文件夹拷贝到sdupload解压出的文件夹之下(方便操作)

调出命令行:开始-》运行 输入cmd(win7用户直接在开始菜单搜索栏中输入cmd回车),在命令提示符中切换文件夹至sdupload所在目录,比如是c:\TDDownload\sdupload。就输入cd c:\TDDownload\sdupload+回车,如果是d:\TDDownload\sdupload,则要输入cd d:\TDDownload\sdupload+回车和d:+回车。

输入sdupload update micolog0.7rc2

按提示输入gmail邮箱地址和密码。

上传完成后 micolog就可以使用了

Good Luck

2010年4月18日星期日

网警如何找到你?

俗语有云:天网恢恢、疏而不漏!这句话是真的么?现实社会中我不知道。但是在互联网上,这句话在Internet上是很软弱的。读完我这篇文,就可以知 道。在网络上 触犯现行法律,即便于公安部门立案调查,未必就 “落入法网” 
------------------------------------------------------------- 我是分割线------------------------------------------------------------------
                注:本文仅做技术研讨,并非讨论如何在网络犯罪后逃脱法律的惩 罚。
------------------------------------------------------------- 我是分割线------------------------------------------------------------------
      
       首先来认识一下:“网监”也就是公安部门分管网络的部门。他们负责网络监管,如网站和服务器器被黑、游戏帐号装备被盗、网络上的各种纠纷、反dang反 zhengfu的内容,都属于网监处理。
       我们来假设一个案例:163.com主站(哪个公司的咱就不说了哈)被入侵,服 务器硬 盘全部多次格式化,并且重复读写垃圾数据,导致 硬盘数据无法进行恢复,损失惨重。于是在召集专家紧急修复服务器数据的同时,163.COM公司迅速向广州网监报案。广州网监介入调查,追踪此次入侵者!
       如果你是入侵者,面对这样的情况,你会怎么办?其实很多同行在侵入别人网站、服务器、内部网络的同时,都不太懂得如何保护自己。如果你们不注意隐藏自己, 用不了一天,网监部门就可以锁定你家祖宗十八代-_-!!!,如果隐藏的好,等这个案子过了法律追究期限,也是个无头案。而这,在Internet上来 说,确实是易如反掌!
       首先,我们来了解下网监部门如何追踪入侵者,锁定他在何处作案。
       大家一般都知道,当你黑掉一个网站的时候,你在WEB的操作。都会或多或少的被记录在对方WEB服务器日志上。IIS和Apache都是会记录一些IIS 日志。如果你入侵一家网站,被记录下IP地址一点也不奇怪。就算一般浏览网站,也会被记录下IP(当我在这里码字的时候,不知道网易已经记录了我多少次 IP了 ==b),当你在浏览网站执行一个操作的时候,IIS服务器就会进行一次记录,比如说发生一次连接错误。这就更不谈你侵入他人网站会不会留下IP记录,这 是绝对会留下的。
       当你侵入一台服务器呢?在你进入服务器的时候,首先WINDOWS系统就会对你的连 接 IP进行记录,其次在网关服务器上,也会记录连接进入服务器的IP。所以即便于你能够把服务器上的记录给删除,而网关上的记录,你永远也碰不到。
       公安部门在锁定做案者的时候,首先就是要找到做案者,如何找到?最重要的就是追踪IP了。
       我们来了解下一些ADSL宽带接入常识。
       众所周知,现在大家一般都是使用的ADSL电信或者网通的宽带接入网络。绝大部分是使用的动态IP,少部分是使用的固定IP。固定IP是特性一般是带宽在 4M以上。而一般人用不了。当你启动计算机,通过ISP提供给你的宽带ADSL帐号拨进互联网的时候。ISP服务商的系统就会随机分配给你一个动态IP, 并且记录如下事件,例如:2010年4月18日1时48分8秒,J983001(宽带帐号),拨入IP:58.48.30.234,操作系统: Windows 7,拨入电话:02786163163。各省的电信记录方式可能不同,但是这些数据绝对会被ISP记录下来,有的人可能不相信ISP会记录这么详细的内 容。不过我进入电信网络中查看过这种系统,确实存在!而且更详细,我这里只是简单列举了他记录的一些主要数据!
       另外一点,当你成功拨号进入互联网后,你的IP在访问互联网的时候,会经过不少路由器, 几乎每个路由器都会记录下你的IP!
       现在大家知道了ISP服务商通过什么方式记录你的行踪了吧。
       我们再谈谈公安部门如何抓捕做案者。大家都知道,要抓一个人,首先就要知道他是谁、他在那里。如果这都不知道,怎么抓?而要获取到作案者地理位置和真实身 份的唯一手段,就是“IP”,IP就是ISP分配给大家用来上网的东东。大家都知道,当你的计算机和一台Internet上的服务器建立连接的时候,双方 就会互相传输数据给对方。而这个IP就等于是传输的通道,其实你使用的IP,只能说是互联网的“身份证”,真正访问互联网资源的其实是ISP,你的IP只 是负责接受和传输数据到XX服务器。同样,这个IP就是确认某台计算机在某年某月某日某时某分某秒连接进入某个网络的证明。同样只有找到这台作案的计算 机,才能继续追查他的使用者。
       好的,我们现在回到前面,我们前面说了,假设163.COM公司报案后,公安部门通过分析,在WEB服务器系统上以及网关上面(无法擦去)均找到了连接并 入侵系统的IP地址:211.1.1.1,这个时候公安部门调查发现,这个IP是来自日本的。这就是说入侵者是小日本?
       这其实只是一个假象。
       当查找一个入侵者的时候,很重要的一个环节就是查路由日志,当你的IP访问一台服务器的时候,就会经过非常多的路由器,也就是说不只一台路由记录了你曾经 到访过的IP,这也是可以追查到的。同样,即使你使用国外肉鸡来连接入侵 163.COM,警察叔叔同样会追查到你。那他们是如何做到的?
      答案很简单,公安部门是有权利要求电信部门配合,提供路由日志,具体提供到有那些IP曾经路由到211.1.1.1这个IP上面,这样。就可以抓住你了。 当你被抓的时候,别想为什么老子明明用了代理,还是被抓?其实很简单,因为单单是一层,那是很容易被破解的,尤其是代理! 代理协议都是很简单的。被破译一点也不难。
       稍微懂点击数的童鞋都知道,公安网络监管部门有一个GFW(“国家防火长城”,还是思科提供的呢~shit!)大家知道 这个防火墙是做什么的?就是用来屏蔽一些被认为网站内容涉嫌fandong、色情活动的站点和网络资源。不信,大家试试随便找个普通的国外有效代理访问类 似www.wujie.net,你就会发现 你和代理的连接中断,为什么中断?因为GFW检测到 你涉嫌访问 fandong、色情内容并且已经被屏蔽的站点。然后ISP的系统,就会强行中断你和那个国外代理的连接。这样,在一定的时间里,你就会以为代理死掉了。 更简单的测试方法比如:你在google.com里搜索:“胡”“温””习““贾”“邪恶”等等,你就会发现自己和Google的连接已经中断,其实这就 是ISP强行掐断了你们的访问(可怜我天朝子民连“学习”这个词都不能在Google上搜索了 = =|||)。你在大概几分钟类就无法访问Google。因为你的内容没有进行任何加密措施,就类似代 理、就很容易被识别出来。
       所以大家不要随便相信代理这种基本没有任何安全性可言的东西。
       而怎么样,才能逃避追踪呢?方法很简单。
       公安部门追踪入侵者,只能从IP下手,我们逃避掉IP,只要自己拉风,基本就没有危险了。如何逃避?我说下,我一般“检测”站点服务器所用的方法。
       准备工具:根 据威胁性质,我一般对很危险的网络使用“E级防护”直接侵入服务器:北京某高速IDC服务器A、它的后面还有:湖南IDC服务器:B、山东 IDC服务器:C、韩国服务器:D、台湾服务器:E、本人电脑:
注意,防护程度根据个人能力而定,一般我这种级别的入侵防护要求被控制的服务器质量很高,首要是速度非常快,PING值如果国外的两台高于:150,那就 不用考虑了。一般国外的要求PING在120左右。国内的PING在70以内。否则会造成操作速度非常缓慢,因为本身这样做以后,操作速度就会变慢不少, 原因是:(这里的各地服务器我用A、B、C、D、E、代替,刚才已经写清楚了),首先,我们连接的是E,然后在E号服务器里使用3389终端连接韩国D 号,然后D号再3389连接进入山东服务器C号,然后C号3389再连接进入湖南B号。湖南B号继续3389连接进入“A号”。这样,在操作过程中。你的 一切操作都会记录在A号上面。被入侵的服务器一切记录都在北京A号上。连A号上的日志都不用擦,就是要留给公安叔叔追踪!
       我前面已经说过了,公安叔叔的网络抓捕终极武器就是查路由了。而当我连接到台湾E号的时候,就会记录我路由到了E,然后呢?你在3389上的操作,仅仅只 会留在对方的服务器上,而你只是看到传输回来的图象。并且是经过高强度加密,我试过根本无法被识别,依照现在的技术,是根本无法还原你到底进行了什么操 作。并且这是绝对不可能的事情。因为终端连接的协议是非常严谨的。就现在来说,是无法破解的。看完你就知道为什么了!
       当我连接到E号台湾的时候,我的一切操作就是E完整的,我仅仅是得到传输回来的图形界面(也就是截图差不多的),所以一切操作就是E完成的。这个时候E路 由到了D号韩国,所以E号的路由就不是我们的了,就是由台湾ISP服务商路由了~大家明白原理了吧?警察叔叔只有权利查大陆电信部门的路由日志,他们可以 查到一个IP路由到了大陆以外,但是绝对不可能查到一个真正的国外计算机傀儡的背后是谁。为什么呢?
       因为当E号台湾操作D号韩国的时候,他的一切操作就是由台湾ISP记录了。这个时候韩国D号连接国内C号的时候,才有可能被查到。因为前面的 A、B、C都在国内,只要在国内,都有可能被追踪到!例如:继续回到案例假设中:这个时候警察叔叔查到IP:211.1.1.1。假设他是北京A号,好 的,连夜中警察叔叔赶到北京电信。通过电信的配合,查知是某 IDC托管商处的服务器。然后开启这台傀儡服务器,通过分析记录日志,得到我们的B号傀儡服务器,好的,连夜赶往湖南电信,在湖南电信的配合下,查到又是 一 台IDC托管服务器,素闻湖南人热情好客,果然不错。在IDC的盛情款待和大力配合下和警察叔叔们奋勇拼搏、不为个人、大力牺牲的情况下。查到了我们的山 东C号服务器。这个时候,劳累的警察叔叔在休息了一晚后,继续赶往山东,在当地电信的配合下。查到这个IP又是属于某IDC机房的。于是在分析完日志后。 我们的警察叔叔知道曾经在吻合的时间和背景下连接到这台C号的IP是:203.1.1.1——而这个IP来自韩国,怎么办?他能怎么办?
       其实话说回来,公安这样要求国内ISP服务商配合调查,开启路由提供日志的几率是很低的。如果要跨国办案,只有一个可能,就是前往韩国。好的,既然是假 设,我们就要假设完。在拿到去韩国的机票后,警察叔叔来到了韩国,在当地警方的大力配合和盛情款待后。通过万分之一的机会查到了这台可能已经被我不负任何 责任格式掉的服务器IP地址所在机房。在万分之一的几率下,又通过韩ISP的配合,居然查到还没被删除的路由日志。于是查到路由到这台韩D号的IP来自台 湾 22.1.1.1。在“八耻八荣”和”科学发展观“的号召下,警察叔叔奋力拼搏,拿到了去台湾的机票,终于终于获得了台湾警方的配合。在宝岛,同胞们还是 这么热情,终于在万分之一的几率下查到了这台曾经被不负责的格式掉的服务器......
       终于,在万万分之一的几率下取得源入侵IP23.1.1.1来自中国湖北某地,于是警察叔叔杀红了眼前往湖北,终于在当地ISP的配合下。通过系统记录的 拨号日志,终于查找到这位仁兄——可是警察叔叔们发现,已经过了——刑事追究期限= =|||。不过这已经是有了中福彩体彩六合彩的运气了。
       我说句说实话,比尔大盖子把他 500多亿的财产送给你的几率,都比查到源IP的几率高!
       刚才是假设到最后是查处了我这个幕后黑手,剧情是挺顺利的。可是现实中,是绝对不可能的,首先:路由日志,不是谁想查就能查的。查路由会导致ISP整体网 络速度下降非常大,而且是只有几率查到,因为最关键的是这种路由日志一般都会定期删除,所以他的保存期很短。并且电信部门对一般的地市的网监,不强势的部 门都不怎么鸟他!~所以说,就算要找到我们的C号山东服务器都是很困难的。警察叔叔一般情况下,能查到B号的,你就该送人家——优秀人民公安锦旗了网警如何找到你? - Altair -  NeverLand NeverBack
       再说说国外的D号和E号,当查到C的时候,也不知道是什么年代了。去查一台多次格式化,并且经过多次读写后的服务器的入侵日志,无疑是。。。怎么说都不可 能,除非有路由和网关日志,那东西。能在几个月后查到的几率是0,按国内公安办案速度,一般等个一年两年,才有可能去韩国。那个时候,估计人家服务器换没 换,我就不 知道了。这个时候能幸运的查到台湾E号,几率确实比微软老总送你500亿 美刀的几率高。而在几年后,能在E上找到你的源IP,确实可以当联合国总统了吧?哦对了,好象没这职。
       按道理说,找到你的时候,你的电脑在长时间的使用中也已经更新换代了~这个年代,两年换代,不希奇吧?能把你入罪,并且还在法律追究期内的情况,确实能媲 美彗星撞地球了。别的不说,只要把硬盘多读写几次、格几 次。这几年后,不格不读写,硬盘也都被重复写过多次了吧?而当年入侵的时候是操作在台湾机器上的,除非有一个可能——ISP在这几年里一直在路由器上拦截 你的一切网络访问数据,并且解密开。并且就算解密开,得到的只是你连接对方服务器的数据。这种级别的服务,我想只有特级间谍才享受吧。ISP可花不起这个 钱和设备来监视一个普通人几年。并且还保存几年数据,要知道,如果一个省的ISP监视一个省的上网数据,一天的数据就够装几万G了。。。不知道得用什么东 西装,这是不可能的事情。更别提解密了。就算找到你,也没证据证明是谁入侵格式了163.COM的硬盘!
       归根结底,只要你能够利用国外网络躲避开国内路由,根本没有可能查到你,上面的假设中的A、B、C、D、E我都是自己亲身使用过的。并非胡乱吹嘘。这里我 来说下,我一般检测站点服务器的隐藏自己的具体方式:
       首先准备肉鸡3-5台——2台国外肉鸡——2台国内,国外肉鸡最低两台。这样才能足够逃避追踪。国内肉鸡可以减少到1台。根据你找到的肉鸡网速决定。要求 肉鸡的网络延迟非常高,国外地区的肉鸡,网络延迟要求你本机连接上的PING值不高于130。国内肉鸡不高于70的延迟。这样才能很好的使用肉鸡。方式是 使用 WINDOWS自带的3389远程连接,在肉鸡里再连接肉鸡,这样反复套袜子式的连接。
      我一般是使用5台`3台国内肉鸡,2台国外肉鸡。我采用的连接方式是,完全暴露的国内A号`B号国内,C号国外,D号国内。E号国内,F号本机。我连接E 号,然后连接D、C、B、A。注意E号建议是采用开代理的方式连接。比如把E号开启SOCKS5代理服务方式,然后你在本机连接IP127.0.1,就可 以成功连接E号。这样我在E号留的WINDOWS日志记录IP全部就变成了127.0.1。这样就无法证明我曾经干了什么。即便于当检查我的计算机的时 候,也只能看到我连接了127.0.1。而路由只能证明我访问了、和对方服务器建立了连接。
       以上隐藏方式,为亲身使用过。并非胡乱猜想。如果你这样都能被逮,只能说你是神人也!天神下凡。。。。
------------------------------------------------------------- 我是分割线------------------------------------------------------------------
                注:本文仅做技术研讨,并非讨论如何在网络犯罪后逃脱法律的惩 罚。
------------------------------------------------------------- 我是分割线------------------------------------------------------------------

这篇文章仅做纯技术研讨学习。
请不 要尝试越过法律!
请 各位尝试入侵的网友记住:
当你在没有任何防护的情况下进行hacking,你时时刻刻都面临着危险。你是否落入那张 “网”,就看别人是否要你进“网”。

2010年4月15日星期四

Win32环境下C语言标准文件操作的某怪异问题的分析

c语言文件操作方面知识,你的参考书上一般会讲到关于二进 制文件的在打开和读取时必须fopen的打开模式选项里加入字符b,比如当创建只读文件指针时,模式选项应为"rb"。对于关心这类无关痛痒的鸡毛蒜皮的 小事胜于绩点的同学(比如我)来说,一个类似于“二进制文件和文本文件究竟有什么区别“的问题可能会困扰你很久,因为通常情况下你会很悲剧的在看完整个一 章后发现对这两种文件的操作根本没有区别。这篇文章就是为这些好问些无聊问题的人准备的。
先讲个故事,跳过不妨碍技术方面的阅读。
前些时间我在做一个魔兽争霸的外挂,主要用来录制和重放游戏 中的视角切换动作。调试这种涉及到很多内存操作的程序是很难受的,因为就算设置了断点,错误的内存操作仍可能引起系统堆崩溃,在Windows环境下系统 堆崩溃约等于内核崩溃。程序即将完工,进行全功能测试时,却奇怪的遇到了频繁的系统崩溃,经过检查发现在数据文件中会不规律的出现一些奇怪的字符 0x0d。反复查找问题不得其解,后来想到0x0d的特殊含义(待会会讲到),研究了一番,终于得出了结论。
废话了这么多,现在讲点大家关心的。
大概有些人知道在Windows中换行物理上是用两个字符标 记的,即\n\r,这种乍看令人匪夷所思的设计有个算是可以接受的理由:主机时代电传打印机的换行需要先换行\n,然后回档\r(也叫回车,即把光标移到 行首),有点像电影里的老式打字机,每换一行都要把打印头移回行首。不过我印象中微软成立的时候电传打字机已经不怎么使用了,取而代之的是Apple的 Macintosh,IBM的PC和王安的WPS。
好像又扯远了。嗯。
大家也许记得当你使用printf输出字符时换行使用\n结尾的,事实是当程序向文件输出流输出\n时 Windows会在后面自动添加\r。
现在大家知道我想说什么了,在文本模式下如果输出了一个字节\n(0x0a)真正输出的是两个字符\n\r(多了一个字符,0x0d)。而 在二进制模式下这种越俎代庖的事系统是不会做的。
还没完。下面我们来看一下这种自动添加字符的机制是如何实现的。
代码1:
#include
int main()
{
      char str[200];
      sprintf(str,"So stupid\n");
      printf("%d\n", strlen(str));
      return 0;
}
输出:10
So stupid\n一共有十个字符,包括我们手动添加的一个换行符\n,strlen函 数可以正确给出这个字符串的长度。这个程序说明了,在字符串输出之前\r是不会自动添加的。
代码2:
#include
int main()
{
      FILE *fp = fopen("test", "wb");
     
      fprintf(fp, "So stupid\nWin32 file operation\n");
      fclose(fp);
     
      return 0;
}
用记事本打开会发现字符串并没有正常的换行。fprintf看来没涉及这滩浑水。C语 言的标准库并没有改,因此字符串的表达和写入不需要考虑多出的一个字符,对于开发者来说这无疑是一个好消息。
通过上面两段代码,我们可以假设Windows系 统是在文件抽象层进行了\n之后\r的添加工作。然后我们用以下实验来进行验证。
代码3:
#include
int main()
{
      FILE *fp;
      fp = fopen(“test”,”w”);
      fputc(fp,'\n');
      fclose(fp);
      return 0;
}
记事本打开文件,可以正常显示空行,说明系统自动添加了\r, 即使是我们明确要求写一个字符0x0a,所以上述假设得证。
总结:
关于为什么要区分文本模式和二进制模式的问题上面也有提到, 不过就连我也不认为那是个什么可以接受的解释。这种不合理的设置在POSIX标准中并不存在,因此广大的*nix程 序员(当然也包括Mac OS程序员)很幸运的不需要考虑这个问题。然而作为Win程序员你可能就 有点小悲剧了。。。希望读完这篇冗长的文章后大家能免于在这种非技术性问题上浪费时间,也希望微软能尽快取消这个不必要的选项。

2010年1月27日星期三

中国官员必修课之第一讲(转)

正 如一位网友所说,中国现阶段的主要矛盾是人民群众日益增长的智商和官员们不断下降的道德之间的矛盾,但是,在道德下降之余,他们的判断力,决策力,眼光, 公关能力,口语表达,个人魅力,危机处理能力也在不断的下降,经过我多年的观察,我发现其实很多事,本来没事,但经过一些官员出面处理以后,小事化大,大 事化炸,最后成为焦点新闻。在这里,我将讲述一些在我国如何正确处理一些危机和政府事物的技巧和常识,以帮助各个领导更快的升官发财。今天的是第一讲。我 们从一条新闻说起:
据甘肃省新闻网报道,甘肃将要组建一支650人的网络评论员队伍,正确的引导舆论。
这条新闻起先是由甘肃省自己的内部新闻网发布,甘肃省本想将此当做重大的政绩工程来宣传,本意是想向上级政府邀功请赏。甘肃的政府各部门特地在兰州开会,省宣传部部长特地讲话,最后作为新闻对外发布。
在 互联网上,我们经常看到有人说,兰州悲剧了。当然,甘肃省的领导们肯定不知道这句话什么意思。如今我们真正看到兰州悲剧了。在这个新闻发布以后,被各大网 站转载,但是今天打开这些网站,发现所有的新闻链接都已经失效,没有一条能够打开。是谁能和谐省宣传部呢,当然是宣传总部。甘肃省的领导们对圣旨的领悟能 力极差。他们犯下了重大的错误。马屁拍在老虎屁股上。
网 络评论员也叫五毛党,乃是地下党。你把成立一支地下党的消息以及名单直接公布了,乃是大忌。这个消息应该是一个密件,由专人送达上级部门,那么上级部门必 将重重有赏。这个新闻直接透露了政府一直不愿意承认的一个事实,那就是五毛党的存在。如果一个人想要获得赞美和拥护必须要靠花钱收买别人的嘴才可以,那说 明这个人肯定够丑的。这条新闻直接摧毁了上级部门努力营造的假象。兰州宣传部门的领导看来一辈子升官无望。
另 外,这条新闻的灾难性在于,他完全暴露了五毛党的结构组成以及基本人数,并且容易被一些网友所利用,新闻里说,今年甘肃省要加快网监、网评队伍建设,形成 以50名网络评论“高手”为核心层、100名网络评论“好手”为紧密层、500名网络评论“写手”为外围层的网评队伍体系。
在 甘肃省这么一个小省里,尚且需要新增添650的专业网络评论员,那么好事者很容易推算出,在全国范围内,专业网络评论员的数量应该不下十万人。假设每个网 络评论员的年工资平均为五万元人民币,那么政府每年要为自己夸奖自己支付50亿人民币,也就是25000个希望小学,或者十分之一个三峡大坝,或者杨浦大 桥加南浦大桥加东方明珠打包带走还是双份,或者30架波音737,或者一个中型航空母舰,或者90台在汶川地震中急缺的只向俄罗斯租借到一台的空中巨无霸 米26H直升机。这个数据如果不小心让人知道了,非常容易引起人民群众和政府之间的矛盾,往自己脸上贴金乃是人之常情,贴金就要花钱,但往自己脸上贴航母 的确说明这脸有点太大了。好在还没有好事者这样推算过,至今也没有人提出过质疑,算是万幸。
通过这场兰州悲剧,各位领导们也知道了领会上级精神和误会上级精神之间其实只有一念之差,各省市宣传部领导们应该引以为戒。

回家了

终于到家了。先上来挂个标题。哈哈

2009年11月1日星期日

我回来了

托功G夫F网W的福,这Blogger已经有一年没更新了,悲剧…现在好了,有了黑莓以及opera mini,我终于可以更新自己的BLOGGER了。好啊好啊…
来重庆也有两个多月了,依然不适应这鬼天气,这么冷还不停的下雨,衣服永远干不了,虽然是秋天,却根本就没什么蓝天,搞的我很郁闷。
上线性代数,让我很难过,那个所谓的博导上课就是读书还常拽英文(发音还很吓人),作业超多他又不正经批。于是从上节课开始我就开始自习了…
先写这么多,由于宿舍不能上网,以后blogger的文章可能都很短,抱歉啊…

2008年4月5日星期六

祈祷

哦,命运
象月亮般
变化无常
盈虚交替
可恶的生活
把苦难
和幸福交织
无论贫穷
与富贵
都如冰雪般融化消亡

可怕而虚无的命运之轮
你无情地转动
你恶毒凶残
捣毁所有的幸福
和美好的企盼
阴影笼罩
迷离莫辨
你也把我击倒
灾难降临
我赤裸的背脊
被你无情地碾压
命运摧残着
我的健康
与意志
无情地打击
残暴地压迫
使我终生受到奴役

在此刻
切莫有一丝迟疑
为那最无畏的勇士
也已被命运击垮
让琴弦拨响
一同与我悲歌泣号
那歌声
由心底迸发
饱含热情和斗志
充满朝气
带给我无穷的力量和希望
激励我勇敢,奋进,全力拼搏
而挫折和苦难,不过是起伏的音符
令整首歌曲更加激昂有力
来吧!魔鬼!
你的存在将为我的生命乐章增添更多的伏笔和惊奇
没有你奇迹如何发生!
来吧!挫败!
没有你的磨练,我如何成为耀眼夺目的钻石!   
来吧!我的软弱!   
如果我不能看见你,我如何变的刚强!   
来吧!对手!   
没有你的参与,我与谁竞争,   
没有你的参与,   
我的潜力如何能被激发出来!   

这乐章,才刚开始......

再议十条戒令(一):问题

本来高一时看了所谓“中情局 十条戒令”就准备发一篇文章,结果找不到合适的地方发:报社人家是不会给你发的,至于说当时我那个个人网站,一是发上去怕狂热的民族主义者带着板砖上门送货,二是若因此被安全局盯上了事情就大了。因此那篇文章就被我删除了。现在时代不同了(官样措词),上政治课老师又为我们讲了一遍,造成了班里同学强烈的反响。种种原因使我再次拿起笔(准确说是敲起键盘),把我的感想写出来。原来一些过激的成分我就不写了。

本文写出的所有词句均没有特别寓意,任何引申和/或联想出的含义均与本人无关,本人不承认、不默许任何本文未指明的观点。读者需对自己的阅读联想和/或评论负全部责任。
何为中情局 十条戒令
按中国官方说法。中情局的十条戒令出自中情局的行动手册(Rules for Operation),密级属于极机密级(网上的说法)。在这插一句,我真的很佩服中国人的想象力,据鄙人对《美国统一保密条例》的肤浅研究表明,美国政府并没有设立可以译为极机密级的密级,仅有的三个密级的翻译分别为绝密,机密和秘密(参考自保密法学的基本概念及国外的保密法律制度),也许极机密级就是指绝密吧。一个美国政府的绝密文件的原文出现在互联网上,真是令人赞叹科技的力量(据我了解,美国非秘密的政府文件保存时使用的加密算法是所谓的3DES,就是使用三次DES,在不知道密钥的情况下百万条每秒地计算机破译需要65年,绝密文件的加密算法不会比这个还差吧),若没有无边无际的想象力,这破译说不定要等到一千年以后,(世界早已没了我。。。)。
言归正传,十条戒令的内容是(http://hi.baidu.com/zhushuo/blog/item/c93a0bf7ee6ea022720eec32.html)
一、尽量用物质来引诱和败坏他们的青年,鼓励他们藐视、鄙视、进一步公开反对他们原来所受的思想教育,特别是共产主义教条;
二、一定要尽一切可能,做好传播工作,包括电影、书籍、电视、无线电波……和新式的宗教传播;
三、一定要把他们青年的注意力,从以政府为中心的传统引开来,让他们的头脑集中于体育表演、色情书籍、享乐、游戏、犯罪性的电影,以及宗教迷信;
四、时常制造一些无事之事,让他们的潜意识中种下分裂的种子;
五、要不断制造消息,丑化他们的领导,组织他们自己的言辞来攻击他们自己;
六、在任何情况下都要抓紧发动民主运动,对他们(政府)要求民主和人权;
七、要尽量鼓励他们(政府)花费,鼓励他们向我们借贷;
八、要以我们的经济和技术优势,有形无形地打击他们的工业;
九、要利用所有的资源,甚至举手投足,一言一笑,都足以破坏他们的传统价值;
十、暗地运送各种武器,装备他们的一切敌人,以及可能成为他们敌人的人们。
各种巧合
我上网查了一下十条戒令。只找到一个有提到英文题目。是Ten Comandment。而在google上查Ten Comandment,显示的全都是圣经中的十诫。可能是巧合。不得已只能依赖FG(FireFox+Gladder)的组合。但依然是圣经中的十诫。加上China和 CIA(中情局的缩写)关键字,终于找的一个像的pdf。打开一看,没有关于中国的特殊政策,China一词只出现了两次,加上Rules for Operation。就彻底没有结果了。没有英文原版,大概也是巧合吧。
在Baidu上找十条戒令的英文原版,竟然找到一个(Baidu那年在英文搜索上赶上google了?)。http://zhidao.baidu.com/question/41798607.html
仔细读一下,你会发现很多问题,比如we must do everything possible to do a good job in communication。若是要表达散播迷信或不好的东西,学过英语的人绝不会用communication这个词。他们会用talebear或spread。
好吧,也许是美国人写文章的时候受让开水烫着了,可能是巧合吧。把原文贴到google上,还是没有结果。
几个方法失败了,我使出最后一种方法,把中文贴到Google Translate上,得出机器翻译的结果竟与baidu上的一模一样。
大概还是巧合吧,我无奈的想。
小节
好吧,也许这是哪个超级间谍在美国中情局搞到的情报。也许一切都是巧合。所有所谓的爱国者和民族主义者都会这样想。那么你是怎么想的呢?谁见过有中文没有英文的美国文件。到底什么是真相,到底这个文件是谁写的,到底这个文件解密的目的(我们姑且把它看成真的是美国政府文件)是什么。他对我们有什么参考意义?这才是每一个爱国者,每一个中国人应该想的问题。

乱时乱世

最近有点乱。
语无伦次了,月考作文才得了39分,不知道是什么情况。不过李的思路貌似的确跟别人不大一样,那天他给我们讲高考题和他的评分标准,超严格,真不知道到底是高考真那么变态还是他的思路比较。
说到高考,我上次发了一篇Blog上来,第二天看就没了,又发了一次,今天看又没了,真不知道是微软搞的还是AQJ搞的。
竞赛考完之后我状态一直没调整过来。再看贾师长那么稳的样子,心里真是敬佩。牛人就是牛人啊,学习竞赛两不误。我就不一样了,集训那段数学一直没怎么补,弄得我现在看到解析几何的题就虚。买了本书想自己补一下,没想到做了22道错了9道,瞬间信心就没了。
真想不到LC5暴密码那么快,Zhq家电脑的11位密码2分多就暴出来了,太强了。有谁说现在的通讯就安全?据说学校网管中心可以监视校内所有MSN的数据包,太那个了。找时间我也编一个暴QQ密码的,看能不能2分多暴出一个11位密码。
真是长江后浪推前浪,我高一时花了近一个学期的时间才把学校的网络结构搞明白,上星期有的高一的同学跟我说他花了两个周就搞明白了,看来高一的牛人不少啊。顺便说一下,学校那个路由器的密码就是学校的名字的全拼。真不知道那个网管是怎么接受培训的。
昨天金价涨到840美元一盎司了,太惊人了。早知道我年初买一千克黄金,现在至少能赚400美元。一看这金价,就很容易看出天下有多乱了。朝鲜人爆了一颗核弹就胀得不行了,又是要钱又是要油的,真是脸皮厚的像长城,真不知道这些小国是怎么想的。布什一天不打仗一天就觉得浑身不爽,到处惹事,要不是那十一个情报部门联合发的那个文件,也许伊朗也让他扁了。
看看陈水扁那个猥琐的政客长相,安倍那个招打的面孔,还有校长那高人一等、藐视全世界的眼神,真是令人作呕。白的一句“姓什么为老几”不是被所有人唾弃吗?为什么就没有人清理一下其他令人作呕的东西呢?
乱时乱世,没有什么是合理的,没有什么是真实的,有的只是羊的血泪,狼的奸笑。

无心快语

上一次更新竟是8月份的,不禁感叹时间流逝之迅速。
最近总觉得不爽,昨夜为了下noi的试题跑了一趟lc大牛的blog,上面竟写着“供大牛鄙视",我这心里说不出是什么滋味。
都说人不会犯两次同样的错误,可我却不是这样的。今天两次没把队列的指针赋值,两次都是Error 201,两次都花了十分钟才找到错误。
今天去图书馆,对面坐了两个高三的。本以为他们能比那些考自考得好一些,谁知着俩一直谈论魔世到十点半,不得已只能提前回家了。期盼着xyx明天能帮我占个好的位置。
小日本的探月卫星都到月球了,我们的卫星连发射的征兆都没有。千万别让印度也赶到我们前面。
政治老师说今年17大要了结台湾问题,我都有点迫不及待,看能不能推出一个强硬一点的措施。
潘委员长推荐的货币战争果然有意思。不过当我发现中国现在的情况确实跟日本八十年代的情况有惊人相似时,心里不禁一凉,难道中国也中了经济杀手们的计?
也许无知是摆脱烦恼的唯一途径。

另附《货币战争》下载地址,学文的同学们确实应该看一下,到底什么是真正独立的国家。什么是真正稳定的经济,什么是控制世界的力量?扔掉政治必修1,看一下真正的世界。
上一次更新竟是8月份的,不禁感叹时间流逝之迅速。
最近总觉得不爽,昨夜为了下noi的试题跑了一趟lc大牛的blog,上面竟写着“供大牛鄙视",我这心里说不出是什么滋味。
都说人不会犯两次同样的错误,可我却不是这样的。今天两次没把队列的指针赋值,两次都是Error 201,两次都花了十分钟才找到错误。
今天去图书馆,对面坐了两个高三的。本以为他们能比那些考自考得好一些,谁知着俩一直谈论魔世到十点半,不得已只能提前回家了。期盼着xyx明天能帮我占个好的位置。
小日本的探月卫星都到月球了,我们的卫星连发射的征兆都没有。千万别让印度也赶到我们前面。
政治老师说今年17大要了结台湾问题,我都有点迫不及待,看能不能推出一个强硬一点的措施。
潘委员长推荐的货币战争果然有意思。不过当我发现中国现在的情况确实跟日本八十年代的情况有惊人相似时,心里不禁一凉,难道中国也中了经济杀手们的计?


也许无知是摆脱烦恼的唯一途径。

未来是什么样的

原8月8日

未来是不可预测的,但未来是确定的。
预测机屏幕上明年的预测机屏幕上显示的是什么?
——伟大的哲学家,先进的科学工作者,远见卓识的天才,优秀的革命家 lzs
1〉未来是不可预测的
依据测不准原理,没人能同时准确测量两种以上的物理量(注意说的是人)。“如果需要预测未来,就必须准确地了解现在 ——伟大的哲学家,先进的科学工作者,远见卓识的天才,优秀的革命家 lzs”。既然现在的情况都没人能了解清楚(即同时准确测量时间和另一种物理量),那就更谈不上预测准确的未来了。
另外一方面,伟大的气象学家洛仑兹阐述的蝴蝶效应清楚地说明:要通过一个大概的现实和一个完美的方法推知大概的未来是不可行的。因为被忽略误差不会在计算中变得越来越小,而会对计算结果产生越来越大的影响。
也就是说,再没有人能准确了解现在之前,不管是准确的或是粗略的预测未来都是不可能的。
2〉未来是确定的
然而上面说的只是在现在不可以被明确了解的情况下才是正确的。作为宇宙本身,他只需要一个完美的公式就可以确定下一刻每个物体所应有的状态,因为他的公式处理的是他自己。因此,未来是确定的。
上述所有论断依赖于一个备受攻击的假设:可以用一个公式或者说一个规则来推知未来。攻击这个假设的人有两种其它的观点,一种是说未来是不确定的,没有一个准确的公式可以表示未来,在以前的文章蝴蝶效应与不确定性里已经讨论过了;另一种是说未来是可以改变的,通常是靠意识思维或是精神来改变,对此我将在以后的文章中进行讨论。

蝴蝶效应与不确定性

原8月29日

蝴蝶效应和不确定性确实没什么关系
蝴蝶效应旨在描述小变化对大系统发展方向、程度上的潜在影响,而一些人把它与不确定性联系起来的,是“蝴蝶”,他们假设“蝴蝶”具有不可预料的行为,它会随机的扇翅膀,有随机的动作,事实上蝴蝶效应并没有包含这个假设。
我不反对小变化引起大反应,但小变化是不是随机的变化,我持保留意见,如果每一个系统都能保证按一个给定的公式进行下去的话,那一切都是确定的,蝴蝶效应肯定了当我们知道每一个系统细节时,是可以确定下一个系统细节的。所以我们可以假设,这蝴蝶也是按一个环境对应一个结果的方式进行他的动作。
同样在经济上,一个人的投资趋向也可以类比成蝴蝶扇翅,我们认为他是随机的,但他事实上在做确定的事。
蝴蝶效应只是让我们了解到预测未来是多么复杂,而不是说我们无法预测未来

三代通信技术

原8月24日

大家可能对手机第三代通讯技术(3G)有所耳闻了,但大家不一定真正了解前两代通讯技术,或在理解上有一定误区,或可能只是对功能上的差别有所了解,如果你希望了解它们本质上的差别,那请往下读。
“地址”这个词在文章开始之前需要重新定义一下,它指的是辨别不同终端的变量,而选择以那个变量当做“地址”就是三代通讯技术的本质差别
第一代叫频分多址(FDMA):它是用频率当地址,在蜂窝状网络中,终端(手机)在进入一个蜂窝时,基站会分配一个频率段给这个终端,今后的一切基站与终端间的通讯都在这个频段中进行。我们知道可以使用的频段是有限的,所以一个蜂窝内的终端数量也是有限的,还经常出现串频的现象。所以只能有简单的语音服务。
第二代叫时分多址(TDMA)GSM就是其中的一员:它是用时段当地址,在蜂窝状网络中,终端(手机)在进入一个蜂窝时,基站会分配一个时间段给这个终端,今后的一切基站与终端间的通讯都在这个时间段中进行。这种方法可以增大数据交换速率。可以实现更多服务。但实际它仍是个模拟通信技术
第三代叫码分多址(CDMA):用数字码当地址,是真正的数字通讯技术,这是我们熟知的计算机通信方法。可以充分利用时间和频率两个资源,所以速率更大,所以可以实现更复杂的服务。

关于SQL注入漏洞的讨论

原8月2日

想当黑客吗,在此我介绍一种针对SQL注入漏洞设计的入侵方法。
SQL语言现广泛用于数据库操作下面是SQL地基本查询语句
select [field1,field2,...*] from [tablename] [where fieldname=]
如果是一个没有经验的程序员编一段查询数据库的程序,往往这样编(以VB为例)
....
dim db1 as database=dbengine.Workplaces(0).opendatabase("c:\ex.mdb")'假设数据库地址为c:\ex.mdb
dim table1 as recoudset= db1.openrecoudset("select * from table1 where password='" & text1.text & "'")
....
这个程序表面看起来没什么问题,当text1输入密码12345时,就会执行SQL语句:
select * from table1 where password='12345'
但如果我在text1输入 'or password like' 时就会执行SQL语句:
select * from table1 where password='' or password like ''
结果是返回所有信息,因为password like ''这个条件一定能满足。

盗版,走向光明

盗版在中国十分流行,用户可以买到廉价的软件,在我看来,这并不是一个不光彩的行业。
中国的计算机民用事业的发展,靠的就是盗版。如果没有盗版,一个Windows3.2(Windows1992年的早期版本)就要99美元,对中国民众来说,是不可接受的。中国民用计算机业的发展,如果没有盗版的支持,就会落后于世界。就此看来,盗版是一个好的行业。
盗版在中国的地位可以说无可替代,起了一个平衡财产的作用,有利于实现共同富裕。是一类劫富济贫的光荣的海盗。让盗版走向光明,是时代的正确选择。

Moving

受不了MSN了,访问速度慢,编辑复杂,打字时屏幕闪烁。因此我决定以后改到Blogger上了。近几天争取把以前的文章都搬过来。