|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
: s3 P7 r- E: Q4 @3 E5 L魔力私服,最新魔力宝贝私服技术交流; t9 F a9 Q/ G, j" U* l
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁妖城在线论坛! w! P- n# c- O2 t$ G1 m9 {
8 a, c( u5 o- o1 U我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com; T6 ~- N9 i9 Y* `9 A; j; r
# M c5 J8 r" [( i妖城在线论坛我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
! t# X v) | M妖城在线论坛
0 m3 K3 I; l; s! u3 D! ?% P& Z) H5 B为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
& Q) v4 D/ }) E4 C2 K6 L, K2 |妖城在线论坛4 m, D2 G6 c# h8 v% {6 V
同时希望将此贴置顶?……bbs.mocwww.com# O. U+ C1 Y" G% k4 a* p7 Y' N
K, f! ?( S4 `. N! H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート注:需使用到 反汇编工具IDA—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ f0 b; k5 d* {' O5 O9 O
) U6 h# B- X7 G; ^8 X0 A; z3 P1 y
.text:08074098 ; =============== S U B R O U T I N E =======================================魔力私服,最新魔力宝贝私服技术交流7 m6 s- h u6 \' e3 K2 I
.text:08074098
6 G" y, C) |4 l/ `- {+ Z- \4 f, Q妖城在线论坛.text:08074098 ; Attributes: bp-based frame魔力私服,最新魔力宝贝私服技术交流( k7 O, _( p; U. X
.text:08074098
$ W; I' u$ B, D% g! hbbs.mocwww.com.text:08074098 public CHAR_GetLevelExp
% H& K r( ~% N: e2 F- Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42pbbs.mocwww.com1 ^9 q `6 d3 @
.text:08074098 ; CHAR_make_CP_String+517p
$ ~. F8 a+ u8 O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_KP_String+5AAp
# |* J& s7 r# s9 Lbbs.mocwww.com.text:08074098 ; PET_createPetFromCharaIndex+1BEp
0 N' n, A6 J; U$ |妖城在线论坛.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p3 _5 l) a$ O V
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数$ D5 I7 K W9 |4 F& h0 p. n9 `+ q
.text:08074098 arg_0 = dword ptr 8
# q% ]& W4 L; f魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098
& s' C. w3 C, gbbs.mocwww.com.text:08074098 push ebp ; 函数功能:
" O. \! ?3 d- _* I5 w. N妖城在线论坛.text:08074098 ; 取得人物或者宠物下一级的升级经验值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# i7 A$ z$ [+ K; j h
.text:08074098 ; 入口参数:等级值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. j: ^+ Z7 A9 N+ k
.text:08074098 ; 出口参数:eax即下一级的升级经验值 U& s% b0 W2 _1 x
.text:08074099 mov ebp, esp' M o, G9 C, c5 f4 _
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
3 g: k3 E U+ B T" t; u0 V—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:0807409E cmp edx, 78h ; 与78h即120比较
% G# J4 k# Q9 M' G0 I. ubbs.mocwww.com.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
4 M0 Q* [% s8 T+ Y3 R7 z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A3 cmp edx, 82h ; 与82h即130比较妖城在线论坛: L% D( q2 R5 C
.text:080740A9 jg short loc_80740B8 ; 大于则跳转妖城在线论坛$ y6 Q/ T+ h* `$ y
.text:080740AB mov eax, edx ; 否则将等级值放入eax
+ [* b' F& f/ \.text:080740AD imul eax, edx ; 2次方
' [8 c6 Z7 g8 {( f/ U.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力宝贝私服技术交流. v5 A) `: \! _) z
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
# Q. }) P6 t4 R4 V _% j0 |—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6
& p: T3 b3 L; p9 H6 M6 R妖城在线论坛.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
5 g9 `- k( r1 A: V: c—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 ; CHAR_GetLevelExp+2Fj—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート4 m* a# r. D) [0 C+ T8 ~
.text:080740B6 leave—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ ~. o' v0 U# M% [+ i$ P0 r: L4 n
.text:080740B7 retn
( | |! {$ z6 ~2 ^魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; ---------------------------------------------------------------------------
3 f, S7 P5 i4 T0 J) _' v! t8 E4 F) a妖城在线论坛.text:080740B8
$ \4 J% E- T& h) U$ r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 v! Z& V7 t2 K- o0 n
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1妖城在线论坛2 l5 ]7 ?, J; W' a/ K! o! l& F
.text:080740B8 ; 游戏内看到的是一个 - 号妖城在线论坛; F0 H' ^( P6 j' r
.text:080740BD jmp short locret_80740B6 ; 函数结束bbs.mocwww.com" ]/ B. i4 h2 N! S( t
.text:080740BD ; ---------------------------------------------------------------------------
5 n; d9 g/ L G% T& _$ Q妖城在线论坛.text:080740BF align 10h
( N. ^/ L! c( m4 [' }2 b魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C03 g7 m2 R' Q$ ~/ J+ V) v' _' ]
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
, i+ P5 T4 K a0 d5 }: Wbbs.mocwww.com.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
8 d( V$ m n/ n# f* v$ \6 C魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0 ; 即LevelUpTbl妖城在线论坛! o$ _9 o, }' P4 V% B
.text:080740C7 jmp short locret_80740B6 ; 函数结束
3 r! `/ Q1 p! _0 lbbs.mocwww.com.text:080740C7 CHAR_GetLevelExp endp
! A$ }& O$ T4 E: M8 e1 h/ Y魔力私服,最新魔力宝贝私服技术交流.text:080740C7
& R2 q0 ~) W: y$ D5 F- ^.text:080740C7 ; ---------------------------------------------------------------------------
* ]) B, X" F a) D( n. N, }
$ }9 f! @* P4 T5 [ P7 ]bbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 [& i9 D9 V+ }
1 `% B# o% e' T7 {
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|