|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
; i; N$ O' V, \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- b( E7 i4 _: f" t2 P+ M
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁妖城在线论坛1 Q8 {; O' \6 m$ U0 m
! P9 r5 G) j& K, z. [妖城在线论坛我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后" @) X% r: z# l6 }* g
6 L( `8 V7 s C% z' \ G0 o—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!0 Q" j9 u( k* U" x
bbs.mocwww.com+ [- X5 O/ \; C6 _3 _" y) {8 ~
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!妖城在线论坛6 \1 O8 @& j. m3 v) q
, u1 d# s& a- J) X2 F魔力私服,最新魔力宝贝私服技术交流同时希望将此贴置顶?……
E. ^4 N; M& }, {2 L& [2 C; N妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! V8 f$ Q8 i0 t1 b
注:需使用到 反汇编工具IDA魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 U0 G/ ^$ x. t* R* p7 M
妖城在线论坛' e. Z; v1 r% p. A: w& f: ~
.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; Q7 V( T0 P! n: ]/ K: ^+ |9 F
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 P3 b. K8 }0 N, R& E- O0 l
.text:08074098 ; Attributes: bp-based frame
3 j2 }- b' P8 m7 B* ?2 {) e—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表- r5 }- _4 S* K7 U$ D
.text:08074098 public CHAR_GetLevelExp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 B, }$ ?2 p7 v* h# _/ D# f
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; N; W7 \ z0 j1 e+ K# J, w
.text:08074098 ; CHAR_make_CP_String+517p
& d( k3 M0 P$ b! Mbbs.mocwww.com.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com$ `: q1 }+ l6 P& u7 y+ x4 o
.text:08074098 ; PET_createPetFromCharaIndex+1BEp妖城在线论坛 S9 r7 e' P/ l
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
( w9 u7 \2 p( L% n; v4 p3 s.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
( a7 X5 D# n( N. {7 ]+ @; V2 _魔力私服,最新魔力宝贝私服技术交流.text:08074098 arg_0 = dword ptr 8
; y7 e+ H6 R+ w9 \0 A魔力私服,最新魔力宝贝私服技术交流.text:08074098
( P: V! E4 t+ s- H0 U5 @; i% T.text:08074098 push ebp ; 函数功能:—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* ~$ H+ g, ?4 r
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
2 n' K1 D, _: X4 W—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 入口参数:等级值bbs.mocwww.com8 _2 n9 y% Z6 h$ R4 e
.text:08074098 ; 出口参数:eax即下一级的升级经验值
- n1 Z" Q% r; I8 N: ~; K( G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074099 mov ebp, espbbs.mocwww.com7 _4 b# ^1 p/ s7 ?' [+ ?% I
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
( p$ K) N- N1 {7 M# y9 g6 {) \. _- u妖城在线论坛.text:0807409E cmp edx, 78h ; 与78h即120比较—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 S1 [ q) Q; l3 q
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& ^. K6 [$ l3 h2 H% T) D
.text:080740A3 cmp edx, 82h ; 与82h即130比较
. u# N0 L1 U. Y( j7 J1 U; bbbs.mocwww.com.text:080740A9 jg short loc_80740B8 ; 大于则跳转
2 i2 E8 h" V5 k Z- m—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740AB mov eax, edx ; 否则将等级值放入eaxbbs.mocwww.com! E& N1 A. g; j* h9 C1 l
.text:080740AD imul eax, edx ; 2次方7 V( `9 M4 U$ d3 m% x
.text:080740B0 imul eax, edx ; 3次方bbs.mocwww.com6 ~3 ?; W# [4 ^/ t
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
) D/ G9 v. d( Z$ Y3 _.text:080740B6
! r' L2 V% ~3 wbbs.mocwww.com.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. O/ ?' R7 g( @) k" X7 g
.text:080740B6 ; CHAR_GetLevelExp+2Fj8 D' K! F% ]0 l/ N6 K$ V
.text:080740B6 leave
! q- e$ T7 Y. p4 P* K/ f+ k—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B7 retn t" I0 x {, A+ n2 q9 j8 j
.text:080740B8 ; ---------------------------------------------------------------------------
* }/ q! g# Z8 w' r魔力私服,最新魔力宝贝私服技术交流.text:080740B8妖城在线论坛; f7 v4 s, |% n" I3 A1 G5 O
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
: P; _2 `) R! }: L7 M' P- t7 b& D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1bbs.mocwww.com) X8 x/ U7 ^* W' B1 v6 Q
.text:080740B8 ; 游戏内看到的是一个 - 号
) X# o% a% M: B8 G6 A.text:080740BD jmp short locret_80740B6 ; 函数结束
& ?$ e, K' [: d1 ]* m% V/ a8 n& B妖城在线论坛.text:080740BD ; ---------------------------------------------------------------------------bbs.mocwww.com$ L4 V$ y; }, d% `
.text:080740BF align 10h魔力私服,最新魔力宝贝私服技术交流+ L7 j) t& c1 I
.text:080740C0bbs.mocwww.com7 m2 ?# }2 I, Z. F+ E+ |4 D- A q
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
( [) F, R7 \' g) m$ R* Xbbs.mocwww.com.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
n& M1 E- _% B( G, \.text:080740C0 ; 即LevelUpTbl妖城在线论坛 W K# {$ t/ s% _5 B
.text:080740C7 jmp short locret_80740B6 ; 函数结束bbs.mocwww.com W8 S- c: g2 Z7 l
.text:080740C7 CHAR_GetLevelExp endp
9 T. c5 F& `" M7 S6 R2 Y妖城在线论坛.text:080740C7魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 B- p0 g* g6 |( l6 ~% e# H4 h
.text:080740C7 ; ---------------------------------------------------------------------------
8 j9 H: L* }7 K+ r! [妖城在线论坛
9 v7 O6 _; w2 _% [; B/ N( ~bbs.mocwww.com魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& W, N) Q5 Q0 t. b X7 ~
妖城在线论坛6 F: k5 V6 p; R( V& L& ~5 n
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|