Profil de Jian&Ray 's tim...Jian&Ray 's timesPhotosBlogListes Outils Aide

Blog


19 octobre

给打算签手机和买电话卡的同学一个建议

签个手机,信号很重要,大家应该用过国内的小灵通吧,外号“喂喂操”,就是接通之后“喂”……“喂”……“操,又断线了”。在英国,我发现有比国内小灵通还差的网络,就是Virgin,比那个还夸张,具体不说了,一肚子火,大家千万别签Virgin的手机。
 
现在免费中转号取消了,所以很多人买了类似国内IP卡的电话卡,这里给个建议,千万别买Top-Tel,我以前看广告还不错,买个一用,发现纯属胡扯,带宽小的可怜,接通率极低,一般打3次能同一次长途,时间乱记,一般来说是打座机时间X1.5左右,打其他可能更贵。所以提醒大家,千万别买Top-Tel的电话卡!
 
其实MobileWorld的Pay As You Go 的Sim卡不错,CrossNetwork也便宜,其实如果没有特殊需要的,买那个就可以了,签手机是很不好Cancel的。
7 septembre

完美世界国际版 仓库包囊上升数量 所需物品

5个幽冥肉块,5个画皮,5个元素粉末,5个软毛皮,5个触角,5个犀角 24格
10个幽冥利爪,10个完整的皮囊,10个元素碎片,10个钝爪,10个蜜汁,10个百☆露 32格
20个幽冥之眼,20个鬼画符,20个元素结晶,20个兽骨,20个强酸,20个青娥佩 40格
35个幽冥面具,35个阴阳符,35个元素精华,35个软筋,35个毒液,35个紫琉璃 48格
50个幽冥鳞片,50个勾魂牌,50个元素宝钻,50个尖牙,50个猛毒液,50个蟠桃果 56格
50个幽冥图腾,50个孟婆汤,50个元素之核,50个獠牙,50个致命毒液,50个玉如意 64格
50个幽冥宝珠,50个黄泉之水,50个元素之光,50个成形的内丹,50个五毒液,50个人参果 72格
50个幽冥之魂,50个阎王令,50个元素之灵,50个凝结的内丹,50个万毒母液,50个舍利子 80格

 


幽冥肉块——妖牛脚夫、妖牛渔夫、妖牛樵夫之类的,之后的妖牛,祖龙北寺院周围,随便掉,很多。
画皮——15级以下的骷髅类的似乎都会掉,还有浮游冥光也掉过。其实所有骷髅都掉。
元素粉末——野人村附近的桃花妖掉率比较高。元素类的都掉,祖龙西门口土精随便掉。
软毛皮——17级以下的貂类都会掉,等级高一些的掉率高一些。
触角——这个天牛类的似乎会掉,下19FB的时候蛮多的。
犀角——奇足类的会掉,比如说纤嘴奇足,还有纤嘴奇足王

 

幽冥利爪——这个在祖西外面打人狼战士和人狼射手就能得到,应该很容易吧
完整的皮囊——骷髅类的会掉,祖北骷髅比较多,容易得到
元素碎片——祖西22级的虚之土精掉的比较多
钝爪——还是祖西,22级狩猎猫王掉
蜜汁——19FB比较多,另外18级以上的蜈蚣类都有几率掉
百草露——祖西,龙蛭类的会掉,比如巨石龙蛭,厚土龙蛭

 

幽冥之眼——这个好像在飞鹰堡附近的怪有掉,具体名字记不得了
鬼画符——怨灵沼泽的毒殇怨灵掉蛮多的,其他的就不清楚了,大家知道的可以告诉我一下
元素结晶——云梦岭的蝶兰妖灵掉的比较多
兽骨——落☆那里好像有怪掉,我自己很少打到,不过打吸血蝙蝠的时候打到过,蝙蝠还掉了软筋
强酸——幽兰比较多吧,蜘蛛类会掉
青娥佩——狐类的还有夫诸类的会掉

发现同类型的掉得东西类似,但是等级越高,掉低级物品的几率就越大,到祖龙门口,掉第一次扩充物品的几率几乎到达60%-80%之间。掉2次扩充只有5%甚至更低。所以等级高了去打高级同类怪吧,别跟自己过不去。

以上转帖,比较有帮助,主要是指出了打的怪的种类。
以后的材料可以再慢慢升级中注意打到

 

完美世界国际版 妖族 羽族 3级 宝箱试炼 任务

完美世界国际版每个族3级都有个试炼任务,去城门之类的地方找个宝箱,限时5分钟。
羽族比较简单,324,426,高度30
人族我没跳上去。。。。
妖族的比较简单 站在城里面面对城门,右手边先跳上一个断石柱,按后跳上靠山的平台,这个比较简单,有台阶可以跳,关键是跳上去之后,很多人不知道该怎么上最高那个平台。其实只要对着城墙上盾牌的斜边跳,盾牌的边缘是可以踩的,这样再跳一次就上去了。
 
人族10级还有一个宝箱任务,说要跳到后院,其实旁边有个口可以直接走进去,不用跳。
25 août

不要相信杀毒软件的神话

刚刚在网上看新闻,发现了瑞星和卡巴斯基互咬的事情。也顺带看了一下网友的回帖,发现大多都是极端偏向一端的用户。在写感受之前,先说下本人亲身接触并且使用过的杀毒软件从1996年左右开始,那时比较流行的是KILL,杀毒平台是DOS,之后接触了AV95系列,江民KV系列,后来window下出现了很多杀毒软件。现代杀毒软件用过的有NOD32(2.5-2.7),卡巴斯基(Kaspersky,从4.0-6.0),Mcafee(麦咖菲从最早的英文版到洪恩毒盾到现在的企业版,还有中途出过的个人版),诺顿(Norton个人版和企业版客户端),熊猫(白金版和钛金版),趋势系列(2003,2005,007等),国产的江民(从KV200就开始用,一直到现在kv2007都用过),瑞星系列,金山系列,东方系列,还有一些杂七杂八的还有个VRV,不过现在不见名字了,KILL也很少见到了。
 
很多网友都说某个杀毒很牛,其他垃圾,以前我也发表过类似幼稚的言论。现在看起来有点可笑。首先要说的是那些发言的网友用过几种杀毒软件?比较过吗?就我们个人而言,如何公平的去比较每种用过的软件?答案肯定是不能。我们不是专业评测的,不会不停的换杀毒来测试同一批病毒,同一类错误操作,而且现实使用中,并不一定会碰到测试时发生的情况。
 
看了下网友普遍的评论,总结如下:
说不好的理由有:杀毒效率低,查杀质量(能否找到病毒)低,内存占用高,CPU占用高,兼容不好,自我保护不好等等。
                     通常使用查杀质量低来评价最有说服力。
优点自然和缺点相对应。
 
现在公认的卡巴斯基比较强,真的绝对很强吗?如果真的绝对很强,为什么不全世界大部分都用卡巴斯基?难道大家都不知道网络安全的重要性吗?为什么AOL会放弃与卡巴斯基的合作改投Mcafee麦咖菲呢?有人说商业问题。如果让你做选择,利润和安全,你怎么选?没有安全你将损失更多。那么麦咖菲就很强吗?昨天我LP的电脑还中了一个MSN病毒,就是在Mcafee8.5i企业版+Patch1+Anti-Spyware引擎下,就这么中了。卡巴斯基就不用说了,我在大四有一段时间在用,但是更换杀毒的原因就是中了一次病毒结果整个杀毒软件崩溃了,卸载不掉,重新安装也不行,恢复也不行,最后只有重装系统,改用了NOD32。
 
国产杀毒中我原比较喜欢江民,因为杀毒需要长时间的技术积淀和经验,但是后起之秀瑞星和金山也不弱。虽然相比之下,我原来并不看好国产杀毒,但是我在偶然的情况下发现,国产杀毒对国产木马或者病毒的查杀能力比很多国外都强。曾经一段时间,金山用过DrWeb的杀毒引擎,也就是当时宣传的双引擎杀毒,据当时报道确实强劲不少,但是最后仍然采用了自己的杀毒引擎。不论为什么没有继续使用,我还是很赞成有自己的自主知识产权,总比国内一些手机厂商啊,汽车厂商啊来的像人一些。
 
最近金山毒霸2007通过了严酷的VB100测试,也就是以前NOD32一直宣传的那个,测试平台是Vista64bit。至于在我们自己的平台是否能达到一样的水准,我们不得而知,不过有一点是肯定的,就是金山毒霸的技术已经有了长足的提高。但是及其奇怪和扭曲的是我也看到了一些网友的评论,说英国的VB100测试是不是标准降低了!?这个是什么言论?国产软件通过国外测试就是国外测试水平降低?难道我们现在通过IELTS考试,就说明英国人的英语水平都降低了?真是莫名其妙,感觉就像是被外国人打怕了,心里出现某种缺陷一样。就算是世界一流的DrWeb的杀毒引擎也不能保证100%查杀病毒。现在驱逐舰,小红伞等都是使用DrWeb的杀毒引擎。那又怎么样呢?仍然还是不能完全查杀。
 
说了这么多,到底要说什么。那就是不要相信杀毒软件的神话,没有最好的杀毒软件,只有最适合自己的,包括自己的使用习惯,电脑配置,视觉感受。重要的就是一些基本的常识,这点能顶的上一个初级的病毒防火墙水平了。现在很多杀毒都有一些附加功能,其实这些再多也是附加功能,不要本末倒置了。惯例最后要做一些推荐,照以前来讲我是不会推荐国产杀毒的,但是自从Mcafee中毒后反思这两年内用过的杀毒才发现,其实不然。不需要有什么杀毒软件之争,你用的好自然会继续用,用的不好自然会换。不要去听信别人对某个杀毒的种种不客观的评价,也许那人也是道听途说的。国产杀毒是可以根据需要选择的,毕竟他们对国内形式了解的更透彻一些,对国内病毒反应更迅速一些。对国外的杀毒不要盲目崇拜,就像我以前一样,现在回过头来看,真的好傻,好傻!
 
==================================================================================
我会陆续增加一些安全相关的心得,欢迎交流。
 

JAVA线程与swing

很多JAVA初学者在把GUI和网络连接处理写在一起的时候(其实不仅仅是网络连接),发现很多GUI控件在点了之后会失去作用,整个窗口像锁死一样。 
举个简单的例子:
private void connectButton_actionPerformed() {
    while(true)
  {
       wait for connection......
  }       
}
当点下按钮后,连接某个服务端,但是发现点下后,按钮再也不弹起来,连接的部分代码已经运行了,为什么呢?注意Swing重画并不是立即执行的。而是把重画请求放置到Swing事件队列中等待Swing线程处理。但是这儿,因为网络连接处理占用了Swing线程,所以,它还不能马上进行重画。这就是为什么很多类似情况都导致GUI界面锁死的情况。
前几天最后的毕业设计也碰到类似情况,最后采用匿名线程解决了问题。具体方法是将要执行的多余代码放入一个匿名线程里面执行,线程的执行和swing是不同的,所以不会产生无限制等待的情况。
比如:
private void searchButton_actionPerformed() {
    new Thread(){
        public void run() {
            你打算要做的事情请放到这里;
        }
    }.start();
}
问题基本上解决。
24 août

Vista兼容软件更新,杀毒,游戏相关经验

一个多月的使用,软件方面发现网上流传的PC Tools免费的VIsta防火墙使用后出现不能开机情况,但是论坛很多人说没有问题,不知道怎么回事。
最近测试兼容很好的软件有,ACDSee9,GooglePicasa,完美世界国际版,金山词霸2007SP1版, UC音乐版,Office2003,冒险岛OL。
奇迹世界依然不能在Vista下运行,没什么可说的了。即使在虚拟机下运行仍然不行,让奇迹世界见鬼去吧!
 
关于完美世界国际版的运行,请先下载最新的补丁,使用patcher.exe-》选择以后下载-》检查完后-》手动更新-》选择更新文件即可-》更新完毕后,重新启动pather.exe,仍然选择以后下载,如果检查完毕后左下出现进入游戏的按钮,说明已经更新好了。退出patcher.exe,在桌面新建快捷方式,在运行栏里输入:"C:\Personal Program\《完美世界》国际版\element\elementclient.exe" game:cpw,前面的路径根据自己安装的不同去修改,一切运行正常且流畅。
 
一直让我比较喜欢的Mcafee有点让我失望,居然让一个MSN病毒入侵成功,导致LP电脑重装。不太懂到底怎么回事,Mcafee的安全保护我一直觉得是强到有点过分的,没想到阴沟里帆船。主要是LP运行了别人发给她的一个可执行文件,理论上杀毒软件应该报警并拦截,但是Mcafee8.5i企业版没有。虽然我仍然在用,但是印象已经大打折扣。
 
金山毒霸2007最近通过了极其严格的英国的VB100测试,是国内第一个,在Vista64bit的测试环境下,可喜可贺,比某些国内杀毒厂商广告响软件打不响要踏实务实一些。这个测试把趋势的全线产品刷下了马,真是“马失全蹄”啊。通过的有NOD32,Kaspersky,Mcafee,Norton还有一些不知道的。
 
Vista稳定性一般,个人感觉不如XP稳定,UAC功能非常不错,即用户账户控制,这个功能以前让我误解了,觉得是推卸责任,不过现在发现原理是比较先进的,在安全和易用中找到了平衡。
 
IE7已经基本上不用了,稳定性差兼容差不是一般的。Firefox一直在用,还不错。
 
另外,网上盛传的office2007那个版本已经被封了。而且office2007用起来很不习惯,还是换回2003好用。
19 juillet

继续更新Vista兼容软件,方便大家

所有软件亲自测试,效果如下:
1。MSN,除了第一次运行死了,以后都没有过。
2。GoogleTalk,运行完全没问题。
3。TM(Tencent Messenger),运行没问题。
4。ACDSee9.0运行完全没问题,我用的霏凡软件站下载的版本。
5。Firefox2.005,运行完全没问题。插件包括Flashplayer,GreaseMokey,FlashGot,MediaWrap,IE Tab等。
6。迅雷5,完全没问题,不过IE7下右键无法自动打开迅雷,只有开启迅雷后才能自动添加下载。据说Web迅雷不行。
7。千千静听,目前没问题。
8。暴风影音2,完全不行!!!不知道哪个网站胡扯,还说运行流畅。打开任何RMVB文件,永远是显示下载插件,每次下载到100%显示下载失败。拜托,Vista之家那个评测,简直就是广告,怎么叫运行流畅阿?程序能打开就算流畅?试过播放文件吗?不负责任。
9。改用超级兔子快乐影音,播放ok,但是有一个和DerictX10冲突的组建没有装,好像是VoxWare。
10。WinRAR3.70,运行目前没有问题。
 
除此之外,Switch between windows功能太眩了。所有程序包括window自己的程序运行都要通过用户同意,无语了。是安全了还是为了推卸责任?
 
 

这个Vista阿.......

说Vista之前先说下这个本。HP Compaq6715b商务电脑。本身对商务没有太大兴趣,但是就是稳定(稳定压倒一切,这话是这么说的吧)。配置还是不错的,自带Vista Business。第一次开机到能用,大概40分钟,速度都很快没得说了。另外这个电脑声音什么快捷键是触摸的,感觉很现代。集成指纹识别。原本说有防窥膜,也就是平行方向的人看不到你屏幕的内容(我个人觉得就是指液晶的可是角度太小......)结果无聊一看,我kao,只要有一点角度,屏幕上什么都看得清楚。算了自我安慰,可视角度真大,也算不错......还有什么硬盘资料销毁技术.....没有测试,不说了。
 
至于Vista:
漂亮,那是的确的,玻璃界面,相当好看,所有窗口动画显示,3D显示,还有3D窗口显示切换,一切美轮美奂。英文系统什么都不用设置就能完美支持中文输入和显示,和中文系统一样,相当不错。所以以后用英文Vista也不用担心了,不过自带的程序还是英文的不会翻译成中文。支持兼容运行,所以很多XP下程序都可以运行,和操作系统结合紧密的除外,比如杀毒软件。别用X星阿什么的,除非想看Vista蓝屏什么样。我现在用Mcafee,NOD32也不错,kaspersky据说有人用了重起就蓝屏,没敢证实这点。
 
外观和第一印象都不错,就是想说一句:你丫的应用程序能再稳定点不?第一次开IE7就死了(以下说的死了都是指程序不是系统),然后进入控制面板,开了系统工具,误点了OS。。菜单,又出错死了。然后开MSN,又死一次。。。
我真想问下,Vista Business的客户是都有这种忍耐力吗?不过还好,除了IE之外,都是只有第一次运行才死。到现在1天时间里面IE7死了N次,我已经不能接受了,准备换FireFox了。
很多设置都变了位置,添加删除程序居然不在控制面板里面?!找了半天才找到
ARP设置也改了,以前ARP -s现在不能直接用在网关上了,不知道MS的工程师怎么想的。很多XP很方便的地方都改没了,唉,要出门了,先写这么多。
 
23 mars

[分享]我们的程序1.0正式版终于出炉了

经过几天的努力,正式版终于出炉了。
 
由于前台和后台调用和参数传递问题,所以有所延误。
 
不过最后还是聪明滴解决了,通过反向调用参数传递,和空方法返回值函数成功解决。偶也!
 
最后说下看了一点《命令与征服-十年》,TNND怀念啊,太经典了,一定要把红警1任务玩通。。。。。尤其是有一关,就给几条狗,要干掉对方几个工程师那个怎么过啊???我还记得最后那几个工程师有好多机枪兵保护,根本冲不进去。。。。
20 mars

关于Coursework

分别说一下要主意的部分,主要是大家衔接的部分,为了便于以后整合:
1.界面部分可以采用直接读取textfield的方式读取明文,key是固定的,所以不用那么复杂。不过有几个地方要注意:
key是64bit,但是不能直接用ABCD。。。。因为那个就变成字符了,所以存储的时候可以采用0x开头存储。这样就需要一个转换,读入String,然后存到一个一维char数组,然后转换为对应的数字。比如“ABCD”转为‘A’‘B’‘C’‘D’,之后再对char处理,‘A’在char中数字是65(?具体是多少记不清楚了,举个例子),那么对应的key的第一个就应该是65-55=10也就是Hex中的A,以此类推A-F。如果有小写呢?所以首先要把所有转换成大写,就在从String->char的过程做。另外就是数字了,仍然是字符(第二个有个5)对应的ASCII也做同样的处理转换为正确的值。这样就完成了key的处理。一劳永逸的事,反正只做一次。对于明文的输入,采用同样的方法,因为明文也很短。(如果打算从文件读取,那么只要增加文件读取模块就可以了,改动也很小,如果有时间再做)
 
×我听说有做的答案不对,那么很有可能事明文搞错了,因为明文的A不是ASCII,而是0x0A,也就是二进制的1010,即4bit表示。
==============================
2.转置矩阵和流程编写部分
可以直接使用界面编写部分输出的明文16进制数组。置换选择部分只需要少量的计算,应该没问题,关键要仔细,尤其是矩阵别搞错了。
这个部分会用到我编写的sbox部分的结果f(A,Ki),结果是一个32位的整数数组,每4bit一个,一共8个。
 
===============================
3.Sbox部分
我会编写一个方法在sbox的类中,完成32bit输入后处理后输出。
 
===============================
4.key的部分
sbox的部分,我会用到48bit子密钥Ki,可以存成一个二维数组K[16][48],一共16组subkey,每组48bit。
 
=================
编写过程一定要做标记,哪个是测试用的数据,哪个是要用到别人interface的部分。我们的数据交换基本上是通过一个整形的数组,比如初始的明文可以用plainText[]表示等等。置换选择举例(除了界面部分,其他都有):比如要求用原文A中的14个bit作为输出B中的第6个bit,那么就应该是A[14/4]这个数组元素,这个元素应该有4bit,应该选取的算法就是,方法比较笨,但是还算清晰。。。。。-_-!
       int EPosition1;  //the location of element in the array
       int EPosition2;  // the location of such bit in a certain array element
       for(int i=0;i<48;i++)
       {
           EPosition1 = EBS[i]/4;
           if(EBS[i]%4 = 0)
           {
               EPosition1 = EBS[i]/4 - 1; //when EBS[i]=4,8,12,16 the ends should be changed
               EPosition2 = 4;
           }
           else if(EBS[i]%4 = 1)
           {
               EPosition2 = 1;
           }
           else if(EBS[i]%4 = 2)
           {
               EPosition2 = 2;
           }
           else //if(EBS[i]%4 =3)
           {
               EPosition2 = 4;
           }
          
           EOutput_48[i] = EOutput_48[i] + input[EPosition1]&EPosition2;
上面是我这部分的第一个置换选择,其他的可以类推。
 
这样就完成了一个bit位的选择置换,这个方法可以用在以上三个部分
不懂的留言或者msn上说。对于其他小组,欢迎参与讨论。 
 
 
 
18 mars

[转贴]反NP监视原理

觉得很有意思,所以专贴一个。送给那些对破解NP系统感兴趣的Programmer
 
NP=nProtect GameGuard(如果你不知道这是什么,请不要往下看)1K?{Av1e+? WJ\
*******************************************
标题:【原创】反NP监视原理 
作者:堕落天才 
日期:2007年1月3号
版权声明:请保存文章的完整,转载请注明出处[v,Pf        {/U
*******************************************
一、NP用户层监视原理
NP启动后通过WriteProcessMemory跟CreateRemoteThread向所有进程注入代码(除了系统进程smss.exe),代码通过np自己的LoadLibrary向目标进程加载npggNT.des。npggNT.des一旦加载就马上开始干“坏事”,挂钩(HOOK)系统关键函数如OpenProcess,ReadProcessMemory,WriteProcessMemory,PostMessage等等。挂钩方法是通过改写系统函数头,在函数开始JMP到npggNT.des中的替换函数。用户调用相应的系统函数时,会首先进入到npggNT.des模块等待NP的检查,如果发现是想对其保护的游戏进行不轨操作的话,就进行拦截,否则就调用原来的系统函数,让用户继续。bbs.766.com[v4b~wCK{xx7y
    下面是NP启动前user32.dll中的PostMessageA的源代码(NP版本900,XP sp2)
8BFF            MOV EDI,EDI
    55              PUSH EBP齐乐乐社区zDe5c[g+j        tX
{3F

    8BEC            MOV EBP,ESP
    56              PUSH ESIlWG%V/MD A4|y8R
    57              PUSH EDI
   8B7D 0C         MOV EDI,DWORD PTR SS:[EBP+C]|g        Kk(sG
    8BC7            MOV EAX,EDI
   2D 45010000     SUB EAX,145qN,u6KL3xc(g
    74 42           JE SHORT USER32.77D1CBDA
    83E8 48        SUB EAX,48
    74 3D           JE SHORT USER32.77D1CBDA0Q$J/x8gc}u
    2D A6000000     SUB EAX,0A6
    0F84 D4530200   JE USER32.77D41F7C
    8B45 10         MOV EAX,DWORD PTR SS:[EBP+10])~m!|bW
    8B0D 8000D777   MOV ECX,DWORD PTR DS:[77D70080]
    F641 02 04      TEST BYTE PTR DS:[ECX+2],4;W2M1I-al
    0F85 03540200   JNZ USER32.77D41FBE
   
8D45 10         LEA EAX,DWORD PTR SS:[EBP+10]u GB p
    50              PUSH EAX
    57              PUSH EDI齐乐乐社区.m ^ SU/N+^
    E8 FBFEFFFF     CALL USER32.77D1CAC08M Eq*_ f$^
    FF75 14         PUSH DWORD PTR SS:[EBP+14]
    FF75 10         PUSH DWORD PTR SS:[EBP+10]
    57              PUSH EDI
    FF75 08         PUSH DWORD PTR SS:[EBP+8]Q.Y)?&@O1r%M
    E8 ACBFFFFF     CALL USER32.77D18B80
M5Py]i|

    5F              POP EDI
    5E              POP ESI
    5D              POP EBP
    C2 1000         RETN 10
-Z0F/
    而下面是NP启动后user32.dll中的PostMessageA的源代码(NP版本900,XP sp2)bbs.766.com8T^6Rp-W6{ @P
    E9 A69AB8CD     JMP npggNT.458A6630
    56              PUSH ESI齐乐乐社区9lN;z
P7{F1k2B.j-CR$d

    57              PUSH EDI齐乐乐社区W$[ H'Su/j
~@

    8B7D 0C         MOV EDI,DWORD PTR SS:[EBP+C]N/CK X
a

    8BC7            MOV EAX,EDI
   2D 45010000     SUB EAX,145D2]W2i9G$S
    74 42           JE SHORT USER32.77D1CBDA5Z^5{'g5MX.EDV
    83E8 48         SUB EAX,48
    74 3D           JE SHORT USER32.77D1CBDA5@z4x%Z|9l6b
    2D A6000000     SUB EAX,0A6
    0F84 D4530200   JE USER32.77D41F7C        }N2B&Y2UVX7A        f9Wa
    8B45 10         MOV EAX,DWORD PTR SS:[EBP+10]
    8B0D 8000D777   MOV ECX,DWORD PTR DS:[77D70080]c$dw3b:G.C'}d]#?
    F641 02 04      TEST BYTE PTR DS:[ECX+2],4vEelo
    0F85 03540200   JNZ USER32.77D41FBE
    8D45 10         LEA EAX,DWORD PTR SS:[EBP+10]
    50              PUSH EAX
    57              PUSH EDI
    E8 FBFEFFFF     CALL USER32.77D1CAC0
    FF75 14         PUSH DWORD PTR SS:[EBP+14]D p,{4?%G/unE+u6k_
    FF75 10         PUSH DWORD PTR SS:[EBP+10]
    57              PUSH EDIM,Jg~-c:fd
    FF75 08         PUSH DWORD PTR SS:[EBP+8]"P4Wre"Q2f+Q
    E8 ACBFFFFF     CALL USER32.77D18B80c"|ER/W(iq[%U        e
    5F              POP EDIWDW"h8exP
    5E              POP ESI'b8[zsm7V
    5D              POP EBP:J2t\z%W+Le
    C2 1000         RETN 10齐乐乐社区TO on6D
^o

   
    通过对比我们可以发现,NP把PostMessageA函数头原来的8BFF558BEC五个字节改为了E9A69AB8CD,即将MOV EDI,EDI  PUSH EBP MOV EBP,ESP 三条指令改为了JMP npggNT.458A6630。所以用户一旦调用PostMessageA的话,就会跳转到npggNT.des中的458A6630中去。
二、用户层反NP监视方法
1,把被NP修改了的函数头改回去4T(\C+Z's/J$H`5q
       上面知道NP是通过在关键系统函数头写了一个JMP来进行挂钩的,因此,在理论上我们可以通过把函数头写回去来进行调用。在实际操作的时候,这种方法并不理想。因为npggNT.des也挂钩了把函数头改写回去的所有函数,还有它的监视线程也会进行检校判断它挂钩了的函数是不是被修改回去。因此实现起来很困难,随时都会死程序。
2,构建自己的系统函数(感谢JTR提供)G6y%Ci6k2d0X
       这种方法适用于代码比较简单的系统函数。下面我们看看keybd_event的函数源码1O[0g+x;i;RXj
    8BFF            MOV EDI,EDI                              ; USER32.keybd_event}Zu E(Lzk}wR
    55              PUSH EBP-f
X&Z)O8L'e

    8BEC            MOV EBP,ESP
    83EC 1C         SUB ESP,1C
    8B4D 10         MOV ECX,DWORD PTR SS:[EBP+10]齐乐乐社区.LE        @l ~v
    8365 F0 00      AND DWORD PTR SS:[EBP-10],0/ks+K8A3j        s
    894D EC         MOV DWORD PTR SS:[EBP-14],ECX6W.Tt4CpO;h
    66:0FB64D 08    MOVZX CX,BYTE PTR SS:[EBP+8]
    66:894D E8      MOV WORD PTR SS:[EBP-18],CX
    66:0FB64D 0C    MOVZX CX,BYTE PTR SS:[EBP+C]FLa6S7} ~vP
    66:894D EA      MOV WORD PTR SS:[EBP-16],CX
    8B4D 14         MOV ECX,DWORD PTR SS:[EBP+14]齐乐乐社区)e(HuuQZ7o
    894D F4         MOV DWORD PTR SS:[EBP-C],ECX7LA9K)h%J1_
    6A 1C           PUSH 1C齐乐乐社区#bz(|%B5WL
    33C0            XOR EAX,EAX
    8D4D E4         LEA ECX,DWORD PTR SS:[EBP-1C]
    40              INC EAX
    51              PUSH ECX
   50              PUSH EAX
    8945 E4         MOV DWORD PTR SS:[EBP-1C],EAX
    E8 9B8DFCFF     CALL USER32.SendInput$]g
|i&bX(z

    C9              LEAVE
    C2 1000         RETN 10齐乐乐社区.V%JH5U6n#fpE%o

    由上面我们看到keybd_event进行了一些参数的处理最后还是调用了user32.dll中的SendInput函数。而下面是SendInput的源代码;},Z{RD)j;C
    B8 F6110000     MOV EAX,11F66w6f*c4K {
XE

    BA 0003FE7F     MOV EDX,7FFE0300bbs.766.comv1Igt6R
I8u F1o*k M

    FF12            CALL DWORD PTR DS:[EDX]          ; ntdll.KiFastSystemCallbbs.766.com
Z*|o&iExvLPyR

    C2 0C00         RETN 0C
乐社区!y4p
][`p-c[ N6A

    SendInput代码比较简单吧?我们发现SendInput最终是调用了ntdll.dll中的KiFastSystemCall函数,我们再跟下去,KiFastSystemCall就是这个样子了齐乐乐社区]T2E2D2uB/F0W
[

    8BD4            MOV EDX,ESP        @
[]sC x+z6v

    0F34            SYSENTERbbs.766.com@VN$\1tD'[;l0O'k,i
    最终就是进入了SYSENTER。
  bbs.766.comg/cyI3l
    通过上面的代码我们发现一个keybd_event函数构建并不复杂因此我们完全可以把上面的代码COPY到自己的程序,用来替代原来的keybd_event。NP启动后依然会拦截原来的那个,但已经没关系啦,因为我们不需要用原来那个keybd_event了。Dy        v6wm Y
    这种方法适用于源代码比较简单的系统函数,复杂的话实现起来就比较麻烦了。我是没有信心去重新构建一个PostMessageA,因为其中涉及到N个jmp和Call,看起来头都大。 还有在VC6里嵌入汇编经常死VC(这种事太烦人了),我想不会是我用了盗版的原因吧?5c|/\Fa Vm
  c{o7dyZB
    3,进入ring0(感谢风景的驱动鼠标键盘模拟工具)+a6e
]m1O7^z

     由上面可以看到,NP用户层的监视不过是修改了一下系统的函数头,进行挂钩监视。因此,要反NP用户层监视的话,进入ring0的话很多问题就可以解决了。比如WinIO在驱动层进行键盘模拟,npggNT.des是拦截不到的。但是由于NP用了特征码技术,再加上WinIO名气太大了,所以WinIO在NP版本8××以后都不能用了。但是如果熟悉驱动开发的话,自己写一个也不是很困难的事。
     说了那么多看起来很“高深”的东西,现在说一些象我这样的菜鸟都能明白的东西,呵呵,因为这是菜鸟想出来的菜办法。        n)Q(b8YS
    4,断线程D'{:n_.P~V:D` nN
       我们知道NP是通过CreateRemoteThread在目标进程创建远程线程的,还有一点,很重要的一点就是:NP向目标进程调用了CreateRemoteThread后就什么都不管了,也就是说,凭本事可以对除游戏外的所有进程npggNT.des模块进行任何“处置”。这样我们可以用一个很简单的方法就是检查自己的线程,发现多余的话(没特别的事情就是NP远程创建的)就马上结束了它,这样NP就无法注入了。但是由于windows系统是多任务系统,而CreateRemoteThread的执行时间又极短,要在这么短的时间内发现并结束它的话是一件很困难的事。一旦CreateRemoteThread执行完毕而我们的监视线程还没有起作用的话,后果就惨重了,npggNT.des马上把程序“搞死”。因为我们一直试图关闭它的线程,而npggNT.des又拦截了TerminateThread,所以我们就只能不断地“重复重复再重复”去试图关闭npggNT.des的监视线程。如果我们很幸运地在其执行注入代码时就能断了它地线程地话,npggNT.des就无法注入了。这种方法在NP早期版本大概有百分之五十的成功率,现在能有百分之一的成功率都不错了。
5,断线程之线程陷阱$\        gO0n{(X2X[i
      我知道“线程陷阱”这个词肯定不是我首创,但用“陷阱”这种方法来对付NP之前在网上是找不到的。为什么要叫“线程陷阱”?因为这确确实实是一个陷阱,在npggNT.des肯定要经过的地方设置一个“陷阱”,等它来到之后,掉进去自动就死掉了。而搭建陷阱的方法简单得令你难以相信。bbs.766.com%^|g{Z5h ?2m_
       上面我们从npggNT.des的监视原理可以看到,npggNT.des要来挂钩(HOOK)我们的系统函数,这种的方法我们也会,是不是?哪想想,这种挂钩方法需要用到哪些系统函数呢? 打开进程OpenProcess或GetCurrentProcess(因为npggNT.des已经进入了目标进程,所以没有必要再调用OpenProcess,肯定是用后者)、找模块地址GetModelHandle、找函数地址GetProcAddress、改写函数头的内存属性VirtualQuery&VirtualProtect、写内存WriteProcessMemory。嘿嘿,在这些地方设置陷阱就八九不离十了,肯定是npggNT.des干那坏勾当要经过的地方。jk%N$Izf1[C$v
      怎么设陷阱呢?选一个上面说的函数(我没有一一尝试),先自己挂钩(嘿嘿,NP会我们也会)。等到有人调用的时候,先判断当前的的线程是不是我们程序的,不是的话,那就断了它吧(一个ExitThread就可以了)。大概就像下面这个样子
HANDLE WINAPI MyGetCurrentProcess(VOID)//替换掉原来的GetCurrentProcess
{
   DWORD dwThreadId=GetCurrentThreadId();//得到当前线程ID
   if(!IsMyThread(dwThreadId)){//不是我们要保护的线程u8H C!WbF4u
      ExitThread(0);//断了它吧         
 }
   UnhookGetCurrentProcess(); //是我们要保护的线程调用就恢复函数头
   HANDLE hProcess=GetCurrentProcess();//让它调用齐乐乐社区        Ed%s
j6z

   RehookGetCurrentProcess();//重新挂钩
pB6f}R

   return hProcess;   //返回调用结果齐乐乐社区b'Nk/Gq
}
      这种方法去掉npggNT.des的监视是完全能够实现的,但是这个函数IsMyThread(dwThreadId)非常关键,要考虑周全,不然断错线程的话,就“自杀”了。齐乐乐社区k8@)g
Py%?


6,更简单的陷阱?%M8bx:f
         原理跟上面一样,但是我们将替换函数写成这个样子齐乐乐社区ZK`Us%|3~~
HANDLE WINAPI MyGetCurrentProcess(VOID)//替换掉原来的GetCurrentProcess

   HMODLE hMod=GetModelHandle("npggNT.des");
   if(hMod!=NULL){bbs.766.comEmBxg^@$G;Wz2u
      FreeLibrary(hMod);      //直接Free掉它
   }r I7ipxP;_        a`(S
   UnhookGetCurrentProcess(); //是我们要保护的线程调用就恢复函数头
   HANDLE hProcess=GetCurrentProcess();//让它调用AzK:j/Wru
   RehookGetCurrentProcess();//重新挂钩bbs.766.comMS0HH
s2w{"I

   return hProcess;   //返回调用结果^Q8?!c+QVJb
}8]l^am/R7u3jU0^X
     这种方法就万无一失了,不用担心会“自杀”。?]|N)Nn){T
bbs.766.com2k4Hh
P6h

三、总结bbs.766.com EHy+u(s
    由上面可以看到在用户层上反NP监视是不是很简单的事?最简单有效的就是第六种方法,短短的几行代码就可以搞定了。但是不要指望去掉了npggNT.des就可以为所欲为了,还有NP还在驱动层做了很多手脚,比如WriteProcessMemory在用户层用没问题,但是过不了NP的驱动检查,对游戏完全没效果。要在NP下读写游戏内存,说起来又另一篇文章了《如何在NP下读写游戏内存》,请继续关注。齐乐乐社

[问题+解决]关于NOD32和冒险岛OL冲突的问题

严格来说算不上解决。。。。
问题描述如下:
杀毒为NOD32 版本2.70.32,游戏为盛大代理的冒险岛OL,每次启动游戏,一直到选择人物都正常,但是选完人物进入后,黑屏,有背景音乐。如果切到桌面,会看到一个小提示框:SDDynDll.dll文件不存在,请更新。但实际上,这个文件存在。
问题分析,可能是游戏本身有一个GameGuard。赛门铁克的“nProtect技术”,软件就是nProtect GameGuard了,原理就是利用nProtect监控主程序,防止被插入线程等不利于应用程序的操作,经常被用来防盗号,防外挂,防辅助工具等等。但是这个是不是导致冲突的一个原因呢?
换用了Kaspersky后,问题解决,但是,Kaspersky会提示有文件企图隐藏自己,那就是MapleStory.exe!这个是冒险岛客户端的主文件。
 
分析:NOD32 2.5X版通过设置网络就可以解决问题。但是2.70无论怎么设置甚至关掉都不行。因为NOD32在2.70以后新增加的功能中出了反流氓软件外,最让我喜欢的就是反rootkit功能。编写过木马的,或者用过灰鸽子的,或者中过灰鸽子的应该都直到rootkit。联系一下就可以想到,会不会是在程序运行的时候,那个DLL文件插入进程要隐藏主程序文件,原因是为了保护不被木马或者外挂破坏,但是反而被NOD32认为是可疑的木马行为直接封锁掉了。
 

[问题]能ping通但是不能浏览网页,以及不能使用MSN等软件

今天碰到一个比较麻烦的问题,问题描述如下,请高手回答:
1.家里NTL的cable网络,账号密码注册成功
2.modem连通后电脑不能浏览网页,不能使用QQ,MSN等软件。
3.能ping通DNS,也能ping通Google,但是就是不能打开网页
4.直接输入IP地址,仍然不能打开网页(比如google的)
5.Windows自动更新可以工作(不确定,开始调试的时候下载33%,过一会就已经准备就绪,可以更新了。。。。)
6.使用网上流传的Winsockfix不行。
7.驱动已经更新
8.这台电脑在别的地方连接正常
9.modem已经换过,问题依旧。
10.已经杀毒,没有问题,防火墙关闭后问题依旧
11.他们家也有人出了类似情况
 
初步怀疑是modem的问题,但是为什么可以ping通却不能打开网页呢?
14 mars

欢迎光临新家

这几天全力打造新家,欢迎光临。地址链接在本页,自己找:)
8 mars

妇女节

今天中国移动1860第一次联系我,给我发了一条彩信:祝你三八节快乐!?晕,我记得当时我明明我是用我自己的身份证办理的动感,怎么搞得性别都不对了?
晚上和老婆去吃饭,进门时说妇女可以优惠8折,吃完后结账的时候,服务员笑着问,结婚了吗?我直接回答,还没。她继续笑着说,那就不能优惠了!?晕第二次,为什么不结婚就不能优惠阿,真是欺骗消费者。
最后祝各位MM节日快乐!

打算下周一去湖南了

下周一去湖南了,去陪老婆去,HOHO,可能暂时不会上博了,一个月后见,各位

男生给女生最最牛B的告白

转贴的,挺有意思的,大家看看,有点象北京话,各位男士不要学,不然我可不负连带责任阿:)
 
      1、别以为平胸就说明自己有脑,别以为自己笨就一定丰满。基本上没有男人会笨到认为脑子和胸部有任何联系     

  2、爱不爱你?别tm一直问偶这个问题。什么也不说,你丫哭;犹豫了一会说,你丫说不坚决;脱口而出你丫又说太假。男人的字典里只有一个如果:如果你要问偶“如果”偶妈和你一起掉到河里偶怎么办,偶会认为你在咒偶妈,会想抽你。

  3、别tm有人没人就撒娇。要是你不重要的话,偶每天强忍着回答同一个问题达10遍之多是为了什么?偶tm有病啊!     

  4、性对男人来说,远远比你想的重要。如果偶厌倦了你,将首先表现在性方面。

        5、你的新衣服就是偶的钱,握着瘪掉的钱包,你让偶怎么拍你的马屁?更何况你每天都在换,偶tm累不累啊!     

  6、别tm总是不懂装懂,坚持要用power键来关机,偶的电脑快被你折磨致死了。至于你的电脑,看看你丫工具都装在哪里?c盘!

  7、你要自由的时候就tm手机关机;偶工作忙的时候,又说偶不爱你,又tm哭!     

  8、要不是被你逼着供出了qq密码,偶也一定有大批异性朋友!偶以前的情书不是都被你销毁了么?至于你的qq,都满了三个了,再申请一个有必要么?!

     9、别tm老是在偶出差的时候打电话说你病了。总是被扣工资的话,哪里来的钱请你吃那个奇贵的哈根达斯!     

  10、大街上看美女是男人的天性,别tm大惊小怪。偶为了哄你说不如你漂亮的时候,你还不信。——又tm哭!     

  11、别tm一边要爱情要浪漫要偶逢年过节送你玫瑰,一边又要现实要偶攒钱给你买房买车。你tm以为偶和盖茨有一腿啊!

  12、如果是偶偷情,想想每次在床上不配合的是谁。如果是你偷情,分吧,求之不得。     

  13、记住:最先和这个世界上的男人发生关系的永远是他的右手(或左手),另外这个世界上有一种职业叫X。

  男女比就算是104:100 ,偶们tm照样过。

3 mars

转载:喝一碗孟婆汤,走一遍奈何桥

写的不错,图片也选的不错
 
遥远的铃声轻颤,   
  在天边渺茫的响起,   
  再沉落……      
  那是奈何桥上,   
  亡魂不舍昼夜的歌声……

     奈何桥上,孟婆悠悠端起汤碗……      
  来者形形色色,   
  有木然,有平静,有狰狞,有恐惧……      
  半推半就,颤颤微微……      
  汤端一饮而尽,      
  终究没人逃的脱,     
  终究要喝的一点不少,一点不多……      
  孟婆悠悠端碗汤,孟婆悠悠收汤碗……

      前生再怎么深恋      
  走在这奈何桥上也是步履稳稳,丝毫不乱……      
  心静如镜,心沉如石……
  桥这边寂寂无声……     
  因为心死,失了往生的记忆……     
  桥那边哀哀呛天……   
  因为心动,忘不掉今世的缠缠绵绵

     “来生,再续前缘”……     
  孟婆偶尔听到飘至耳边的来声言,浅浅一笑……     
  低头看那一锅汤,一锅普通的汤……      
  只因加了一味叫遗忘的调料,也抵过了曾经的山盟海誓

      记忆小舟搁浅……      
  苍海一栗      
  大风大浪已是过眼云烟……

    偶尔觉得     
  许多今生从未做过      
  却似曾相识的事……

   没有什么磐石真的不移,  
  世间最残酷的事是等待……   
  等待,是一生最初的苍老……      
  等到昙花再开     
  等到风景看透      
  饮尽孟婆汤的刹那,   
  没有和着泪水吞咽……
     
     这一生,牵她的手,    
  爱了,就牢牢的、牢牢的靠近      
  不要在茫茫人海中丢了彼此      
  还是……      
  你是你,我是我,互不相欠,各奔幸福……      
  即使梦中遇见了也不要打招呼,   
  笑笑,然后擦肩过      
  或者让我一生都拥有着你,   
  或者我们永远都不要相见……
 

敬告鬼神

不论是鬼还是神,我生气的时候最好不要打扰我,不然神来杀神,鬼来斩鬼!