|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
* j. I0 h" x+ Q! e7 L% `妖城在线论坛
5 P! h' _2 O. M- \) c4 w _—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
6 P+ w; T- E* ebbs.mocwww.com—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ c; E- T9 z3 ]$ s
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 x+ ]9 n' P: O
bbs.mocwww.com: a( u" o; V6 s; M, i$ l
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
7 T* Y+ n4 l0 u妖城在线论坛! U" ^- E0 r7 ]4 @% Q& B2 [9 J0 t z
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
C3 s6 |9 _0 xbbs.mocwww.com
5 }& b6 V4 v) h+ `bbs.mocwww.com同时希望将此贴置顶?……—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- |8 _9 t, e. |3 G) D! L3 M U9 @
A" \3 U( }% n# t4 g, t: O( K% g—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート注:需使用到 反汇编工具IDA
9 I( \8 ?$ i$ R( S魔力私服,最新魔力宝贝私服技术交流# [8 Y1 M) _' j" h# }9 |1 }
.text:08074098 ; =============== S U B R O U T I N E =======================================
- g2 P/ f. W! N! Q0 F.text:08074098—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) \$ b' f4 c! Y
.text:08074098 ; Attributes: bp-based frame. z* T0 b, `1 Y7 t5 U$ A
.text:08074098+ o9 \+ \2 y# t# N- F8 |
.text:08074098 public CHAR_GetLevelExp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート- g- G7 N& ?5 z& I
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42pbbs.mocwww.com% A, S: r% h& V) R$ _. k8 |
.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 p5 h& p1 h; f* }
.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com) y/ S. }4 V2 w& {# }, m% B. i( H
.text:08074098 ; PET_createPetFromCharaIndex+1BEpbbs.mocwww.com3 A$ l2 p8 R9 ]: Y9 ?$ s" `
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' j+ Q: B& X6 n8 I; X
.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
% R3 v5 c1 q# d9 J魔力私服,最新魔力宝贝私服技术交流.text:08074098 arg_0 = dword ptr 8
2 \9 P2 r: h1 Z; T6 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098魔力私服,最新魔力宝贝私服技术交流: K+ Q( U# o* Y1 V3 ^' a
.text:08074098 push ebp ; 函数功能:
' ~+ w' L; r6 Q6 o魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; 取得人物或者宠物下一级的升级经验值
& Y+ w% w( w6 J( K—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 入口参数:等级值
# {7 g4 d& E5 p! y0 u妖城在线论坛.text:08074098 ; 出口参数:eax即下一级的升级经验值
" P2 m+ Z" X! w; Q2 ?魔力私服,最新魔力宝贝私服技术交流.text:08074099 mov ebp, esp
, k! Y* X+ O# i x魔力私服,最新魔力宝贝私服技术交流.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
7 Z3 r1 l) O+ H! g魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:0807409E cmp edx, 78h ; 与78h即120比较
! N# [) `. p' ]1 X- S9 rbbs.mocwww.com.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转魔力私服,最新魔力宝贝私服技术交流" S6 j! j* m" r. ^% m/ U$ Z8 n( w
.text:080740A3 cmp edx, 82h ; 与82h即130比较魔力私服,最新魔力宝贝私服技术交流$ F! O$ c4 h2 c; p9 Y; ]( F0 u
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
' \. g$ x, @, Q: X8 }6 p9 T—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740AB mov eax, edx ; 否则将等级值放入eax
4 `/ R. w+ j" F4 \妖城在线论坛.text:080740AD imul eax, edx ; 2次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 O# w" a5 p4 y7 @( A
.text:080740B0 imul eax, edx ; 3次方妖城在线论坛8 F5 k0 O9 d- O: W0 h& M7 J# b; C8 f
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方魔力私服,最新魔力宝贝私服技术交流2 G; O- @( z5 ^8 U
.text:080740B6魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 U8 {5 X2 ^% t) v! M
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
2 U( |: q9 r% C1 z1 O, I- M" ^魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 ; CHAR_GetLevelExp+2Fj
+ J7 @2 V3 y" U( z.text:080740B6 leave
/ _- X0 }* y2 `$ Y. R3 i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B7 retn
' j7 L3 H! v& C.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流" g9 v$ c% B' y6 |
.text:080740B8
( R# j# \, a4 @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
5 r, u# U8 K2 Z' _( R, Obbs.mocwww.com.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
2 B+ R9 X4 ]/ I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 ; 游戏内看到的是一个 - 号魔力私服,最新魔力宝贝私服技术交流7 Q' d+ h& {. A4 W6 X; y6 l
.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* T# L8 E2 }9 P# V+ q
.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 {- N2 V% _" X# ~3 p' E) D
.text:080740BF align 10h
% ]6 t" q3 I+ \; j7 n5 a3 b魔力私服,最新魔力宝贝私服技术交流.text:080740C0妖城在线论坛4 C* Z: o; ~: b; ]% x# C6 ?
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
5 x( O& V1 \* ] N+ \5 Gbbs.mocwww.com.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表bbs.mocwww.com. Z0 h% N. M7 [0 U; h' F! t
.text:080740C0 ; 即LevelUpTblbbs.mocwww.com5 ^/ V9 w& {; j
.text:080740C7 jmp short locret_80740B6 ; 函数结束
3 @$ x. p; m( W# X! M—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7 CHAR_GetLevelExp endp魔力私服,最新魔力宝贝私服技术交流7 Q7 ]- g# T: G$ m
.text:080740C70 [/ V' U+ y& d: w. I' l0 Z
.text:080740C7 ; ---------------------------------------------------------------------------
0 S5 v: o7 N- {- }妖城在线论坛
, n* ^% ]5 r8 o. q4 \+ g# n* \魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
9 r! [9 }/ `, z4 Z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛4 P# l" {1 B2 @+ W7 a
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|