妖精
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
8 j) X7 G# q3 d% t魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ p. j* X* ~0 t& ]$ B8 m2 t
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁魔力私服,最新魔力宝贝私服技术交流0 t d, K6 Q8 V ~& q0 Z# u' U
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. }) x& G( V8 i! |" f1 d0 Q
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
. S- [! i2 T$ o4 ~: ~0 U
$ u, |( F) s; d* E+ v妖城在线论坛我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 i/ U# B. u) B0 g
bbs.mocwww.com k5 s' B2 ]8 C6 U
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!妖城在线论坛) t* f* t! b8 M# t% L* i. H! Q8 v
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 a4 m5 X" T" F
同时希望将此贴置顶?……
. r0 z4 ?; X' g& `% X+ m" l+ P* n: S魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com* Z" M/ |4 y7 r7 P; p
注:需使用到 反汇编工具IDA
% J _ n3 J- z4 ]$ gbbs.mocwww.com
4 t4 p: F9 x; o! v$ v7 I.text:08074098 ; =============== S U B R O U T I N E =======================================
# A- X) h# l; W1 m—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098
4 o8 Q* M3 I" L* ]—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; Attributes: bp-based frame# Y' e6 U& B- b: D+ E# h
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 j6 W2 N1 k8 {3 ?( F) k: [$ ?. h- }
.text:08074098 public CHAR_GetLevelExp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ p9 s' h" l; F7 u. n
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% z0 p, v5 t& w$ y4 d3 J
.text:08074098 ; CHAR_make_CP_String+517p
; ^! O. i% o* \& L, o' Nbbs.mocwww.com.text:08074098 ; CHAR_make_KP_String+5AAp
+ y4 l* T% W0 t( s) z+ i' U魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; PET_createPetFromCharaIndex+1BEp
. g& P6 L- W7 p0 n2 l6 x0 z% \0 T魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
. P- F8 `" ^: A/ X0 W; x1 M' W妖城在线论坛.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
9 L- Y T6 k; J/ X/ U: r妖城在线论坛.text:08074098 arg_0 = dword ptr 8
; R( Q6 q3 U4 m' u. }0 J魔力私服,最新魔力宝贝私服技术交流.text:08074098bbs.mocwww.com( Z u5 e9 R I0 F& Y
.text:08074098 push ebp ; 函数功能:妖城在线论坛5 h4 J( Q* W, @; _7 y9 I) }
.text:08074098 ; 取得人物或者宠物下一级的升级经验值魔力私服,最新魔力宝贝私服技术交流& V3 d4 Q2 f8 A5 z" N# {
.text:08074098 ; 入口参数:等级值
( t) U. r5 `/ k% P" f' T9 obbs.mocwww.com.text:08074098 ; 出口参数:eax即下一级的升级经验值
+ W/ X. ~; }) `% u$ u妖城在线论坛.text:08074099 mov ebp, esp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) [. n/ A# A% {) g
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. @4 E4 ?1 b* p2 l& D. a
.text:0807409E cmp edx, 78h ; 与78h即120比较
$ ~1 O1 W( h X o! U魔力私服,最新魔力宝贝私服技术交流.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
) R$ V( Z p# r0 {4 U% U妖城在线论坛.text:080740A3 cmp edx, 82h ; 与82h即130比较
0 M6 u6 C/ [" _" w: s1 y# ]魔力私服,最新魔力宝贝私服技术交流.text:080740A9 jg short loc_80740B8 ; 大于则跳转—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 u# ?1 H* {1 Y/ Y2 e" `% g7 c4 N- L
.text:080740AB mov eax, edx ; 否则将等级值放入eax
# q5 n) R$ W6 n4 ]妖城在线论坛.text:080740AD imul eax, edx ; 2次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; b( n4 r2 B. k z. m
.text:080740B0 imul eax, edx ; 3次方
1 w; }) K2 U7 `1 P$ @魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
( s5 R G* ^. V. I+ K! U; K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6
7 ]2 f7 R+ w. P. R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& e' X5 I0 N8 W' S$ ]4 j
.text:080740B6 ; CHAR_GetLevelExp+2Fj
& a' J- J M9 k, `0 @9 i6 n+ f! L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 leave
* x! i* k5 f2 Kbbs.mocwww.com.text:080740B7 retn
$ E2 r+ d% o7 k, X7 {4 \- Z.text:080740B8 ; ---------------------------------------------------------------------------
. H. e- z) z- a0 n.text:080740B8bbs.mocwww.com7 d; A8 y1 a5 o0 D, t* d
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j妖城在线论坛. W* j' M. T- ^6 W4 {. s6 n
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1( n8 A3 E8 x& J( i2 G* T
.text:080740B8 ; 游戏内看到的是一个 - 号9 A% \2 d; q" m% J% I" L% Q
.text:080740BD jmp short locret_80740B6 ; 函数结束—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( w: V4 _3 a. V: O+ W
.text:080740BD ; ---------------------------------------------------------------------------
5 C4 D! x2 O s& O9 j7 x魔力私服,最新魔力宝贝私服技术交流.text:080740BF align 10h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 D- ]) ]: Y) w- R
.text:080740C0
8 {! \; D/ V& ?, z妖城在线论坛.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ l3 Y- ~% P/ p% `- ~
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. U0 P* U Y9 k6 r1 m
.text:080740C0 ; 即LevelUpTbl
r: I0 _: i: N; O: kbbs.mocwww.com.text:080740C7 jmp short locret_80740B6 ; 函数结束
" y2 ~. l m) D. O8 `. O.text:080740C7 CHAR_GetLevelExp endp
2 }, A4 z% j$ a- r- cbbs.mocwww.com.text:080740C7
+ J R. q+ J |4 [.text:080740C7 ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ P/ }: _7 D; @" z9 T* _3 ]
- u* X- O9 r, |* H" E—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート
1 y- ?0 r6 S4 C5 _6 F* q! {bbs.mocwww.com
1 B( |3 m5 `5 E5 z3 {—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|