|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
^) C/ y* F1 Q2 \5 \; U妖城在线论坛—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( B8 L: X p5 I% P
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁妖城在线论坛$ I j7 c/ P1 g+ s
B" A n. c5 f# m
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后魔力私服,最新魔力宝贝私服技术交流9 V1 d! V1 J: m
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 z* ^: t! v( B9 [
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
+ w2 R, P0 r3 R0 `/ l) W1 }) F Y4 A
) T% y6 `% C; E. M妖城在线论坛为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!妖城在线论坛/ R9 X) Z9 @1 m* N6 I+ m
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. S4 Y) \( i. y; x7 p1 Q
同时希望将此贴置顶?……魔力私服,最新魔力宝贝私服技术交流+ K: N5 f% H$ j/ o! c0 B
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート; |/ X% H; h, [; g; Y" c* I
注:需使用到 反汇编工具IDA魔力私服,最新魔力宝贝私服技术交流4 h/ U& m6 d5 K- F. o
: c* Z! e0 Z, S @( O, \5 _ M妖城在线论坛.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ Q' o4 F) m5 l5 v0 b% v4 g% ?
.text:08074098—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート+ |5 U$ W. f6 a2 S- s; a3 l
.text:08074098 ; Attributes: bp-based frame
1 Q0 @( ` C* t5 V+ I7 U4 w妖城在线论坛.text:08074098
' Q; ?. G$ f2 B% O—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 public CHAR_GetLevelExp
( a/ `; O: ?6 B: C! I+ Y+ k; _bbs.mocwww.com.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p2 n- y D0 d" U6 Z
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ J# m1 Q& n6 G. V8 W
.text:08074098 ; CHAR_make_KP_String+5AAp
1 }$ S" r5 w% Y5 B6 C1 K.text:08074098 ; PET_createPetFromCharaIndex+1BEp魔力私服,最新魔力宝贝私服技术交流5 w4 W, P$ y* d% e! x. r
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p; Z! Y9 X% E3 `, C8 u
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
2 R) J: R* H6 ~8 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 arg_0 = dword ptr 8
/ k, B, \2 z$ D5 Z+ L1 f8 S# ]% O6 ?. Cbbs.mocwww.com.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" f% f+ R1 s; q! D' r" A9 u9 e
.text:08074098 push ebp ; 函数功能:魔力私服,最新魔力宝贝私服技术交流8 O x; N: Q1 u
.text:08074098 ; 取得人物或者宠物下一级的升级经验值魔力私服,最新魔力宝贝私服技术交流( I: h* T% H D' l$ }3 k8 P1 I
.text:08074098 ; 入口参数:等级值
1 {- S8 x# g8 [" ]2 c- vbbs.mocwww.com.text:08074098 ; 出口参数:eax即下一级的升级经验值
+ p* y# ]: w6 i) y* r1 k% A.text:08074099 mov ebp, esp妖城在线论坛3 \* `. H) f% {4 M! i
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里妖城在线论坛/ c, p( v0 Z" f% ~
.text:0807409E cmp edx, 78h ; 与78h即120比较
8 V+ C( a. K+ a5 \% n+ w9 C' \$ m妖城在线论坛.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转/ _; f& {) d! {9 q* B
.text:080740A3 cmp edx, 82h ; 与82h即130比较
0 q2 k/ b9 M0 ]( G6 F5 Y$ J, J/ s& z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A9 jg short loc_80740B8 ; 大于则跳转妖城在线论坛/ d/ O* w8 s0 `7 z" ~" Z$ _
.text:080740AB mov eax, edx ; 否则将等级值放入eax
/ ?) q9 B3 c2 ^% B H, ?9 Y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740AD imul eax, edx ; 2次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 y. y! V7 Z5 E4 D
.text:080740B0 imul eax, edx ; 3次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 |/ e/ V7 F- s) a' d
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
3 ^2 `3 m& v* N' y2 mbbs.mocwww.com.text:080740B6
+ a1 F+ i J4 O. Q4 h.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j# _- q( o. n5 B; U( y# y. @
.text:080740B6 ; CHAR_GetLevelExp+2Fj) D, d0 K2 G; c1 C7 g0 a7 z
.text:080740B6 leave
/ L- |) j0 d F$ i U" w% U.text:080740B7 retnbbs.mocwww.com5 @/ L8 D. ^- m! U1 a1 T7 A
.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流 V5 {0 D8 v+ Q+ D
.text:080740B8
% m2 w! T. H4 C1 C( O; ~5 ?+ K魔力私服,最新魔力宝贝私服技术交流.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
$ s2 C6 W0 t4 E妖城在线论坛.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1妖城在线论坛/ U" [0 S* Q: |4 j
.text:080740B8 ; 游戏内看到的是一个 - 号魔力私服,最新魔力宝贝私服技术交流3 P( M9 {0 S+ g2 c& I6 X' Z
.text:080740BD jmp short locret_80740B6 ; 函数结束bbs.mocwww.com4 \1 s- X! o7 H2 x
.text:080740BD ; ---------------------------------------------------------------------------# z. n2 g5 Z0 K4 A. a) y3 \# T
.text:080740BF align 10h
0 Z1 s: B2 H5 u: J" W' n& \2 G—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C0魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表' H% l! i; ^1 ~& Q1 j. K( [( I* A
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
' }& P5 }8 T# H9 |# L魔力私服,最新魔力宝贝私服技术交流.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表$ x8 Q& z2 F0 g @% o: o0 q
.text:080740C0 ; 即LevelUpTbl—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ R8 w% b3 q( ?8 x, X
.text:080740C7 jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, ^2 S# W, S3 h8 N6 |+ I: `
.text:080740C7 CHAR_GetLevelExp endp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ U% V6 p/ B8 x- F2 E
.text:080740C7魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# A, B! T! r8 r" \0 x' Y/ R: h
.text:080740C7 ; ---------------------------------------------------------------------------
# {0 Q' F3 V1 P1 Q魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表妖城在线论坛: f1 b! l+ H( [( j. {
. Y! d) k5 E% i7 y" y魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! K/ Z& y( r5 e0 U' X
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|