妖精
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小魔力私服,最新魔力宝贝私服技术交流4 v# i1 F5 u/ x% x' [6 |
魔力私服,最新魔力宝贝私服技术交流% Q' n1 g2 Z, j! C
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
( b! }7 h* p8 {bbs.mocwww.com
9 [- d: C+ A9 u# B4 F魔力私服,最新魔力宝贝私服技术交流我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
' u/ q' u! n) ]: p9 e妖城在线论坛
* m* X" V: J' d* o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!8 m. k7 Q' |8 ]
; l9 ]1 S# r2 X
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
- D# y; r5 e6 W8 w- _' _& l/ J, S, @妖城在线论坛bbs.mocwww.com# E6 y: x$ C2 @' [; {
同时希望将此贴置顶?……—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# M- n+ c& o! A( e8 R) P
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ f; p/ k1 O( h
注:需使用到 反汇编工具IDA
: a- D- V9 _6 ^7 k" c T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com. H3 ?+ f1 V( `9 W
.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" \7 Z7 a' l1 r4 N
.text:08074098
1 k% N+ _' l$ B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; Attributes: bp-based frame
1 b$ C0 m9 n0 @ s- ^—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. ~3 q9 _0 P, Z1 S. d) i
.text:08074098 public CHAR_GetLevelExp魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* `- I& Y; b( y. N! T, Q# N
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" U; Y0 V! U- ?& l2 U2 Y O
.text:08074098 ; CHAR_make_CP_String+517pbbs.mocwww.com- J7 q p# i b; _: t
.text:08074098 ; CHAR_make_KP_String+5AAp
4 O% u+ _" _& G& Z9 Y- H, H1 J妖城在线论坛.text:08074098 ; PET_createPetFromCharaIndex+1BEp魔力私服,最新魔力宝贝私服技术交流 `7 j4 w% m e+ z, `3 p0 a
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p妖城在线论坛4 H! L3 f: d& Q1 d& x& w
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 l7 v3 E5 ^6 f7 j- A2 z1 p
.text:08074098 arg_0 = dword ptr 8
* _9 B9 Z/ N. t3 t) c/ `: d/ C! \—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) a7 {& ?5 m* O K, O
.text:08074098 push ebp ; 函数功能:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* e" L) e8 O5 _5 b+ Y+ ^
.text:08074098 ; 取得人物或者宠物下一级的升级经验值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) t( Q2 p: N6 n. Y
.text:08074098 ; 入口参数:等级值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, t! F7 o) t5 i) A" i
.text:08074098 ; 出口参数:eax即下一级的升级经验值
* v$ T8 c4 h" V+ e/ m.text:08074099 mov ebp, esp
3 C- b5 X; Z7 ]! a; x) P+ ^$ U魔力私服,最新魔力宝贝私服技术交流.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里魔力私服,最新魔力宝贝私服技术交流3 s2 B7 F0 }: |! o
.text:0807409E cmp edx, 78h ; 与78h即120比较. q r6 x' R9 x# ~
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转: Z. Y2 ~ T3 k5 e! X0 Z% }! t
.text:080740A3 cmp edx, 82h ; 与82h即130比较—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- H* q2 y: t% r. h$ Y" S5 F2 j
.text:080740A9 jg short loc_80740B8 ; 大于则跳转& R9 q1 z0 O4 V3 ?% @
.text:080740AB mov eax, edx ; 否则将等级值放入eax魔力私服,最新魔力宝贝私服技术交流; W" ]: W$ ?: ], j- M# u; g
.text:080740AD imul eax, edx ; 2次方
9 v2 d/ @: f" f) y1 T' u. @bbs.mocwww.com.text:080740B0 imul eax, edx ; 3次方
$ ]8 s0 u7 |9 t" s* J1 P% c/ M妖城在线论坛.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
/ V; ^' J- g2 i/ u# U1 rbbs.mocwww.com.text:080740B6
8 @( ^" c7 Y5 K. O8 z3 `.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
( h# H- O" W* _0 ]3 ~6 L+ }) C; H魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 ; CHAR_GetLevelExp+2Fj
/ E8 j( C; z: Y# x) G: r3 h/ N L/ x* m.text:080740B6 leave
: Q5 `5 Z1 b: L: K: E$ t8 ^) S# H妖城在线论坛.text:080740B7 retn妖城在线论坛6 e! i$ s j6 b0 C/ `" ^
.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表1 a% w5 G! j; r1 J/ p' X- z
.text:080740B8
0 K4 v$ m" u% `: e' C) I魔力私服,最新魔力宝贝私服技术交流.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ w% x1 y1 R+ b
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
2 i Z6 E& @. `.text:080740B8 ; 游戏内看到的是一个 - 号—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ X, V% A3 F0 P6 O+ N2 u: o: o) t1 H
.text:080740BD jmp short locret_80740B6 ; 函数结束
) [/ f& V$ v; Y—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740BD ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート0 k9 |1 {2 x8 [! L+ n& H
.text:080740BF align 10h
. ~6 m7 q0 m8 n$ s& i) E) K) ebbs.mocwww.com.text:080740C0
: a c& G$ i& u; w# V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9jbbs.mocwww.com: x( }0 y: p, U% R/ d( V4 b
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表: ~ L2 U9 ]1 c/ a
.text:080740C0 ; 即LevelUpTbl
) a' o$ F! |$ J9 P& I2 l: J妖城在线论坛.text:080740C7 jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力宝贝私服技术交流+ y( Z" D( Y; K& f; H3 T& R
.text:080740C7 CHAR_GetLevelExp endp
3 r1 V4 ]- `8 n. P/ V) f.text:080740C7bbs.mocwww.com+ r8 ]' D6 Z! C: Y5 V
.text:080740C7 ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& B+ m* k$ C5 ]+ Z
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, Q/ [3 V G; i9 o
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ q$ F3 D% _3 {- N
5 j* E$ ^8 f: F; x[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|