翱翔.Net

释放.Net的力量
posts - 73, comments - 1112, trackbacks - 4, articles - 17
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

2008年9月26日

新建个WEB网站 然后添加MOBILE web Page

F5运行.这样能在IE中查看WAP网页

需要在仿真器上查看WAP网页.这里需要配置一下.

此文详细讲解了配置

http://www.cnblogs.com/yuanermen/archive/2006/10/26/540520.html

由于自带的ppc2003 是英文的上网找的中文的.英文的不支持中文显示

 

配置IIS跟正常的WEB网站一样.建的虚拟目录.直接放站点根目录下没好用..

 

posted @ 2008-09-26 09:59 Hover 阅读(116) | 评论 (0)编辑

2008年9月8日

控件删除后.

.H文件里的声明没有删除.导致此提示.

 

删除.h里的声明后就可以了..

posted @ 2008-09-08 22:11 Hover 阅读(163) | 评论 (0)编辑

以前好像用过记本事打开过此文件.后再打开项目.怎么都是提示opened in another editor 重启也不行..

 

现在解决了.办法是.

 

右键单键RC文件.选择打开方式.默认Resource View改成默认是.资源编辑器.

 

这样虽然能打开了.但是单击DIALOG的按钮可以添加事件.给控件加变量还是不行.

 

还有用的时候提示别的文件打开此方件是打开还是关闭....

 

最后删除ncb文件.重打开项目后可以了...

posted @ 2008-09-08 20:36 Hover 阅读(70) | 评论 (0)编辑

2008年9月5日

新建对话框. DIALOG 生成以后就提示 DIALOG16 Undeclared identifier

C++也不熟.引用了一些头文件也不行.

最后把Resource.H文件.引用了一下....生成成功..记下备查.

posted @ 2008-09-05 21:00 Hover 阅读(127) | 评论 (0)编辑

2008年8月22日

装了SQLServer2005后.新建项目时c#的项目模板就不见了.

在VS IDE工具-选项中找到

VISUAL STUDIO 用户项目模板位置

VISUAL STUDIO 用户项模板位置

 

两个选项.重新指到了VS的安装目录后就又出来了.

 

有需要的还可以去修改项目模板.

posted @ 2008-08-22 00:00 Hover 阅读(145) | 评论 (0)编辑

2008年7月1日

以前看过的教程是用CE找武林的一级基址。如果游戏都那样的就按他的方法很好找了。用OD跟踪也很块就定位真正的基址。

 

用CE搜索血值后。一般都能定位到有几个。最好的是只有一个。多了直接用第1个的地址。

 

用OD附近游戏。来到他的内存区(左下角) 转到地址输入刚才第一个的地址。

然后在此下内存断点。

这里有两种断点 写断点 访问断点  按字面理解 

不管下哪种断点最终根据汇编代码都是可以跟到基址的。

 

切到游戏OD中断后。

都是类似的代码mov [esi+2d8],EAX

这时要去找谁给ESI赋值了。在CE中是要接着下断点。在OD里需要往上找看谁给ESI附值了。

 

就拿CE的第8步说吧。

按上面显示的是1291.搜索只有一个值。。如果有多个可以点一下change value改变看哪个变。

00D65318 地址处存放着1291

 

用OD附加此程序

转到00D65318地址后下内存断点。回到程序点change value

OD中断后的汇编代码

0045662B    A1 20CC4500     MOV EAX,DWORD PTR DS:[45CC20]
00456630    8B40 0C         MOV EAX,DWORD PTR DS:[EAX+C]
00456633    8B40 14         MOV EAX,DWORD PTR DS:[EAX+14]
00456636    8B00            MOV EAX,DWORD PTR DS:[EAX]
00456638    8970 18         MOV DWORD PTR DS:[EAX+18],ESI

直接看汇编代码就能知道45CC20是基址 +偏移最后才放着这个1291

 

这是CE的这个Cheat Engine tutorial程序这里都放一起了。游戏的程序不是这样的。

 

一般都需要往上跟。可以看寄存器的值看哪里改变他了再找相应的汇编代码

posted @ 2008-07-01 22:32 Hover 阅读(710) | 评论 (3)编辑

原作者不详

如你要跟ebx,跟到某层遇到mov ebx, [ebp-430]之类的,不用讲,局部变量,此时在ebx下断,看ebx的值,再ctrl+f9, f8,到上一层看是怎么传进来这个参数的。比如是最后一次push传进来的,就向上一直跟最后一次push的寄存器。
向上跟数值时,遇到ebp,esp之类的,一定要仔细看。仔细分析堆栈。并不要认为上一个函数一定是堆栈平衡。
遇到跟数据是跟ecx的,一般情况,都很向上跟很多层,因为在面向对象语言中,对象指针都用ecx寄存器存放,而对象指针在函数中很重要的,或者说,一个对象函数中很多层函数都要保存这个对象指针,因为任何函数都可能用到。
跟数据遇到要找eax时,第一反应因为是向上看最近一个CALL函数,但也不一定是最近一个CALL函数的返回值。因为有些函数是没有返回值的。所以您要做的就是在那个函数下断,再F8走过函数,看寄存器eax变化没有。
从断游戏,分析数据角度讲,经常要用到断内存数据是谁写的。有的游戏是不能下内存断点的,此时可以考虑硬件断点。
当你向某内存地址下写入断点,看谁写的它时,断下后发现是堆栈写,此时,你就不要在堆栈去下断点了,堆栈数据是随时都在写,这样是断不下来的。这样,就只有向上看反汇编,F8一步一步走,看是谁向堆栈写数据。
有时需要断edi时,而edi是变化的,此时可以找规律,查看edi每次的step为多少,然后去到当前edi向后增加多少下断点。
在有些情况下,比如过程函数,分支函数,你直接下断点可能一直断下,所以此时您就需要用到条件断点,所以一定要掌握条件断点用法。
经常注意当前模块位置,打个比如,当你断在MSVERT模块中,你需要找的edx,而edx就是一个地址,此时,可能MSVERT模块已经相对游戏领空很多层了,你一步一步向上找可能很花时间,也很容易跟错数据。此时你可能考虑一次性多次ctrl+f9, f8,直到Game模块,然后在Game模块中,调用MSVERT的这个函数下断,看下是怎么传参进去的(也就是是第几个参数,或者寄存器传的edx值)。这样,再向上找就方便多了。
如果是做内挂,一定不要去说用封包好还是用CALL好,只可以告诉自己,哪个方便用哪个。CALL找不到,找封包,如果封包分析不出数据,就找CALL。也许换种方法更简单

posted @ 2008-07-01 21:55 Hover 阅读(311) | 评论 (0)编辑

2007年12月24日

游戏的每一个动作都会向服务器端发送数据。截获发包数据可以知道每个动作都向服务器发送什么数据。

用OD附加游戏 输入命令bp Send 例如。

先扔地下件物品。然后输入命令bp Send 。这时用鼠标去捡物品。OD会中断。按三次Ctrl+F9,F8 就会回到游戏捡物的发包函数。


005A7C8A    6A 0A           PUSH 0A
005A7C8C    56              PUSH ESI
005A7C8D    8B4A 20         MOV ECX,DWORD PTR DS:[EDX+20]
005A7C90    E8 BBA2FDFF     CALL elementc.00581F50

 0A是包的字节大小。16进制的0A转十进制就是10
ESI中的值就是发包数据。 这时可以跳到ESI数据窗口跟随。
大小为10.

0E25BD48  06 00 79 3E 02 C0 37 09 00 00 BC 0B 0A 00 00 00  .y>?...?....

 从左查10个字节就是06 00 79 3E 02 C0 37 09 00 00  这就是检物的发包数据。

如果需要找走路。打怪等的发包数据。可以在00581f50下跟进此CAll中下断点

0889FDA8   005A7C95  返回到 elementc.005A7C95 来自 elementc.00581F50
0889FDAC   0E25BD48
0889FDB0   0000000A

 上是堆栈窗口 0889FDB0右面的0000000A就是发包的大小
0889FDAC处是存储包发内容的地址0889FDB0

这样所有的动作只要在发包函数里下断点。看堆栈就行了。 不用在每个动作的汇编语句上下断了。

posted @ 2007-12-24 22:23 Hover 阅读(577) | 评论 (0)编辑

2007年12月18日

环境IIS 6.0 windows server 2003

最近客户的服务器的IIS总是莫名的拒绝服务 IIS运行着某采购中心的业务系统和前台网站(都是我们项目组开发的)

出现问题的解决。查到相关资料是开放应用程序池的内存使用。

服务器只有一个站点在提供WEb服务。所以不存在像别的虚拟主机出现问题的解决办法。虚拟主机的办法是给站点配单独的应用程序池。

这样的问题以前也现过。只是那时的web程序是ASP的。在asp.net 1.1下还没遇到这种情况

使用任务管理器查看时只要内存达到1.7G左右。IIS就拒绝服务了.

在应用程序池处设置了最大使用内存为1.6G就回收。这样只是临时解决了情况。

接下来另一个问题出来了。在内应程序池回收时。Session初始化了。SEssion数据丢失。由于业务系统采用了数字证书。

而数字证书处验证使用了Session导致应用程序池一回收。业务系统就退出。!

看来这不是解决办法。

其间还尝试了其它办法。例如修改mac 配置文件的配置节memoryLimit 。调整可使用的最大内存。但这个选项在IIS 6.0下不起作用。

最大可访问使用的内存限制为2GB。最后修改了boot.ini配置。 增加了/3GB

然后相应的把应用程序池的最大回收内存修改到了2.7G 这样大约1个小时达到内存峰值然后回收、算暂时解决了问题 !。

当然了业务系统的程序肯定需要性能方面的优化。附/3gb说明

/3gb
该开关强制基于 x86 的系统为程序分配 3 GB 的虚拟地址空间,为内核及可执行组件分配 1 GB 的虚拟地址空间。程序在设计上必须能够利用额外的内存地址空间。使用该开关,用户模式程序能够访问 3 GB 的内存而不是通常 Windows 分配给用户模式程序的 2 GB 的内存。该开关将内核的内存起始位置移至 3 GB 处。某些 Microsoft Exchange Server 2003 和 Microsoft Windows Server 2003 的配置可能需要使用该开关。

posted @ 2007-12-18 12:06 Hover 阅读(507) | 评论 (0)编辑

2007年12月16日

zx游戏自上上次更新以后。帐户不是名文了。用CE搜索不到了。外挂想用帐户来绑定用户的话就实现不了了。正郁闷着呢。老大说别人找到了回写帐户内存的代码。贴来给我看。我诈一看以为Bp send往回打的第几层的代码呢。仔细一看不是。白天忙工作了。晚上下班想看那段代码。忘带回来了。这怎么办。也不能浪费时间自己找吧!

 

即然有人找到了。说明在登录时游戏还是存了帐户的。但是为什么登录成功以后用CE却搜索不到呢。应该在分解登录过程的某一步进行了清空了也就是上面提到某人找到的代码。但现在我想找那段代码。想了个办法。为何不在bp send断的时候。也就是发包操作的时候。让游戏中断。此时用CE搜索。果然这样做了以后搜索到了几条信息,有时是一条。如果是多条可以F9运行。此时由于中断时间久了。游戏没反应过来。还显示正在登录中。点取看多条其中哪天还在就是了。复制这条地址。然后回到OD在内存区CTRL+G然后转到。下内存写断点。

 

这时回到游戏。输入帐户和密码点登录。OD中断。按两次F9就来到了回写清空帐户内存区的代码了

至于为什么按两次F9。第一次是运行。一看那里是个把帐户拆成4位一个。然后又跳 回去了组完又写。所以再F9就

跳出这段汇编了来到下面这句。(汇编不熟上面这句瞎分析的)

00583CA2      F3:AB         REP STOS DWORD PTR ES:[EDI]

关键代码找到了剩下就试着NOp了 以下是那段汇编的全部代码

00583C30  /$  A1 74BB9100   MOV EAX,DWORD PTR DS:[91BB74]
00583C35  |.  53            PUSH EBX
00583C36  |.  55            PUSH EBP
00583C37  |.  56            PUSH ESI
00583C38  |.  57            PUSH EDI
00583C39  |.  68 20A58E00   PUSH elementc.008EA520                   ;  UNICODE "NET - protocol keyexchange"
00583C3E  |.  68 00FF00FF   PUSH FF00FF00
00583C43  |.  50            PUSH EAX
00583C44  |.  8BF1          MOV ESI,ECX
00583C46  |.  E8 659FEAFF   CALL elementc.0042DBB0
00583C4B  |.  8A86 34010000 MOV AL,BYTE PTR DS:[ESI+134]
00583C51  |.  8B96 24010000 MOV EDX,DWORD PTR DS:[ESI+124]
00583C57  |.  83C4 0C       ADD ESP,0C
00583C5A  |.  8B6C24 14     MOV EBP,DWORD PTR SS:[ESP+14]
00583C5E  |.  84C0          TEST AL,AL
00583C60  |.  8B86 98000000 MOV EAX,DWORD PTR DS:[ESI+98]
00583C66  |.  8D9E 24010000 LEA EBX,DWORD PTR DS:[ESI+124]
00583C6C  |.  0F95C1        SETNE CL
00583C6F  |.  81E1 FF000000 AND ECX,0FF
00583C75  |.  51            PUSH ECX                                 ; /Arg4
00583C76  |.  8B8E 94000000 MOV ECX,DWORD PTR DS:[ESI+94]            ; |
00583C7C  |.  52            PUSH EDX                                 ; |Arg3
00583C7D  |.  50            PUSH EAX                                 ; |Arg2
00583C7E  |.  51            PUSH ECX                                 ; |Arg1
00583C7F  |.  8BCD          MOV ECX,EBP                              ; |
00583C81  |.  E8 8A490000   CALL elementc.00588610                   ; \elementc.00588610
00583C86  |.  8BCB          MOV ECX,EBX
00583C88  |.  E8 030B1700   CALL elementc.006F4790
00583C8D  |.  8BD0          MOV EDX,EAX
00583C8F  |.  83C9 FF       OR ECX,FFFFFFFF
00583C92  |.  8BFA          MOV EDI,EDX
00583C94  |.  33C0          XOR EAX,EAX
00583C96  |.  F2:AE         REPNE SCAS BYTE PTR ES:[EDI]
00583C98  |.  F7D1          NOT ECX
00583C9A  |.  49            DEC ECX
00583C9B  |.  8BFA          MOV EDI,EDX
00583C9D  |.  8BD1          MOV EDX,ECX
00583C9F  |.  C1E9 02       SHR ECX,2
00583CA2  |.  F3:AB         REP STOS DWORD PTR ES:[EDI]
00583CA4  |.  8BCA          MOV ECX,EDX
00583CA6  |.  83E1 03       AND ECX,3
00583CA9  |.  F3:AA         REP STOS BYTE PTR ES:[EDI]
00583CAB  |.  8BCB          MOV ECX,EBX
00583CAD  |.  E8 2E0B1700   CALL elementc.006F47E0
00583CB2  |.  85ED          TEST EBP,EBP
00583CB4  |.  74 0A         JE SHORT elementc.00583CC0
00583CB6  |.  6A 00         PUSH 0
00583CB8  |.  55            PUSH EBP
00583CB9  |.  8BCE          MOV ECX,ESI
00583CBB  |.  E8 10BBFFFF   CALL elementc.0057F7D0
00583CC0  |>  5F            POP EDI
00583CC1  |.  5E            POP ESI
00583CC2  |.  5D            POP EBP
00583CC3  |.  5B            POP EBX
00583CC4  \.  C2 0400       RETN 4

 

 

跟老大发给我。某位高手找到的一样。就是这了。

 

posted @ 2007-12-16 09:56 Hover 阅读(335) | 评论 (2)编辑