|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小& G, C. z1 ?$ ?$ q
妖城在线论坛( ~! d% y. Y: j& [
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 |. m8 x |( d# A. R
( j4 |+ J3 j0 Z) y& n- W
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
4 U# k0 {0 } O魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 f9 V- W: [& m4 [& [
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
G# q0 `5 z' h u. Y. u
' r+ R; Q4 O. N4 H—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!bbs.mocwww.com# Z! u+ @- E& n
) W3 k! i! r: p% f同时希望将此贴置顶?……
9 B4 i' s) k5 ^8 a5 I妖城在线论坛
2 [, k0 \ A0 T+ e. T/ @bbs.mocwww.com注:需使用到 反汇编工具IDA
% Z; n4 g. a. L. T k9 P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 b; v( r; B2 m! S% K& j6 r
.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& o, I$ W; s, H2 P( E' M
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 H. p( d) i9 J
.text:08074098 ; Attributes: bp-based frame—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! D1 r9 q" e/ J* ^# B( e
.text:08074098魔力私服,最新魔力宝贝私服技术交流) R ^; q$ M& R( S O) W2 T. K
.text:08074098 public CHAR_GetLevelExpbbs.mocwww.com# R/ ~5 S; z4 N# D% R' M
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p; B+ t: u+ {1 P: G5 M3 |
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ H6 B* G! R6 k
.text:08074098 ; CHAR_make_KP_String+5AAp
5 `$ c2 S9 x% H* A7 g1 S.text:08074098 ; PET_createPetFromCharaIndex+1BEpbbs.mocwww.com# J) \: S8 ]& t% _0 F4 i
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p妖城在线论坛6 `& L+ R. D* I9 k: q/ [" Z
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
1 `" p5 A7 o. ]; H# N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 arg_0 = dword ptr 8bbs.mocwww.com, I8 C9 B! J* d: k
.text:08074098
1 c- g; A4 r7 L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 push ebp ; 函数功能:魔力私服,最新魔力宝贝私服技术交流% q `1 L* `$ I$ l
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
% I# l5 b, F" `8 _( g' Q.text:08074098 ; 入口参数:等级值
$ c* u' _0 R3 ` @. J l魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; 出口参数:eax即下一级的升级经验值bbs.mocwww.com, K, s5 a+ n9 P! S6 f
.text:08074099 mov ebp, esp7 ]. H" W. c8 Y) k m/ R
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
0 m6 G. S$ F4 E1 Z9 Z# l. Lbbs.mocwww.com.text:0807409E cmp edx, 78h ; 与78h即120比较
% K4 w6 C1 ^" M& Z7 o% V魔力私服,最新魔力宝贝私服技术交流.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
) @% W( n$ K4 m: v3 b魔力私服,最新魔力宝贝私服技术交流.text:080740A3 cmp edx, 82h ; 与82h即130比较魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) O" k q% A/ t2 b4 B) Y& w
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
8 s& G. N e, {" N6 c: O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740AB mov eax, edx ; 否则将等级值放入eax妖城在线论坛& R1 a E! |3 M" ?" s3 s4 X
.text:080740AD imul eax, edx ; 2次方
" ~* }: m7 e1 |+ Q/ D8 [4 G.text:080740B0 imul eax, edx ; 3次方bbs.mocwww.com0 v) w8 T; W6 v* r; y
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
' E$ C/ I+ p: O5 ~ I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6bbs.mocwww.com$ _7 Z* I4 e6 t8 P
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j妖城在线论坛 \( i. U) F/ r1 o- T$ y% h. H
.text:080740B6 ; CHAR_GetLevelExp+2Fj
6 R5 Z$ [* x/ D( T妖城在线论坛.text:080740B6 leave
/ V' d& B/ Z! S$ V$ _8 O# B9 K妖城在线论坛.text:080740B7 retn
2 w J6 J. E. o; L& _5 S( ?9 D- _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 ; ---------------------------------------------------------------------------
; T& @5 j) u! |. O. ?.text:080740B8妖城在线论坛( R/ W5 z/ e& O {3 r
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j& j- F4 b+ p6 p
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
. @: l5 Z3 ?1 D, T. d7 P魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; 游戏内看到的是一个 - 号
) [4 O a% E# L4 b7 F5 r% }bbs.mocwww.com.text:080740BD jmp short locret_80740B6 ; 函数结束bbs.mocwww.com a5 S! C4 c' E" T+ V
.text:080740BD ; ---------------------------------------------------------------------------1 ~& _3 V) K# [( Z+ G8 J' ?
.text:080740BF align 10h9 `6 n- q) L* G( y3 _- ?9 @( r4 X* C
.text:080740C0
2 F- }# B7 w" D4 d/ f妖城在线论坛.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" i+ q8 ~, N: n' a; D" M8 C {1 @' j0 @
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
P. |; w: T# e1 Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0 ; 即LevelUpTbl妖城在线论坛2 W7 s& W: _3 w* g, N! o
.text:080740C7 jmp short locret_80740B6 ; 函数结束妖城在线论坛5 f- [4 D% ?0 Z5 e: y
.text:080740C7 CHAR_GetLevelExp endp
9 r' a7 E* K; J" A$ c) d.text:080740C7妖城在线论坛; `: Q3 L1 w# ?- w- ]8 }
.text:080740C7 ; ---------------------------------------------------------------------------
; Q. o. b6 _% Y- p3 X% Xbbs.mocwww.com
% V" l: J6 S) c9 \- i- t8 ~7 d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 z7 ^* @! k' E! M- i8 ~
/ E8 h8 x$ Z3 M; \/ L0 i3 [bbs.mocwww.com[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|