妖精
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
9 B2 r2 m: l- W0 T
; d* e' ?1 B X: n: S# g% s妖城在线论坛在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 d$ ?$ E, j! R2 m8 c. P$ X
* n% u- u- m6 c5 l% o) z妖城在线论坛我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com2 K% _1 x3 x& W7 O/ F7 [3 _7 {$ s# Q& o
! z* T& \; t0 L# ]魔力私服,最新魔力宝贝私服技术交流我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
& ?- v/ h* k) ?5 }
, @9 Q: X8 Z0 r6 [魔力私服,最新魔力宝贝私服技术交流为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
0 A/ Z8 a) F$ P3 q( q/ ] Y妖城在线论坛# R+ N0 ^% K0 F6 ?
同时希望将此贴置顶?……—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ K0 F) _7 e& p V3 z% X
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 y0 e. l3 `& l0 ~- M v
注:需使用到 反汇编工具IDA5 r6 s& d! F8 Y; w7 s( c7 K) _8 F
妖城在线论坛# d8 _& f; l( f4 O
.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート S; @9 L9 Z& q8 ^1 J% o7 o
.text:08074098妖城在线论坛* e6 S4 h5 U# Y7 |
.text:08074098 ; Attributes: bp-based frame
' A& d M' P9 R# q1 n" I d/ X0 L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098
( i% d% `3 G9 ~. l% I魔力私服,最新魔力宝贝私服技术交流.text:08074098 public CHAR_GetLevelExp" F$ n7 o& h, P& a' O
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
' [. I" N/ l) t# R0 `( x) obbs.mocwww.com.text:08074098 ; CHAR_make_CP_String+517p
2 r* C0 g) z- ~ z4 C) P—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; CHAR_make_KP_String+5AAp
, ?: `4 O. _$ O妖城在线论坛.text:08074098 ; PET_createPetFromCharaIndex+1BEp魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 L" R3 A8 O& f) C1 k$ y' \8 n
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 Z/ @& {( Q: s B$ H7 }
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数妖城在线论坛9 \4 n% A! ?" `) c5 n
.text:08074098 arg_0 = dword ptr 83 a7 i( A( A7 i
.text:08074098
7 H7 j) z- X4 d* t4 v—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 push ebp ; 函数功能:魔力私服,最新魔力宝贝私服技术交流' x1 L0 N) |* J3 m' a% I
.text:08074098 ; 取得人物或者宠物下一级的升级经验值bbs.mocwww.com8 J5 \% z$ M& F& a4 a3 Q% c% l
.text:08074098 ; 入口参数:等级值
9 `2 j( d! V- ^' u8 X* b.text:08074098 ; 出口参数:eax即下一级的升级经验值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 O( N. }9 {' P0 ~ t( W. E0 d% X
.text:08074099 mov ebp, esp
% `& o$ b# X4 ]& }2 I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里妖城在线论坛- x) o8 _! S; [4 ]8 [/ e
.text:0807409E cmp edx, 78h ; 与78h即120比较
p k* A, w* S6 Y @2 ]' y- D# J—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转妖城在线论坛: e0 T7 K; S0 t, a; i+ a7 d
.text:080740A3 cmp edx, 82h ; 与82h即130比较
! V, b% \: f1 m1 |6 W+ C—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A9 jg short loc_80740B8 ; 大于则跳转魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' F L6 [0 v3 q" \ Y3 g, m! W# v
.text:080740AB mov eax, edx ; 否则将等级值放入eax
9 P; q; T) o8 l& \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740AD imul eax, edx ; 2次方魔力私服,最新魔力宝贝私服技术交流1 f+ s3 B4 t' S k; L$ I' m/ }6 j9 x9 Y
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: z- T6 n) X, G& [
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方妖城在线论坛5 }& k, L& c1 u* N b3 r
.text:080740B6
8 n6 \0 m, o- A; a" |0 k' G! |: ^bbs.mocwww.com.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
7 ~0 P K$ \; ~* E: v—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ s: i! ]8 _5 A7 F- w
.text:080740B6 leave
+ H9 j. o0 u8 Y! _0 W n.text:080740B7 retn
1 |# g0 |9 s6 F1 F" F2 J# @0 z' ~妖城在线论坛.text:080740B8 ; ---------------------------------------------------------------------------妖城在线论坛) J" H# ?3 t+ X
.text:080740B80 a1 N. U% }0 h- z" X+ f4 _
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 a' `% N9 [( i7 n; \+ t! ~
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 \0 x% K% x4 Y7 v4 {
.text:080740B8 ; 游戏内看到的是一个 - 号魔力私服,最新魔力宝贝私服技术交流( E+ w# j' [- C3 h! a) \( D
.text:080740BD jmp short locret_80740B6 ; 函数结束+ M" g+ K ]+ z O8 Y- F
.text:080740BD ; ---------------------------------------------------------------------------5 a2 V: c1 f9 y A& U
.text:080740BF align 10h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 I& a4 f( Z1 ^- L+ x6 G1 @
.text:080740C0妖城在线论坛/ d! _4 d+ P: S g/ a
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j9 w7 o4 z/ i) s- [5 Q
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 }. X( a' T D
.text:080740C0 ; 即LevelUpTbl
: L8 _) ?$ ~+ W- E0 V" T魔力私服,最新魔力宝贝私服技术交流.text:080740C7 jmp short locret_80740B6 ; 函数结束
! H, @ S2 x/ J% G9 E, U- f.text:080740C7 CHAR_GetLevelExp endp
' k' E2 _8 `- G) `.text:080740C7—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 Z' `$ Y, n2 D. E& G `3 o( L
.text:080740C7 ; ---------------------------------------------------------------------------
; y; H; ?5 w) v' c! m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' h- x& p% n% j# O
魔力私服,最新魔力宝贝私服技术交流- e2 a. `+ E$ Y' p- X# Y/ B) Y2 H
5 Q+ F4 t3 u0 g6 r! v" Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|