|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小1 X8 B/ K+ _( m! w3 ~# \
0 f, @! k' D' L, p' s8 M$ zbbs.mocwww.com在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁妖城在线论坛- |3 b. E; ^% O$ \2 g
8 W. t% C( ]$ L—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 H% o/ ]% v1 U" l! |- g
9 S9 E/ b0 {! i妖城在线论坛我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
/ t9 v* _- x/ |: D. D, f. I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( N m" M& i- l. D: k
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
* C& O& \" Z$ q% V5 W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; y6 E+ g+ z; P! F! w
同时希望将此贴置顶?……bbs.mocwww.com1 o4 a$ r$ {- g9 K9 n) k
bbs.mocwww.com) E+ s ^0 J+ t* }7 w3 Y* {3 Q J# S8 ?4 M
注:需使用到 反汇编工具IDA
6 ~& W# q: h! F8 i+ F/ b$ s魔力私服,最新魔力宝贝私服技术交流
! n+ E+ t5 E& N- `8 j, e! i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; =============== S U B R O U T I N E =======================================
7 b2 t g, f1 y5 A—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098
: h) d& ~0 ^( d- d1 Q6 q" T, i.text:08074098 ; Attributes: bp-based frame
$ O2 d* x8 K# n6 f W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098
^7 k- N8 A% C! S3 `8 i2 P妖城在线论坛.text:08074098 public CHAR_GetLevelExp
# c, t! j1 v2 X2 |! g" s" ^bbs.mocwww.com.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
# O! x% i8 y$ _# F" p$ a5 `% ]bbs.mocwww.com.text:08074098 ; CHAR_make_CP_String+517p
; N/ Y' O0 |; O) e; k.text:08074098 ; CHAR_make_KP_String+5AAp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 |7 B2 s/ n, j" M9 U
.text:08074098 ; PET_createPetFromCharaIndex+1BEp
?& W% b, l0 X0 `$ h y, z妖城在线论坛.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
2 G1 V, t6 d; u R M9 W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* V# ] `) P! e/ }: E: g; t$ M
.text:08074098 arg_0 = dword ptr 8
# j n% O* k% f) t( @8 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098
2 X; U) z* K1 X$ J: T妖城在线论坛.text:08074098 push ebp ; 函数功能:
: ^' A; N8 w4 g" g5 U7 G% e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; 取得人物或者宠物下一级的升级经验值
# l- _' n2 q" }: D, mbbs.mocwww.com.text:08074098 ; 入口参数:等级值bbs.mocwww.com% L' X3 O4 |# H O# Y% f
.text:08074098 ; 出口参数:eax即下一级的升级经验值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 [# Y% S# ^/ b- n$ W" X6 _8 m
.text:08074099 mov ebp, esp妖城在线论坛5 Z8 p7 Y7 C4 l- `2 U8 k
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" \& Q$ `$ r( u! e
.text:0807409E cmp edx, 78h ; 与78h即120比较bbs.mocwww.com G& T/ ~- T1 |: K
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
8 \# u8 u3 \$ L4 G# N* |* }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A3 cmp edx, 82h ; 与82h即130比较—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" G% a8 e* S/ R* a$ e" w
.text:080740A9 jg short loc_80740B8 ; 大于则跳转妖城在线论坛8 t2 |" }0 |: [5 @
.text:080740AB mov eax, edx ; 否则将等级值放入eax
1 C$ z- T* c9 G* ]/ Q6 R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AD imul eax, edx ; 2次方
Q$ a; I- o& B* B6 E" y.text:080740B0 imul eax, edx ; 3次方
. f: P3 F7 F3 [0 o& W6 V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方魔力私服,最新魔力宝贝私服技术交流# b. c$ I& k% d* D! h' C$ _0 a
.text:080740B6—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 \% ?- h. z% A; U' z. J5 g
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
& y" D, z) C; x/ b/ \, b# i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 ; CHAR_GetLevelExp+2Fjbbs.mocwww.com8 t; ]9 c2 d' k1 G3 o/ d
.text:080740B6 leave
( ~. Q# T' K D+ y! a( A' s/ T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B7 retn—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 C0 x& G6 _# l* z/ q$ E
.text:080740B8 ; ---------------------------------------------------------------------------bbs.mocwww.com7 Y& }; n1 Z8 q. f/ @
.text:080740B88 L! ?! Q6 V7 W2 l, I
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j妖城在线论坛) ?+ f8 V- y& u3 k4 s0 ^; W* M
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; n6 w4 n. d! z
.text:080740B8 ; 游戏内看到的是一个 - 号—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 Q8 ^' s- t# {' y
.text:080740BD jmp short locret_80740B6 ; 函数结束
0 w4 F Y' }4 o* }0 c. r2 b. Abbs.mocwww.com.text:080740BD ; ---------------------------------------------------------------------------
; ^- O2 h# v( o) L& M9 M b8 o1 Y( E.text:080740BF align 10hbbs.mocwww.com( M/ x! q7 |% i) A% V
.text:080740C0bbs.mocwww.com2 |2 C! _, C" d( S; T! ^ n5 D
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
( p# A9 k G" [6 l# X6 e妖城在线论坛.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
; t" j& ~$ ^( t5 R5 D6 I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0 ; 即LevelUpTbl
3 b' l% F% J* E) Q& i! v" e魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 jmp short locret_80740B6 ; 函数结束
. h; I- B2 M+ M$ z9 ]魔力私服,最新魔力宝贝私服技术交流.text:080740C7 CHAR_GetLevelExp endp
' J. j0 M4 J* X' V& k( x1 N: obbs.mocwww.com.text:080740C7
' h( ~( g8 A1 v; {+ F4 d8 s.text:080740C7 ; ---------------------------------------------------------------------------
1 f* b+ M. z' z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流2 J# Q3 H9 d9 P+ \
8 S6 B2 x! X# g# u- [7 I1 A$ U r* H
9 p* E0 H; c7 |" w Z) b4 X/ Q妖城在线论坛[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|