|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小妖城在线论坛& l: }! Z# z6 e9 \+ f
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" N( T( q$ m3 G% Y! I
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁bbs.mocwww.com' j7 l% S4 Z0 v; B7 {1 ]
% K- U+ s! u8 Z6 @% r2 g" g0 wbbs.mocwww.com我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
) {5 h3 h7 a. Y5 ]5 Y: O妖城在线论坛
, g( x# ^( P: Z: N" \bbs.mocwww.com我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
$ y# x" X" x4 ]* }& n9 R L* T' K
; \8 E5 v( D5 Ybbs.mocwww.com为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* E% |# D* J: C- }
' l" S9 l! u2 @; B- _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表同时希望将此贴置顶?……
6 i% n' M* r5 `0 o% f魔力私服,最新魔力宝贝私服技术交流bbs.mocwww.com* }% V9 v6 k1 M6 ?9 D/ F# J
注:需使用到 反汇编工具IDA
1 Y1 y N/ }& _ T' ]bbs.mocwww.com
0 O, Y. \* a+ |& n2 k' y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 @8 g6 m% s3 i# m( F' w3 b
.text:080740988 `; I) M* R& \
.text:08074098 ; Attributes: bp-based frame
3 M/ p U7 y; s3 i+ M7 A7 t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098
5 G8 w! }) K* i# E4 y! f妖城在线论坛.text:08074098 public CHAR_GetLevelExp
& ?! P/ ]( M/ @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42pbbs.mocwww.com; I1 E. c% Z( R
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力宝贝私服技术交流- h1 D* _1 e# M0 L
.text:08074098 ; CHAR_make_KP_String+5AAp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート& G( x: P5 ]; F* G
.text:08074098 ; PET_createPetFromCharaIndex+1BEp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ E0 [1 M, j; Z5 H( S$ `
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p. }8 Z$ o6 x6 a) Z
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数( o9 \+ x ?, n. l2 L6 I9 @7 u, H. l
.text:08074098 arg_0 = dword ptr 8
* c0 \3 B# N* i: P. q, D; bbbs.mocwww.com.text:08074098bbs.mocwww.com6 a' y% o" S" D9 L
.text:08074098 push ebp ; 函数功能:妖城在线论坛 t0 I7 K; e' T$ W [
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
# k* O: x' H& a. c" I8 ~—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 入口参数:等级值妖城在线论坛* _7 ?' A4 f- ~9 l
.text:08074098 ; 出口参数:eax即下一级的升级经验值
7 E% @) e( |- i" t妖城在线论坛.text:08074099 mov ebp, esp
( g B4 `4 b$ q# ]妖城在线论坛.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里4 U5 Y& s0 l2 k+ [; O0 e
.text:0807409E cmp edx, 78h ; 与78h即120比较
* `6 H& s: y8 s0 X: \5 pbbs.mocwww.com.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转bbs.mocwww.com/ Z0 E4 b( R8 {" L6 p/ G/ E" }. z
.text:080740A3 cmp edx, 82h ; 与82h即130比较
: G s. e" Q; l4 @/ P妖城在线论坛.text:080740A9 jg short loc_80740B8 ; 大于则跳转魔力私服,最新魔力宝贝私服技术交流) E4 k# r& t+ j4 y
.text:080740AB mov eax, edx ; 否则将等级值放入eax—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ q k0 X7 o/ f8 N+ d- _! n
.text:080740AD imul eax, edx ; 2次方 ?; I: B3 z3 _( F* l
.text:080740B0 imul eax, edx ; 3次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( D8 s4 a( [, u6 ~
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
1 ?& G' t" T9 z& e! \.text:080740B6妖城在线论坛7 T4 C( P6 j7 W, ^" w$ t9 y" S w7 b
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
# \$ D- G- T! B7 Q* V, Pbbs.mocwww.com.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力宝贝私服技术交流; Q) `4 k; o5 `' P
.text:080740B6 leave
, @, E* }* P$ ?) X$ T$ j妖城在线论坛.text:080740B7 retn
7 A2 w! R( V' U- x% [' ]" L8 J魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; ---------------------------------------------------------------------------
2 {- L8 O0 E/ P8 k: }: [魔力私服,最新魔力宝贝私服技术交流.text:080740B8魔力私服,最新魔力宝贝私服技术交流3 i2 X4 F, F* }; }) h
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
2 t5 j; \0 v1 B9 S( u3 Rbbs.mocwww.com.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! W+ R* d1 z# w
.text:080740B8 ; 游戏内看到的是一个 - 号
2 }( Y9 ]) Y5 ]; N* u! `魔力私服,最新魔力宝贝私服技术交流.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力宝贝私服技术交流/ U1 f n- r0 u+ Y5 f! B
.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 I `% e1 \+ L
.text:080740BF align 10h
5 `0 D+ k( I4 E; U+ e; P妖城在线论坛.text:080740C0
( {5 }" d2 l$ p, D c$ j# [6 T* ~6 A妖城在线论坛.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
, b+ `; {( ?' q+ b% D.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表% Y7 E8 } c y3 g$ _
.text:080740C0 ; 即LevelUpTbl
2 n0 ~& l- n* J& r9 a2 V魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 jmp short locret_80740B6 ; 函数结束
% k+ x6 g- [; Y' _8 y h0 X/ T妖城在线论坛.text:080740C7 CHAR_GetLevelExp endp妖城在线论坛: _+ q, Y' H1 |. W, H7 i; G
.text:080740C7—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" k! J, V6 ^* _' s& n+ S7 `! v+ \6 W
.text:080740C7 ; ---------------------------------------------------------------------------bbs.mocwww.com M. z) H, p! D% ?
8 }* k5 J( D4 o0 q2 G魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流$ z6 L" @* N' Q8 k! N. \
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 `) @+ p, x6 a/ l
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|