星尘传说的基址..(3.31)
一直再搞web..今天玩了个游戏叫做星尘传说
竟然没有做任何的防外挂的措施..十分窃喜
很久没有搞过这方面的东西了..竟然还能找到基址..很庆幸:)
不敢独享.发出来给大家.
明天找找call..如果能找到按键call就可以做出个外挂啦..
如果做出来肯定会放出来的:)
人物角色
[[007B16C0] + 64] + 498] 当前血
[[007B16C0] + 64] + 634] 满血
[[007B16C0] + 64] + 49c] 当前蓝
[[007B16C0] + 64] + 638] 满蓝
[[007B16C0] + 64] + 20] 角色名
[[007B16C0] + 64] + 4A2] 角色等级
[[007B16C0] + 64] + 4A4] 当前经验
[[007B16C0] + 64] + 4AC] 升级所需经验
[[007B16C0] + 64] + 4B1] 职业等级
[[007B16C0] + 64] + 4CC] 职业经验
[[007B16C0] + 64] + 520] 升级所需职业经验
怪物
[[007B16C0] + 130] + 34] 怪物基址
[[007B16C0] + 130] + 34]+ 4e0] 当前怪物的血
[[007B16C0] + 130] + 34]+ 538] 怪物的满血
[[007B16C0] + 130] + 34] + 20] 怪物的名字
Skiyo缓存类 – SkiyoCache(非serialize保存方式)
SkiyoCache的最大的特点就是并非采用序列化功能来保存数据.而是直接保存变量,省去序列化这一步骤.
我们先来看下例子
- //构造函数可以有一个参数.这个参数是路径
- //$sc = new SkiyoCache('/tmp/cache/');
- //默认为当前目录的cache子目录 如果不存在会自动创建
- $sc = new SkiyoCache();
- //缓存的变量
- //读取某个变量 参数是变量名 如果读取不到就返回false
- $array = $sc->read('array1');
- //如果缓存中读不到就写入缓存
- if (!$array) {
- //写入缓存有3个参数.前两个是必须的.
- //第一个是变量名.第二个是要储存的变量.累死smarty的assign
- //第三个是缓存时间.默认为600秒
- $array = array (
- 3 => '32',
- 'fdaf' => 'fdsa',
- array('fdsafdsa','fdsafdsa')
- );
- $sc->cache('array1', $array);
- }
- print_r($array);
执行后.会得到一个缓存文件.这个文件的内容是
- <?php /* This cache file is created by SkiyoCache.[2009-03-30 08:49:29] */
- $array1 = array (
- 3 => '32',
- 'fdaf' => 'fdsa',
- 4 =>
- array (
- 0 => 'fdsafdsa',
- 1 => 'fdsafdsa',
- ),
- );
- ?>
看到了吧?不是采用序列化的保存方式.而是直接保存了变量.
这样需要的时候直接包含进来就OK了.更不用unserialize()了.
我们为什么要抛弃模板引擎??
我们为什么要抛弃模板引擎??
因为我们不使用模板引擎不代表不使用模板引擎的思想.
有的人一直认为.如果不使用模板引擎.代码就会显得杂乱无章..
HTML与PHP混写的方式相信每个人都经历过.是不是很痛苦?往往不知道写到哪里了..还得从头摸索..
我来举个简单的读取数据库并输出到HTML页面的例子.
最初我们都是这么写PHP程序的..
user.php
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>user</title>
- </head>
- <body>
- <?php
- $sql = "SELECT uid, uname FROM table";
- $rs = mysql_query($sql);
- ?>
- <table width="200" border="1">
- <tr>
- <td>用户id</td>
- <td>用户名</td>
- </tr>
- <?php
- while ($row = mysql_fetch_array($rs)) {
- echo '<tr>';
- echo "<td>{$row['uid']}</td>";
- echo "<td>{$row['uname']}</td>";
- echo '</tr>';
- }
- ?>
- </table>
- </body>
- </html>
这样的程序往往令人费解..难以读懂..并且难以维护.
在我们使用模板引擎之后.就会是另外一翻景色了..
我们来用smarty举例子
利用jQuery实现简单的web ping…
简单的不能在简单了..也没有什么技巧可言..
前几天看到有个人提出这个问题..其实无非就是不间断的ajax请求而已.没有什么技术含量
- <!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
- <html xmlns="http://www.w3.org/1999/xhtml">
- <head>
- <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
- <title>简单的web ping演示</title>
- <script type="text/javascript" src="jquery.js" ></script>
- <script type="text/javascript">
- $(document).ready(function (){
- var ping, requestTime, responseTime ;
- setInterval(ping,1000);
- function ping() {
- $.ajax({url: 'empty.html', //设置一个空的ajax请求
- type: 'GET',
- dataType: 'html',
- timeout: 30000,
- beforeSend : function() {
- requestTime = new Date().getTime();
- },
- complete : function() {
- responseTime = new Date().getTime();
- ping = Math.abs(requestTime - responseTime);
- $('#ping').append('<br />ping:' + ping + 'ms');
- }
- });
- }
- });
- </script>
- </head>
- <body>
- <div id="ping">loading...</div>
- </body>
- </html>
如何压缩(混淆)一个JavaScript文件
首先你得知道什么叫JS混淆..就是把代码整的人看不懂..
类似这样eval(function(p,a,c,k,e,r)….省略N行..
这样做基于两个好处
1.代码会被压缩..因为JS会在网上传输.所以体积越小越好.
2.混淆顾名思义就是使人难以理解.达到保护代码的作用.
我推荐一个在线的压缩网站.非常不错.我经常使用
http://javascriptcompressor.com/
但是使用过的人肯定会遇到这样的情况
混淆出来的代码不可以运行.但是不混淆就没事.
这是代码的问题?还是这份代码就不能被混淆吗??
答案当然是否定的..
那问题出在哪里呢??
学习PHP一年的经验和小结。
IE8的一些兼容HACK..
使用META标签
Windows Internet Explorer 8 支持多种兼容性模式,它们可启用不同的受支持的功能,并影响内容的呈现方式。例如,
IE5 模式呈现内容时,像是使用了 Windows Internet Explorer 7 的 Quirks 模式,这与 Windows Internet Explorer 5 显示内容的方式很相似。
IE7 模式呈现内容时,无论页面是否包含 <!DOCTYPE> 指令,都像是使用了 Windows Internet Explorer 7 的标准模式。
EmulateIE7 模式通知 Windows Internet Explorer 使用 <!DOCTYPE> 指令确定如何呈现内容。标准模式指令以 Windows Internet Explorer 7 标准模式显示,而 Quirks 模式指令以 IE5 模式显示。与 IE7 模式不同,EmulateIE7 模式遵循 <!DOCTYPE> 指令。对于多数网站来说,它是首选的兼容性模式。
IE8 模式最大限度地支持行业标准(包括 W3C Cascading Style Sheets Level 2.1 Specification 和 W3C Selectors API,并能有限支持 W3C Cascading Style Sheets Level 3 Specification(工作草案)。
Edge 模式通知 Windows Internet Explorer 以最高级别的可用模式显示内容,这实际上破坏了“锁定”模式。对于 Windows Internet Explorer 8,这与 IE8 模式是等效的。如果(假定)Windows Internet Explorer 的未来版本支持更高级别的兼容模式,设置为 Edge 模式的页面将显示在由该版本支持的最高级别模式中;但是,当使用 Windows Internet Explorer 8 查看时,这些相同的页面仍将显示在 IE8 模式中。由于在 Windows Internet Explorer 的未来版本中呈现页面内容可能出现意外,建议 Web 开发人员将 Edge 模式仅用于测试页面和其他非生产活动。
- <html>
- <head>
- <!-- Mimic Internet Explorer 7 -->
- <title>我的网页</title>
- <meta http-equiv="X-UA-Compatible" content="IE=EmulateIE7" />
- </head>
- <body>
- <p>内容在此处。</p>
- </body>
- </html>
Content 属性指定了该页面的模式;例如,要模仿 Windows Internet Explorer 7 的行为,请指定 IE=EmulateIE7。同样,可指定 IE=5、IE=7 或 IE=8 以选择其中一种兼容性模式。您还可以指定 IE=edge 以通知 Windows Internet Explorer 8 使用最高级别的可用模式。
X-UA-compatible 标头不区分大小写;但是,它必须显示在网页中除 TITLE 和其他 META 元素以外的所有元素之前的标头(HEAD 部分)中。
绑定参数原理以及SQL注入..
假设我们的用户表中存在一行.用户名字段为username.值为aaa.密码字段为pwd.值为pwd..
下面我们来模拟一个用户登录的过程..
- <?php
- $username = "aaa";
- $pwd = "pwd";
- $sql = "SELECT * FROM table WHERE username = '{$username}' AND pwd = '{$pwd}'";
- echo $sql; //输出 SELECT * FROM table WHERE username = 'aaa' AND pwd = 'pwd'
- ?>
这样去执行这个sql语句.显然是可以查询出来东西的.返回用户的这一列.登录成功!!
然后我改一下..把密码改一下.随便一个值.如下.我改成了ppp.
- <?php
- $pwd = 'ppp';
- $sql = "SELECT * FROM table WHERE username = '{$username}' AND pwd = '{$pwd}'";
- echo $sql; //输出 SELECT * FROM table WHERE username = 'aaa' AND pwd = 'ppp'
- ?>
这样很显然.如果去执行这个SQL语句..是查询不到东西的.也就是密码错误.登录失败!!
但是有的人总是不老实的.他们会想尽一切办法来进行非法的登录.所谓非法就是在他不知道用户名密码的时候进行登录.并且登录成功..
那么他们所做的原理是什么呢??其实原理都是利用SQL语句..SQL语句强大的同时也给我们带来了不少麻烦..
我来举个最简单的例子.我们要运用到的SQL关键字是or
还是上面的代码.我们只要修改一下密码即可
- <?php
- $username = "aaa";
- $pwd = "fdsafda' or '1'='1"; //前面的密码是瞎填的..后来用or关键字..意思就是无所谓密码什么都执行
- $sql = "SELECT * FROM table WHERE username = '{$username}' AND pwd = '{$pwd}'";
- echo $sql; //输出 SELECT * FROM table WHERE username = 'aaa' AND pwd = 'fdsafda' or '1'='1'
- ?>
单例模式的特点.
很多设计模式都把头搞大了..下面就举例说说单例模式的特点.通过跟一般的模式进行比较.你就知道单例模式的优点与特点了:)
- //a是一般的类
- class a {
- }
- //b是单例模式的类
- class b {
- private static $instance = null;
- public static function getInstance() {
- if(is_null(self::$instance)) {
- self::$instance = new b();
- }
- return self::$instance;
- }
- }
- //申请两个a
- $a1 = new a();
- $a2 = new a();
- if ($a1 === $a2) {
- echo 'a1和a2一样';
- } else {
- echo 'a1和a2不一样';
- }
- //申请两个b
- $b1 = b::getInstance();
- $b2 = b::getInstance();
- if ($b1 === $b2) {
- echo 'b1和b2一样';
- } else {
- echo 'b1和b2不一样';
- }
SkiyoTabs – 简单好用的jQuery Ajax Tab插件!
使用方法基本和jQuery的UI的Tab插件基本一样。就是因为觉得UI tab太过臃肿才写了这个简单的插件。本插件的packed的版本只有1K。
如果要使用ajax方式接收,需要指定 li 中 a 标签的rel属性。
右键打开本页面源码,基本的例子这个代码中都包括了。
演示2(含下载):http://www.skiyo.cn/demo/skiyotabs/
演示2是一个最简单的例子.下载中包含演示2这个例子.
分类目录
- ActionScript (2)
- CSS (25)
- Java (3)
- JavaScript (41)
- PHP (105)
- 心情杂谈 (34)
- 收集整理 (77)
- 本站原创 (55)
最近文章
- 将google ssl设置为IE8的默认搜索引擎..
- 我们来做一个会呼吸的菜单吧!!
- 在编译php-fpm0.6的时候需要注意的一些问题
- 使用PHP将大文件导入到数据库中..
- 关于用PHP调用WebService中参数为complexType的问题
- 神奇的两次按位非运算符
- 百路推免费短网址服务..首创”收藏夹获取短网址”..
- 哥学社正式上线..
- jQuery中getJSON跨域原理详解
- Web辅助工具条(原名:河蟹工具条CrabBar)0.1发布
- 腾讯微博PC端发图教程
- goo.gl URL Shortener for WordPress
- PHP上传进度条深度解析
- Google短网址(goo.gl)服务类
- TinyURL.class.php
最近评论
- 匿名 在 一个PHP+AJAX留言板的完整例子.非常简单! 上的评论
- pfeng 在 将google ssl设置为IE8的默认搜索引擎.. 上的评论
- pfeng 在 将google ssl设置为IE8的默认搜索引擎.. 上的评论
- 北戴河旅游住宿 在 PHPer的历练 上的评论
- konakona 在 将google ssl设置为IE8的默认搜索引擎.. 上的评论
- 宁静致远 在 PHPer的历练 上的评论
- Corsair_Boss 在 强人作品 – jQuery1.2.6源码分析 上的评论
- fanglor 在 PHPer的历练 上的评论
- fanglor 在 百路推免费短网址服务..首创”收藏夹获取短网址”.. 上的评论
- 匿名 在 Web辅助工具条(原名:河蟹工具条CrabBar)0.1发布 上的评论
文章索引模板
- 2010年七月 (3)
- 2010年六月 (4)
- 2010年五月 (2)
- 2010年四月 (9)
- 2010年三月 (12)
- 2010年二月 (1)
- 2010年一月 (3)
- 2009年十二月 (2)
- 2009年十一月 (3)
- 2009年十月 (3)
- 2009年九月 (5)
- 2009年八月 (4)
- 2009年七月 (6)
- 2009年六月 (8)
- 2009年五月 (8)
- 2009年四月 (16)
- 2009年三月 (19)
- 2009年二月 (22)
- 2009年一月 (20)
- 2008年十二月 (38)
- 2008年十一月 (22)
- 2008年十月 (7)
- 2008年九月 (3)
- 2008年八月 (24)

Jessica
