|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
3 G2 f7 ~: R2 _ V妖城在线论坛bbs.mocwww.com% f8 E$ A% ?" P( u ]$ f6 t$ c
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
9 C2 U% ^2 w( Z妖城在线论坛
+ c }0 L4 }* N- v$ w; v妖城在线论坛我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com' n+ G: m5 x, B: Y9 T
5 I4 ]: b& P% S P% u+ |bbs.mocwww.com我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!( ~: F N( v+ e2 [
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 B) {2 f l( `' o. J$ X
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!妖城在线论坛1 \0 g0 \3 {& Q1 c; A& ]/ x
bbs.mocwww.com; w' O( a8 B" b f/ Y8 A- f A
同时希望将此贴置顶?……
9 m1 U- ?/ T% i, D _& p% _- k* s
& b$ s( b6 v: _5 U& l0 \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表注:需使用到 反汇编工具IDA—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 _! ^& f6 @9 V( I- j
9 U! h+ _( {8 Z6 x1 U0 w: O- D
.text:08074098 ; =============== S U B R O U T I N E =======================================bbs.mocwww.com& s: x0 Q$ v |0 a5 b$ ]
.text:08074098bbs.mocwww.com5 m% U4 e' K' _* W4 m3 k
.text:08074098 ; Attributes: bp-based frame
! \1 n0 {2 _) O& Ibbs.mocwww.com.text:08074098妖城在线论坛 L- C7 S& J* Z4 F
.text:08074098 public CHAR_GetLevelExp
& J e, ]0 W" z k2 u6 `) H1 p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p妖城在线论坛% r/ E9 m+ \/ _' Z! Q( \, \
.text:08074098 ; CHAR_make_CP_String+517p
* V' A$ n! R$ ~3 e* |- {. p. M魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_KP_String+5AAp妖城在线论坛# l2 K' D* }8 m( L
.text:08074098 ; PET_createPetFromCharaIndex+1BEp魔力私服,最新魔力宝贝私服技术交流* }/ `6 a/ z- l; g; E
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
7 F, l" y, h7 X" w( z2 @/ o妖城在线论坛.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数bbs.mocwww.com0 O7 D% N7 W$ V$ D! t
.text:08074098 arg_0 = dword ptr 8
& h: ]! q- g! `/ H- ?bbs.mocwww.com.text:08074098
4 v. _: j9 V& E1 k.text:08074098 push ebp ; 函数功能:
# `% d% A2 c7 m( W妖城在线论坛.text:08074098 ; 取得人物或者宠物下一级的升级经验值
* B9 J# z0 J6 O3 U! x9 Wbbs.mocwww.com.text:08074098 ; 入口参数:等级值' J; Q+ a& M( T
.text:08074098 ; 出口参数:eax即下一级的升级经验值
' k3 v+ s/ G* u9 m( r—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074099 mov ebp, esp妖城在线论坛 j; P( n# k5 N- @ _" n& z
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
5 s+ s( L1 }3 P; \2 B, x魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:0807409E cmp edx, 78h ; 与78h即120比较
+ c+ ~( E6 ~/ c魔力私服,最新魔力宝贝私服技术交流.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
" E( _5 p9 A! N7 s+ l) w' g2 M+ Q$ _魔力私服,最新魔力宝贝私服技术交流.text:080740A3 cmp edx, 82h ; 与82h即130比较妖城在线论坛3 R5 R9 K+ n5 m! W! d! h, L6 V
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
( ^; V/ {$ A5 ?! Z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AB mov eax, edx ; 否则将等级值放入eax魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 A+ B2 g5 E6 L2 h- Q
.text:080740AD imul eax, edx ; 2次方
* s$ |) K- m$ D# b* I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B0 imul eax, edx ; 3次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 g% q$ {/ l7 I! J- Z1 B
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 ~6 @, f; g& W- c8 D
.text:080740B6魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ J6 f( D+ {: x u! p* R+ u
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
& a6 ~5 I" F* Q X! O" i魔力私服,最新魔力宝贝私服技术交流.text:080740B6 ; CHAR_GetLevelExp+2Fj—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 I- F. r: |/ v7 i# Y+ V5 h
.text:080740B6 leave妖城在线论坛 X( n$ y: m! j$ C; T
.text:080740B7 retn
0 m6 U) l" d2 c' Y# i- E1 _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 ; ---------------------------------------------------------------------------
- ~3 P$ u1 A" u9 v# M魔力私服,最新魔力宝贝私服技术交流.text:080740B8魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# r( H9 \7 s% ]
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j妖城在线论坛) q$ `! v( o, @
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 h) K& g; L5 D/ C( m, }+ D% _
.text:080740B8 ; 游戏内看到的是一个 - 号—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& i6 f0 ^7 U4 P+ C+ N
.text:080740BD jmp short locret_80740B6 ; 函数结束
& M. r/ F& R6 w8 R' i: i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD ; ---------------------------------------------------------------------------
: b4 {* x( g# l3 ?8 ]8 `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BF align 10h魔力私服,最新魔力宝贝私服技术交流/ V+ w" j( M9 E' }
.text:080740C0
0 ~8 A7 J5 T; I! J8 | \bbs.mocwww.com.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
: L9 ?5 t+ N* e) `魔力私服,最新魔力宝贝私服技术交流.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
. ^$ e2 ~: n" T. W. Z) g0 m# Ibbs.mocwww.com.text:080740C0 ; 即LevelUpTblbbs.mocwww.com9 _3 c. J8 m, D! `; m5 M; Y
.text:080740C7 jmp short locret_80740B6 ; 函数结束
7 N0 y6 z" S3 d1 R* _( b( K妖城在线论坛.text:080740C7 CHAR_GetLevelExp endpbbs.mocwww.com/ L8 z6 t+ L; r' r7 E: P) G
.text:080740C7魔力私服,最新魔力宝贝私服技术交流8 h* D+ \7 K5 _1 S) G- \
.text:080740C7 ; ---------------------------------------------------------------------------
4 K, m: ^# {, [6 ?妖城在线论坛bbs.mocwww.com" l% p; F6 j- O% G$ z& I
bbs.mocwww.com% H" k$ Z, q: R/ ?% u
魔力私服,最新魔力宝贝私服技术交流- Z2 G7 H# Y3 ]! o
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|