|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小bbs.mocwww.com0 V3 a* H8 L0 Z9 A3 C1 i3 i2 P9 K
* N9 g3 C% y4 P5 y2 Ybbs.mocwww.com在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁bbs.mocwww.com' k Y/ k0 M& F/ S; N/ l- i
- b+ u; }0 ~. B; D9 L1 d5 h5 ]$ L
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
7 c G! i3 B( D% {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
9 D! {% A2 m' v我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 w9 E6 L: f2 D: V8 ]
bbs.mocwww.com K) m6 O* i7 D) { j; b
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
3 J9 i7 B) q, n% k9 N: Pbbs.mocwww.com—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% V1 c' K/ K R( ^3 E
同时希望将此贴置顶?……
. f- b1 S# R6 E7 }/ O" i3 b V' Vbbs.mocwww.com
+ N$ {: }4 u. h/ F—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート注:需使用到 反汇编工具IDA
; u: i: k' T% |7 \7 o8 o妖城在线论坛
7 s1 f( p# ^, N* S) X' j妖城在线论坛.text:08074098 ; =============== S U B R O U T I N E =======================================
2 i) q6 b1 Y5 y8 P0 d魔力私服,最新魔力宝贝私服技术交流.text:08074098
' t# b$ e* L$ j$ |. S* B; }魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; Attributes: bp-based frame妖城在线论坛8 A% ^2 p# Y1 u5 |4 b/ V
.text:08074098
`: D# n' m' j& V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 public CHAR_GetLevelExp" [; S2 t$ A! h0 A2 E% S C" N
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p妖城在线论坛, p& L2 Q) s0 H
.text:08074098 ; CHAR_make_CP_String+517p
# O" W9 o! c% D. _* o( P& j/ K妖城在线论坛.text:08074098 ; CHAR_make_KP_String+5AAp
" f$ ?$ R2 v* ?& `8 f7 F5 a' J5 x—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; PET_createPetFromCharaIndex+1BEp
6 h6 f. v: K4 k6 e" q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p妖城在线论坛3 j& R+ i7 d* F
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
- B* g. s9 h8 v: Z' ?% _/ t" g魔力私服,最新魔力宝贝私服技术交流.text:08074098 arg_0 = dword ptr 8
5 q' p" S' `1 {4 L5 S* v4 F' O/ O魔力私服,最新魔力宝贝私服技术交流.text:08074098
. U* |5 s3 o, V! Lbbs.mocwww.com.text:08074098 push ebp ; 函数功能:bbs.mocwww.com9 h0 l2 M8 n( F. a5 J. F
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
6 m( v; O: Z" O* x妖城在线论坛.text:08074098 ; 入口参数:等级值bbs.mocwww.com0 v* |2 ]) I5 i0 {) j
.text:08074098 ; 出口参数:eax即下一级的升级经验值—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 f+ J$ ?: t# |9 k' S
.text:08074099 mov ebp, esp魔力私服,最新魔力宝贝私服技术交流- r) a0 M' I8 v4 j% J- a) E
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里/ E( {' z% _- n* {, ^! l1 C% c1 _
.text:0807409E cmp edx, 78h ; 与78h即120比较
% S1 r' S) F& @) K魔力私服,最新魔力宝贝私服技术交流.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
+ C# ^0 M0 ]0 u V! p) y( @妖城在线论坛.text:080740A3 cmp edx, 82h ; 与82h即130比较
2 R; B! B: F* \1 O5 L.text:080740A9 jg short loc_80740B8 ; 大于则跳转bbs.mocwww.com- f1 L" M5 ^) p3 f; S% _: V8 J
.text:080740AB mov eax, edx ; 否则将等级值放入eax
. E$ b u: r+ [, ~7 M) H5 |魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AD imul eax, edx ; 2次方bbs.mocwww.com% O/ ?5 q) F3 e* ]* _" X9 t
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力宝贝私服技术交流: E2 g. C# P- r+ ~9 s+ X U
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
- U$ ?0 m: \4 z0 N( s& k, b, ~魔力私服,最新魔力宝贝私服技术交流.text:080740B6
" n$ R y; X/ m" U1 u/ d9 `.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" Q; C5 R* P. t+ [4 ^# P: Q1 S) J/ I
.text:080740B6 ; CHAR_GetLevelExp+2Fj妖城在线论坛: x& R+ I3 A8 H0 P! I
.text:080740B6 leave—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 P: a/ U7 i( `. E
.text:080740B7 retn
! T! T, J4 B" C% ?魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ \; E+ O/ z3 ^; P. F
.text:080740B8魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 w/ @. Z! C Y3 b: n
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j魔力私服,最新魔力宝贝私服技术交流1 \8 t8 M5 C7 O4 q: \
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1魔力私服,最新魔力宝贝私服技术交流. m" U, D$ n+ r" _! X9 N! g
.text:080740B8 ; 游戏内看到的是一个 - 号
7 T/ |; {7 V5 |9 a& h.text:080740BD jmp short locret_80740B6 ; 函数结束
) y! @: [# P* U; xbbs.mocwww.com.text:080740BD ; ---------------------------------------------------------------------------
3 G# K% s7 C. b' @4 a1 D1 i.text:080740BF align 10h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, ~, N0 l) w" m
.text:080740C0
" @& {! {" j: L) r5 O魔力私服,最新魔力宝贝私服技术交流.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
# u8 o' I+ g) V+ H( ?魔力私服,最新魔力宝贝私服技术交流.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
8 }; D+ y2 p( j: L7 R6 b.text:080740C0 ; 即LevelUpTbl
" i1 c2 A2 L! i$ ~8 z魔力私服,最新魔力宝贝私服技术交流.text:080740C7 jmp short locret_80740B6 ; 函数结束
7 }4 @; G* \. Y5 Z+ \妖城在线论坛.text:080740C7 CHAR_GetLevelExp endp
0 L. t0 h; G3 I6 a/ }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- M) @0 i8 w1 N8 M c8 Y" m, o5 ]
.text:080740C7 ; ---------------------------------------------------------------------------
( I+ Y2 u" R$ K8 _: j! _& F& m8 K! d妖城在线论坛妖城在线论坛# B2 x2 U6 ]' \& y* q6 ^
+ p" |4 @5 s9 |5 S. V; z- w魔力私服,最新魔力宝贝私服技术交流
% E6 ^/ H% ?+ d+ Q" b6 U' B妖城在线论坛[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|