|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小bbs.mocwww.com8 i" J! w/ w+ P+ }- i/ B6 V: ~
妖城在线论坛! S4 m& d7 v$ Z$ J$ ~+ { m
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
* w. M. Y5 z( g& _ C* H6 g3 l—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com4 u( f1 b# K' N) m$ k }
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后7 q2 {0 L, m! J$ u
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 f$ S& N1 w# X) P: M, s
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
+ E" k; g5 p8 z+ H
% N7 D+ r' b9 D& s, q' v& a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
# p h* R2 m+ |3 l1 z/ K+ ibbs.mocwww.com
* k7 P) j& `/ r2 D( k魔力私服,最新魔力宝贝私服技术交流同时希望将此贴置顶?……
0 h$ J4 k! I3 k. P' }" t1 S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com0 ]' ?& n( z: \6 @
注:需使用到 反汇编工具IDA
. s9 O) N' M# m! C1 s—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲートbbs.mocwww.com4 G) s1 |$ { d ]+ C; C- A
.text:08074098 ; =============== S U B R O U T I N E ======================================= G8 h# \1 [* `
.text:08074098bbs.mocwww.com+ u! {* G- A; H( l) T( Y% p
.text:08074098 ; Attributes: bp-based frame
6 }* C; V5 H( A/ M* P E* a* G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098# b3 N1 {' J: X
.text:08074098 public CHAR_GetLevelExp
$ v8 Z0 t$ q' d) Qbbs.mocwww.com.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p魔力私服,最新魔力宝贝私服技术交流, L; K4 p" W7 ] E9 T. Q/ k+ T
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表8 ]6 m4 P4 j; W
.text:08074098 ; CHAR_make_KP_String+5AAp
; g; y7 h0 }0 t- Hbbs.mocwww.com.text:08074098 ; PET_createPetFromCharaIndex+1BEp妖城在线论坛3 w q d' a% ]4 j* ~1 _5 u
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p妖城在线论坛' b7 d/ J* C" |5 A- e7 ?' f
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
+ D* G( u* Z3 ]% `( J魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 arg_0 = dword ptr 8
; c; j1 G2 F' Q7 U* h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098魔力私服,最新魔力宝贝私服技术交流& T# V6 }* F: R
.text:08074098 push ebp ; 函数功能:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" [; q: d( z+ @9 G' q
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
, `$ N( M& R1 ^2 N! l1 r妖城在线论坛.text:08074098 ; 入口参数:等级值
0 P. c& D3 h6 S2 t$ {& Y- C+ E) j妖城在线论坛.text:08074098 ; 出口参数:eax即下一级的升级经验值
+ j! G: I. ]4 j9 {.text:08074099 mov ebp, esp
1 r0 c# R* C( A- U5 {妖城在线论坛.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里妖城在线论坛5 o* r2 _6 R/ w" a
.text:0807409E cmp edx, 78h ; 与78h即120比较魔力私服,最新魔力宝贝私服技术交流0 L) ~; v8 b6 ]# @8 e5 o$ M3 q' J0 H
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
7 z- d0 D$ u# |8 Z' L7 ^( Z- i妖城在线论坛.text:080740A3 cmp edx, 82h ; 与82h即130比较
- V: k/ E" u* mbbs.mocwww.com.text:080740A9 jg short loc_80740B8 ; 大于则跳转bbs.mocwww.com! C F) r* F9 F) Z
.text:080740AB mov eax, edx ; 否则将等级值放入eax
8 ?' j" t3 r t! Z; e {5 T. a8 l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AD imul eax, edx ; 2次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' J4 q8 ^5 H p9 S4 H- L7 ^: ]! \: r; Y2 q
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力宝贝私服技术交流2 [( k* j/ S+ \' G5 s8 S
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方魔力私服,最新魔力宝贝私服技术交流, h6 ? r' a4 z' p0 L4 l0 u
.text:080740B6—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 |; S+ w# w; x# r% O# x2 Q
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
9 X8 |$ J, \; ?: Z8 k; @# [2 c3 ubbs.mocwww.com.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力宝贝私服技术交流6 @+ g$ d3 u6 Q# b5 v! {0 x
.text:080740B6 leave
/ K: ?: `: t! T) W* M" A# Q0 M—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B7 retn妖城在线论坛: C( n/ k$ L, Y
.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流6 P) t7 O) D) A1 c8 ^
.text:080740B8妖城在线论坛) `1 O; x( e% p6 v/ {" _) v0 f1 `
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
" J7 _% M4 i) ~1 z7 X.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
8 F( H9 {; N4 ]$ S, N9 X: C魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 ; 游戏内看到的是一个 - 号
% u5 k$ U ]1 y# D4 Q9 L- ]1 \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD jmp short locret_80740B6 ; 函数结束
; S9 A- N6 S- B9 ~魔力私服,最新魔力宝贝私服技术交流.text:080740BD ; ---------------------------------------------------------------------------妖城在线论坛, q) ^( z( m; |0 k* Q" J
.text:080740BF align 10h
. M( ~" D& L( n+ t魔力私服,最新魔力宝贝私服技术交流.text:080740C0
( M! h, ?( I. t魔力私服,最新魔力宝贝私服技术交流.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
5 ~8 y& A' K# U6 S2 O% b1 R4 r6 w. n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表魔力私服,最新魔力宝贝私服技术交流; ~9 O! \5 N4 e+ F% u
.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力宝贝私服技术交流3 {( @) R7 ^- T& M4 L( v
.text:080740C7 jmp short locret_80740B6 ; 函数结束
+ a# Q% K( w! D4 d魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 CHAR_GetLevelExp endp妖城在线论坛8 X5 o+ [$ Q3 F6 q5 l! k1 S
.text:080740C7
7 O3 G y2 k, tbbs.mocwww.com.text:080740C7 ; ---------------------------------------------------------------------------
# s: U2 ~5 o+ S- j# @/ Q/ T( s M魔力私服,最新魔力宝贝私服技术交流妖城在线论坛' k/ z5 f9 z" a
魔力私服,最新魔力宝贝私服技术交流* R/ ]) b I4 J$ ~
4 V( M: G6 ^4 h4 e' P) Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|