2005-05-07

0 个评论
一直想装个BLOG,却摇摆不定,不知道哪个程序比较好!又不想放弃这些数据!想想还是算了!直接拿个帖子来写也可以的了!测试了一下PW的BLOG,感觉也不是很喜欢!二级米等功能用不上!生成假HTML似乎很多空间都不支持!需要那个REWRITE!唉!五一那么快就过去了!明天又要上班了!最近比较得意的是装了精简模式!这下子GOOGLE会收我了吧!以前就收个首页,真是气死我了!百度还好点!收多了几页!PW虽然出新的了!暂时不升级了!又要弄模板,很麻烦!再说新的程序BUG还很多,以后有得修补的!还不如等稳定点再说!原来ASP的BLOG空间太慢了!不更新了!呵呵!好久没写了,一下子写那么多!留点到明天!嘿嘿!
2005-05-07 / 网站制作技术 / 2,515 views浏览
阅读全文

TWO OR ONE?

0 个评论
前言无聊的时候写的东西,非散文,非小说,自己都不知道想要表达什么。好象有两个性格的人存在于同一个肉体,又象是一个人做的两个人的梦!到底是表达某个人的双重性格还是要表达精神病人的内心世界再或者其他什么东西,我自己也不是很清楚,留给有缘的读者去慢慢感受吧! 正文“我们是两个人,真的是两个人,我们俩相貌如此迥异,性格差别也那么巨大,命运更是千差万别,为什么你们都不相信我们,就因为我们现在是一个人。”他经常喃喃地吐出这些无数次,已经重复了无数次的话,他迷茫的眼睛下似乎隐藏着某个秘密。 一个他 坦白说,他真的很优秀,从小到大都表现得异常出类拔萃,最后学业有成,工作顺心,成为众人羡慕的榜样。他的为人也很直爽,性格极好,周围的人都夸他是传统中夹杂着现代元素的好男人。平日里他喜欢梳个西装头,穿着时下流行的休闲夹克,天冷的时候脖子上围个围巾,显得那么文质彬彬,俨然一副知识青年的形象,无论哪个角度看,从上到下都是一表人才! 另一个他 他很内向,外表沉稳老实,看见陌生人很少开口,与他呆久了都会感觉有一股寒气从他身上冲出。偶尔他也会凭着他老实可靠的外表欺骗其他人,每当欺骗成功以后,他的心里似乎有种报复世界的爽快感,仿佛又看见一个傻子重现人间。与他熟悉的人都知道其实他并不象外表那么闷,只是长期的非正常生活环境压抑着他紧张的神经,使他不善于表达,缺少与人交流的经验。 他们都很孤单,这是他们的共同点,一个因为优秀而孤单,一个因为性格而孤单,每天除了上网浏览网页新闻外,似乎没什么让他们提得起兴趣的事情。他们有时也会出去与同学聚会,但那只是偶尔而已。某一天他们在网络上发现了对方,同时感受到了对方的孤单,他们作出个惊人的决定:两个人扮演着同一个带着面具的小角色,体验没有任何负担,没有任何责任的生活。从开始的不习惯起,到熟悉地戴着面具随心所欲,就没人知晓他们是两个不同的人,没人能看破这一切。 时间一天天的过去了,他们感觉到彼此间已不存在一丝罅隙,而他们也深深感受到自己已经不能离开那个面具…… 从此,世界上有两个人消失了…… 很久以后,有人看见个戴面具的人不断在角落里喃喃自语……
2005-03-05 / 生活 / 2,751 views浏览
阅读全文

昨天在红豆看见有人写寓言并请人帮续写

2 个评论
自己忍不住也续写了结尾,虽然不太好,毕竟也花了半小时的时间,还是和原文一起放进来,以后有空还可以自己慢慢欣赏!呵呵! 当老鼠爱上猫,老鼠会倾注他所有的时间和精力在猫的身上,猫在老鼠的热烈追求的攻势下,和老鼠交往了。  老鼠知道猫不喜欢自己的所有不良习惯,并答应猫从此要弃恶从良,不在偷主人家的东西……猫感动了,以为奇迹出现了,以为自己能让老鼠改变了 。  当老鼠和猫爱得正水深火热的时候,被主人发现了,主人:  不解, 并强烈反对!!!! 猫为难了:毕竟自己也不知不觉的爱上老鼠了。   结果猫和主人翻脸了,为了老鼠。老鼠感激得发誓要爱猫一生一世。猫 无奈的笑笑:“以后就你养我了。”老鼠拍拍胸脯,答应会为了猫好好的干一翻事业。    从此猫跟着老鼠过日子。然而好景不长,一天,猫发现原来供自己吃的东西都是老鼠从邻居家偷来的,猫盘问老鼠:“你不是答应我不再偷东西了吗?主人家的东西没有不见东西了,原来你都是去偷别家的东西了,你骗我!原来你一直都在骗我!!!”老鼠厚颜无耻的答到:“你见过有哪只老鼠不偷东西的??!!”   猫顿时明白了,觉悟了,它毅然离开了老鼠……   江山易改,本性难移。它和老鼠本不是一类,为了一时的激情,把最重要亲情的失去了。留给猫的是一串深思…… ——————————以下是我续写的结局———————————— 从此,猫更加努力地抓老鼠,一边抓一边狠狠地大叫:“叫你骗我,叫你骗我。”过后的几天,他们终于又碰上了,老鼠的运气明显不佳,因为它全身瘦骨嶙峋,似乎得了一场大病猫轻易地抓住了老鼠,老鼠被猫抓得奄奄一息,猫轻蔑地望了它一眼,唰地伸出了自己锋利无比的指甲,也许过不了半秒钟,这只小老鼠就会结束自己短暂的一生。这时候,一滴泪珠从老鼠的脸颊流过,猫察觉了,爪子在空中停留了几秒钟,她迟疑了!忽然,它疯一般地搂住老鼠:“你为什么那么傻?为什么偷邻居的东西给我?为什么激我走?为什么……为什么……”滚烫的眼泪滴在老鼠脸上,老鼠幽幽醒来:“我……我对不起你,我养不活你,我……我只能去偷……被你发现后只能让你回去,跟着我,不会有好日子的……那些偷给你的我没吃,一点都没吃,你走后我再没偷过……真的没偷过……”老鼠的声音低了下去。“我相信你……我相信你,你不能死,我们去找医生,你要挺住,我可以救活你的……”猫哽咽着,它背起老鼠,飞一般地出门而去几天后,街头上有只猫的尸体,它的怀里抱着一只死老鼠……人们议论纷纷:几天前看见这只猫到处找医生医治这只已经死去的老鼠,没想到这只猫也饿死了……春天的细雨纷纷扬扬落下,撒在猫和老鼠的尸体上,似乎在倾诉着什么……如果你爱上一个人又不能给她幸福,放手吧,那也许是爱她最好的方式
2005-03-05 / 生活 / 3,478 views浏览
阅读全文

教你如何编写游戏外挂

0 个评论
一、先说一下写一个外挂需要什么条件 1、熟练的C语言知识 目前的外挂大部分都是用BC或者是vc写的,拥有熟练的C语言知识是写外挂的基本条件 2、具有很强的汇编基础 一般游戏都不可能有原代码的,必须靠反汇编或者跟踪的办法来探索其中的机理 ,所以有强的汇编基础也是必不可少的条件 3、熟练掌握跟踪和调试的工具 有了上面2个条件后,掌握一些工具也是很有必要的 跟踪的工具,softice当然是不二之选,至于反汇编的工具,我推荐用IDA PRO 这个工具反汇编出来的代码结构清晰,非常好读 如果你不具有上面的条件,还是先把基础打好,再来写外挂吧,一分耕耘,一分收获,天下没有白掉的馅饼的 二、写外挂面临的基本技术问题 1、修改进程的执行代码 要修改进程的执行代码,要先取得进程的ID,如果是由外挂程序启动,返回值里就有进程ID,如果不是的话, 需要用findwindow找到窗口句柄,再用GetWindowProcessID取得进程ID,取得进程ID以后,就可以用 writeprocessmemory来修改进程的执行代码了,使程序按照我们的意愿来执行,石器外挂里的不遇敌、寸步遇敌 就是用这样的方法来实现的 2、截获外挂发送和接收的封包 除了通过修改代码来实现的功能以外,很多的功能都是通过修改封包来实现的,要修改封包,首先要能截获它。 第一步是要跟踪出发和收的位置,至于怎么跟踪,我以后会提到,找到位置以后,有2个办法,一是在那个位置加一 个jmp语句,跳到你的处理函数位置,处理完后,再跳回来,这种方法要求比较高,需要处理好很多事情,另一种办法 是往那个位置写条能造成例外的指令,比如int 3,然后用DebugActiveProcess调试游戏进程,这样每当游戏执行到那个 位置的时候,就会停下来,到外挂程序里面去,等外挂程序处理完以后,用ContinueDebugEvent 继续运行程序。 今天先写这么多,下回将讨论外挂的具体功能该怎么实现 今天来谈谈地址的调查问题,地址调查是写外挂中最艰辛,最富有挑战性的事情,很多朋友问我要外挂的原程序,其实有了外挂原程序,如果你不会调查地址,还是没用的, 原程序和地址的关系就象武学中招式与内功的关系,没有内功的招式,只是一个花架子。而内功精深以后,任何普通的招式,都有可能化腐朽为神奇,外挂中的地址分为两类,一类是程序地址,一类是数据地址。象石器中的双石器,真彩,不遇敌,寸步遇敌,发送接收封包等,都属于第一类,而人物坐标,状态等,都属于第二类。对于第一类地址,主要依靠softice来调查地址,对第二类地址,可以用一些游戏工具,比如fpe,game expert,game master等来调查,我一直用game expert,因为我找不到2000下能用的fpe, 各位以前用fpe改游戏的时候,没想过他也能用来干这个吧 对于第二类数据的调查方法,大部分人都很熟习了,我就不多说了,现在主要来谈谈第一类数据的详细调查过程,比如我们要调查发送封包的位置,如何着手呢,客户端往服务器要发很多封包,但最简单的办法莫过从说话的封包入手,先说一句很长的话,最好是英文,查起来方便,说完以后,用任意一种办法进入游戏程序的进程空间(比如先用spy查出游戏程序的窗口句柄,再切换到softice打入bmsg 窗口句柄 wm_lbuttondown,这样在游戏程序中一点鼠标就进入了他的进程空间)然后用s命令查出这句话所放的内存地址,记下这个地址,在softice中打入bpm 刚才调查到的地址,这个指令的意思是只要有访问这个内存的动作,立刻中断,然后再切换到游戏,说一句话,你会发现softice自动中断到某一个位置了,从这个位置跟踪下去,发送封包的位置也就不远了。 上面所说的都是针对一个全新的游戏程序而言,如果是一个老的程序,有前辈做了大量的工作,还可以用些别的办法,如反汇编等,来调查。以后游戏版本的更新也是如此,只要把老版本的地址位置附近的代码记下来,去新版本的代码里面search一下,就ok了。 恩,休息一会儿,休息一会儿 我主要对外挂的技术进行分析,至于游戏里面的内部结构每个都不一样,这里就不做讲解了,我也没有那么厉害,所有的都知道,呵呵!1 首先游戏外挂的原理外挂现在分为好多种,比如模拟键盘的,鼠标的,修改数据包的,还有修改本地内存的,但好像没有修改服务器内存的哦,呵呵!其实修改服务器也是有办法的,只是技术太高一般人没有办法入手而已!(比如请GM去夜总会,送礼,收黑钱等等办法都可以修改服务器数据,哈哈)修改游戏无非是修改一下本地内存的数据,或者截获api函数等等,这里我把所能想到的方法都作一个介绍,希望大家能做出很好的外挂来使游戏厂商更好的完善自己的技术.我见到一片文章是讲魔力宝贝的理论分析,写的不错,大概是那个样子.下来我就讲解一下技术方面的东西,以作引玉之用2 技术分析部分1 模拟键盘或鼠标的响应我们一般使用UINT SendInput(UINT nInputs, // count of input eventsLPINPUT pInputs, // array of input eventsint cbSize // size of structure);api函数第一个参数是说明第二个参数的矩阵的维数的,第二个参数包含了响应事件,这个自己填充就可以,最后是这个结构的大小,非常简单,这是最简单的方法模拟键盘鼠标了,呵呵注意:这个函数还有个替代函数: VOID keybd_event(BYTE bVk, // 虚拟键码BYTE bScan, // 扫描码DWORD dwFlags, ULONG_PTR dwExtraInfo // 附加键状态);和VOID mouse_event(DWORD dwFlags, // motion and click optionsDWORD dx, // horizontal position or changeDWORD dy, // vertical position or changeDWORD dwData, // wheel movementULONG_PTR dwExtraInfo // application-defined information);这两个函数非常简单了,我想那些按键精灵就是用的这个吧,呵呵,上面的是模拟键盘,下面的是模拟鼠标的.这个仅仅是模拟部分,要和游戏联系起来我们还需要找到游戏的窗口才行,或者包含快捷键,就象按键精灵的那个激活键一样,我们可以用GetWindow函数来枚举窗口,也可以用Findwindow函数来查找制定的窗口(注意还有一个FindWindowEx),FindwindowEx可以找到窗口的子窗口,比如按钮,等什么东西.当游戏切换场景的时候我们可以用FindWindowEx来确定一些当前窗口的特征,从而判断是否还在这个场景,方法很多了,比如可以GetWindowInfo来确定一些东西,比如当查找不到某个按钮的时候就说明游戏场景已经切换了,等等办法.有的游戏没有控件在里面,这是对图像做坐标变换的话,这种方法就要受到限制了.这就需要我们用别的办法来辅助分析了.至于快捷键我们要用动态连接库实现了,里面要用到hook技术了,这个也非常简单,大家可能都会了,其实就是一个全局的hook对象然后SetWindowHook就可以了,回调函数都是现成的,而且现在网上的例子多如牛毛,这个实现在外挂中已经很普遍了.如果还有谁不明白,那就去看看msdn查找SetWindowHook就可以了. 这个动态连接库的作用很大,不要低估了哦,它可以切入所有的进程空间,也就是可以加载到所有的游戏里面哦,只要用对,你 会发现很有用途的!这个需要你复习一下win32编程的基础知识了,呵呵,赶快去看书吧! 2截获消息有些游戏的响应机制比较简单,是基于消息的,或者用什么定时器的东西,这个时候你就可以用拦截消息来实现一些有趣的功能了.我们拦截消息使用的也是hook技术,里面包括了键盘消息,鼠标消息,系统消息,日志等,别的对我们没有什么大的用处,我们只用拦截消息的回调函数就可以了,这个不会让我写例子吧,其实这个和上面的一样,都是用SetWindowHook来写的,看看就明白了很简单的.至于拦截了以后做什么就是你的事情了,比如在每个定时器消息里面处理一些我们的数据判断,或者在定时器里面在模拟一次定时器,那么有些数据就会处理两次,呵呵,后果嘛,不一定是好事情哦,呵呵,不过如果数据计算放在客户端的游戏就可以真的改变数据了,呵呵,试试看吧!用途还有很多,自己想也可以想出来的,呵呵! 3拦截socket包这个技术难度要比原来的高很多哦,要有思想准备.首先我们要替换winSock.dll或者winsock32.dll,我们写的替换函数要和原来的函数一致才行,就是说它的函数输出什么样的,我们也要输出什么样子的函数,而且参数,参数顺序都要一样才行,然后在我们的函数里面调用真正的winSock32.dll里面的函数就可以了首先:我们可以替换动态库到系统路径其次:我们应用程序启动的时候可以加载原有的动态库,用这个函数LoadLibary然后定位函数入口用GetProcAddress函数获得每个真正socket函数的入口地址当游戏进行的时候它会调用我们的动态库,然后从我们的动态库中处理完毕后才跳转到真正动态库的函数地址,这样我们就可以在里面处理自己的数据了,应该是一切数据.呵呵!兴奋吧,拦截了数据包我们还要分析之后才能进行正确的应答,不要以为这样工作就完成了,呵呵!还早呢,等分析完毕以后我们还要仿真应答机制来和服务器通信,一个不小心就会被封号,呵呵,呜~~~~~~~~我就被封了好多啊!分析数据才是工作量的来源呢,游戏每次升级有可能加密方式会有所改变,因此我们写外挂的人都是亡命之徒啊,被人娱乐了还不知道,呵呵!(声明我可没有赚钱,我是免费的)好了,给大家一个不错的起点,这里有完整的替换socket源代码,呵呵!http://www.vchelp.net/vchelp/zsrc/wsock32_sub.zip 4截获api上面的技术如果可以灵活运用的话我们就不用截获api函数了,其实这种技术是一种补充技术.比如我们需要截获socket以外的函数作为我们的用途,我们就要用这个技术了,其实我们也可以用它直接拦截在socket中的函数,这样更直接.现在拦截api的教程到处都是,我就不列举了,我用的比较习惯的方法是根据输入节进行拦截的,这个方法可以用到任何一种操作系统上,比如98/2000等,有些方法不是跨平台的,我不建议使用.这个技术大家可以参考windows核心编程里面的545页开始的内容来学习,如果是98系统可以用window系统奥秘那个最后一章来学习.好了方法就是这么多了,看大家怎么运用了,其它的一些针对性的技巧这里我就不说了,要不然会有人杀了我的,呵呵! 记住每个游戏的修改方法都不一样,如果某个游戏数据处理全部在服务器端,那么你还是别写外挂了,呵呵,最多写个自动走路的外挂,哈哈!数据分析的时候大家一定要注意,不要轻易尝试和服务器的连接,因为那有很危险,切忌!等你掌握了大量的数据分析结果以后,比较有把握了在试试,看看你的运气好不好,很有可能会成功的哦,呵呵!其实像网金也疯狂的那种模拟客户端的程序也是不错的,很适合office的人用,就看大家产品定位了.好了不说了,大家努力吧!切忌不要被游戏厂商招安哦,那样有损我们的形象,我们是为了让游戏做的更好而开发的,也不愿意打乱游戏的平衡,哎,好像现在不是这样了!不说了随其自然吧
2005-03-05 / 网站制作技术 / 7,054 views浏览
阅读全文

如果给你这么一次机会

0 个评论
毫无疑问,他是一个十足的穷光蛋,穿着破旧的衣服,每天只能吃个半饱,但他仍然坚强地活了下来,望着城市里的高楼大厦,他总是忍不住的叹息,正如其他穷人一样,他也企盼着自己有发达的一天,于是他每天都在乞求神能保佑他早日发达,能多赐点财富给他,让他能过上好日子。 某一天,神终于出现了,他慌忙下跪并再次提出了自己的请求,神告诉他:“我在你的一生中埋下了一个绝好的机遇,有了它你就可以中一次大奖,记住,你的生命中只有这么一次机会。” 他高兴极了,不断的感谢神的恩惠。 神又说话了:“当然,这个奖不是无偿给你的,它需要时间来培育,你必须用你的辛苦劳动来换取,你能忍受越长久的贫苦生活,将来你能拿到的奖会越大,得到的奖金会更多。得奖多寡就要看你自己了!” 一天,两天……穷人扳着指头数着,并一天天的忍耐下去…… 问问自己:如果你是那个穷人,你能忍受多久呢?
2005-03-03 / 生活 / 2,909 views浏览
阅读全文

那个角落

0 个评论
又回到了那个失落的世界,一个封闭的地方,一个愚昧落后的小山村。 天空飘着小雨,那条跨山小路显得泥泞不堪,加上当地正在修路,路况更加恶劣,望着这座大山和山间的小路,实在难以想象山后世代在此生活的人们是怎么踏着这种泥路去谋求生存和栖息的。 步行跨越这座山,一会的功夫,鞋上粘满了泥,终于深刻领略到举足轻重的含义,本以为可以到路旁的草丛里把鞋子擦干净,放眼望去,那些草已经被人践踏得失去了原本的青色,只留下的泥黄色的几根草竿,擦完鞋后才后悔,因为裤脚似乎被千刀万剐般留下了N条的草痕。 路中间是不方便行走的,偶尔有飞驰而过的摩托车溅起一潭的泥水,如果躲闪不及最后就人无完人了。再说路中的泥层较厚,人走在上面,鞋底也极易被粘连。每走一脚都需花很大的力气。于是,路边的水田自然地充当了行人的道路,收割后的水田里稻根一簇一簇的,在稍干的地方尚可承受行人的体重,遇到有水的湿地就要小心了,随时可能陷进去! 经过一个多小时的行进,总于到达目的地! 一阵忙碌以后开始吃午饭。 席中有人提及某个亲戚在外地开旅游车,月入四千,顿时惊讶不已,现今的世界真是变化太大了大学生已经呈泛滥趋势,结果是工资越来越低,想想即使在厂里混个工程师也不过两三千工资,还不如一个开车的。感觉知识是越来越不值钱啊! 记起报上也有报导说培养一个博士需要多少多少钱,并经过精确计算,是绝对不可能在短期内收回那些投资的,感觉自己真的很彷徨,不知道自己是否还需要那么努力去做那种绝不合算的生意!
2005-02-28 / 生活 / 2,919 views浏览
阅读全文

无泪之城

0 个评论
眼泪流干了是为无泪~~~~ 看到或者听到无泪之城,或许你会认为是个天堂般的地方,或许你会认为那里只充满快乐,而事实上,那里却是一片荒凉,一片死寂,是伤心地中最伤心处。即使这个地方让你如何的伤心,你却不能有任何的眼泪,眼泪只会让整个城市把你吞噬,只因为,这里是“无泪之城”。 (from 倩女幽魂)
2005-02-06 / 生活 / 2,766 views浏览
阅读全文

今天的制作进度!

0 个评论
发现天气小偷用不了了!再看看调用的站站!发现调用的站站打不开!没办法!又去找了几个代码!发现不是用YAHOO的漏夜界面的就是偷人家小偷的!感觉偷来偷去很慢! 干脆自己去学做算了!找到了演示小偷代码,改了改!本来还有更好的思路的,最后觉得反正不是自己用,搞那么好也没用。就将就着先这样先~! 一转眼一个晚上又过去了!郁闷啊!好快啊,想想也快放假了!5555555555没多少时间编代码了!最重要的是景点还不知道到底怎么编~是不是还用文章系统!头痛啊!
2005-02-02 / 网站制作技术 / 2,665 views浏览
阅读全文

前天装《上古卷轴》的时候发现贴图无法显示

0 个评论
还以为是游戏未安装完成的缘故,昨晚下了个魔兽,装上后发现也是背景无法显示,终于明白是自己机子游问题了,可能是显卡的问题吧,其实它也够老了,早就该换了!问题是我没钱,幸亏还能玩半条,先将就用到先!郁闷啊! 今天又偷懒了,没去上班!呵呵!没心情写代码!好累!555[neutral]
2005-01-31 / 生活 / 2,513 views浏览
阅读全文

小货的书签

0 个评论
其他 Name Server: NS1.4EVERDNS.COM   中国身份证号码:450100198111010259 (出生年月: 1981 年 11 月 1 日出生地区:广西壮族自治区南宁市性别:男性) 台湾身分证号码:W184859764(出生地区:金门县,性别:男性) 香港身分证号码:MZ5358952 韩国身分证号码:8111011647006(出生年月: 1981 年 11 月 1 日,性别:男性) ——————————————————————– http://gaojie616.vcp.bizcn.net http://nnxqd.w150.4everdns.com http://www.114best.com/ 查同一服务器玉米 ICQ:173856054 密码:中国人少1 345992110 密码:6 http://www.chinaren.com  lcxde@chinaren.com P:xiaox1
2005-01-31 / 网站制作技术 / 2,982 views浏览
阅读全文