妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小+ Q& I1 U4 Y. m/ ^, }" j( l
& S5 [$ C' q- X. V妖城在线论坛在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁. I. O/ K$ P2 g
# a4 k% g* R) m9 ?* e, t- x$ N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com. p, u* Y" Y% U0 P9 n! L' B& \) Y
W! }' E/ K, ^, ^/ f魔力私服,最新魔力宝贝私服技术交流我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!- n7 U9 C6 N. h- s6 E2 O: ?! i
4 y4 G4 s1 L2 X魔力私服,最新魔力宝贝私服技术交流为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!bbs.mocwww.com0 F% m0 ?* X: d" A
妖城在线论坛- ~; [8 X+ p9 g: r/ i6 W
同时希望将此贴置顶?……
! x" K \7 l- n" h5 T6 s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
, Z. B1 g/ r! j* `% h4 r" O# @" q魔力私服,最新魔力宝贝私服技术交流注:需使用到 反汇编工具IDAbbs.mocwww.com9 R8 F. x) d, F% G, Q7 F
4 u# {4 w! E& ` u8 _) F魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; =============== S U B R O U T I N E =======================================妖城在线论坛) Y0 l. R% ? y {' T
.text:08074098—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ H0 X! G1 G" \! A+ C5 v
.text:08074098 ; Attributes: bp-based frame—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" j3 _, m' l0 d: `3 G0 X( ~5 |2 p
.text:08074098妖城在线论坛, C- C) z8 Z+ b* n
.text:08074098 public CHAR_GetLevelExp1 j0 l \6 p8 D6 w1 K z7 s
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
/ g* k$ C5 G. H/ V$ p: p' B/ {% x妖城在线论坛.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ y# E5 }: {5 n0 Q, E* o% | W
.text:08074098 ; CHAR_make_KP_String+5AAp魔力私服,最新魔力宝贝私服技术交流1 ?( p" u! I2 T' q$ ]
.text:08074098 ; PET_createPetFromCharaIndex+1BEp( l9 ^, D* c7 i- M
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p魔力私服,最新魔力宝贝私服技术交流1 K: L# R2 g/ z+ Z% @! _" ~
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" e, d5 p4 u7 b( X
.text:08074098 arg_0 = dword ptr 8
" d& P7 d/ f, ^1 z6 @! o. p魔力私服,最新魔力宝贝私服技术交流.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- \9 C0 i I* [& p' m6 ^
.text:08074098 push ebp ; 函数功能:bbs.mocwww.com* V9 ?) s7 t, s2 g: C; W( q& U
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
3 y$ [2 q0 O; _- x8 y" r妖城在线论坛.text:08074098 ; 入口参数:等级值
: @ ?" v) h! ?妖城在线论坛.text:08074098 ; 出口参数:eax即下一级的升级经验值
) t, k* V, ~* Y z: a+ k5 ]+ ~( m魔力私服,最新魔力宝贝私服技术交流.text:08074099 mov ebp, esp
6 R1 ^" S9 |8 X' I$ q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
5 Y) I* C! {) U( e4 ]' E妖城在线论坛.text:0807409E cmp edx, 78h ; 与78h即120比较
* }( h9 B* U7 w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转& y3 M, O- \& h
.text:080740A3 cmp edx, 82h ; 与82h即130比较
4 e# x3 W" i( w. [: P$ a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A9 jg short loc_80740B8 ; 大于则跳转
5 p2 w8 R% }8 V.text:080740AB mov eax, edx ; 否则将等级值放入eax
( \- Y: Q+ j# H, p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AD imul eax, edx ; 2次方魔力私服,最新魔力宝贝私服技术交流. x) f5 q: T; K8 g; L# |! u
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ M0 L# v$ |& w1 \- S# h& L1 l2 F! @
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
5 k/ o& h0 A7 B( U- L9 N Kbbs.mocwww.com.text:080740B6
) J- q. U! I, T7 G* W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
4 y% a7 B/ G3 O* ?+ E魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 ; CHAR_GetLevelExp+2Fj6 P8 @5 s, o; [ I0 p, U p$ [
.text:080740B6 leave魔力私服,最新魔力宝贝私服技术交流: ` Z- V2 h, j6 r
.text:080740B7 retn
9 b3 V8 S- h6 o, gbbs.mocwww.com.text:080740B8 ; ---------------------------------------------------------------------------
+ l; r7 r/ [% X9 V+ r/ Y' ?0 D.text:080740B8魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( H3 t. b1 x- ~2 d" l3 d) U- z0 n
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, _6 |9 X" B" {/ y
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1妖城在线论坛. u2 o; K w; b7 H* b
.text:080740B8 ; 游戏内看到的是一个 - 号—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; s E$ z1 H7 u& I7 P+ I
.text:080740BD jmp short locret_80740B6 ; 函数结束
9 W! Z" Z, s0 {( sbbs.mocwww.com.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; M. [3 E# ?: A2 v$ h, a
.text:080740BF align 10h魔力私服,最新魔力宝贝私服技术交流3 \- U# Z3 w% r% t x9 G, ]4 Z
.text:080740C0
# @- ]: P/ s. O6 X.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j妖城在线论坛3 z" `9 f' {. `; r) u# v4 N5 p1 I: |. j
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
7 R* P7 D2 u4 e# Z4 F5 x—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C0 ; 即LevelUpTbl—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 j9 N8 l# m) M2 [) d& Y5 @7 j
.text:080740C7 jmp short locret_80740B6 ; 函数结束
7 v& s$ R# \' T# A1 l* z+ Q+ abbs.mocwww.com.text:080740C7 CHAR_GetLevelExp endp
" a; i' ~1 ]7 \, f% L6 F+ Mbbs.mocwww.com.text:080740C7
% [; F$ |1 R, I! f( n6 b.text:080740C7 ; ---------------------------------------------------------------------------
7 y0 s+ D- v/ A+ S7 F6 p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) @* I4 w% A! j" e. F4 {' b
& ]/ N( A5 r# p
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; o4 K/ |4 ^* z; c0 q
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|