|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
, f$ Q* N& f1 _$ K/ c2 V妖城在线论坛bbs.mocwww.com' @2 a# Y" y5 G6 \8 a
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
+ P7 D$ ]% I2 M+ S& W& P魔力私服,最新魔力宝贝私服技术交流( D% F% ?; w$ q2 x
我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com* J3 I, U9 {' B7 a- U+ o! w( C/ X
$ Y* n3 m' W- x r* X! R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!妖城在线论坛% H. E1 i" X2 {! [, l) X' N- C
bbs.mocwww.com+ W8 A: C% {5 ?# T+ N+ i
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ k. j6 K# Z' w% P
妖城在线论坛; u, ]5 H) A L% n9 f) Y9 w5 W
同时希望将此贴置顶?……
$ k+ s! l& e# s% C. S妖城在线论坛
8 `- T+ ^. F$ B; M+ G) u! ~' \/ D妖城在线论坛注:需使用到 反汇编工具IDA魔力私服,最新魔力宝贝私服技术交流: F! s. I( }* Z- X5 Y) e0 w$ X& s. o
bbs.mocwww.com% H* ~/ L" ?/ A' [0 m
.text:08074098 ; =============== S U B R O U T I N E =======================================bbs.mocwww.com, @$ h6 @/ Y% m* S+ q/ w6 u
.text:08074098
5 w1 m' O" @ ]3 s魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; Attributes: bp-based frame妖城在线论坛2 I. H+ I5 j+ e+ f' d7 [
.text:08074098妖城在线论坛; B6 H* W8 Z& ?/ B
.text:08074098 public CHAR_GetLevelExp
# m- Y* s5 H$ D, F3 K, @7 i; ~bbs.mocwww.com.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
) I% N7 r8 q; p0 Q* e) i魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_CP_String+517p魔力私服,最新魔力宝贝私服技术交流( u& B; m5 |- d) V
.text:08074098 ; CHAR_make_KP_String+5AAp魔力私服,最新魔力宝贝私服技术交流! }3 Q4 t5 m, Q, v
.text:08074098 ; PET_createPetFromCharaIndex+1BEp
0 R2 g0 N) p2 p" Z- I) W$ m% _* g.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
5 I* \; E4 E2 dbbs.mocwww.com.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
$ t7 Y7 z6 o" i. v.text:08074098 arg_0 = dword ptr 8
& k( \3 q% Z2 ~/ l8 T* rbbs.mocwww.com.text:08074098
6 V, G2 u" J1 y/ E魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 push ebp ; 函数功能:' w. n* K( r: q
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
, u% S6 f! c. z$ a.text:08074098 ; 入口参数:等级值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 a& {7 c# x7 ?' _0 k0 [) l
.text:08074098 ; 出口参数:eax即下一级的升级经验值
0 Q. C9 E# Q, H) ^妖城在线论坛.text:08074099 mov ebp, esp魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& H' h' ~/ d7 n# ]% }# ?
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里魔力私服,最新魔力宝贝私服技术交流$ r" z$ X6 Y/ O) z; P- U# b
.text:0807409E cmp edx, 78h ; 与78h即120比较# ~% c# x6 t2 I9 I% [
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
9 X" |% _ ^5 i4 @* E5 K魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A3 cmp edx, 82h ; 与82h即130比较
$ g. w6 H M, J9 d1 K妖城在线论坛.text:080740A9 jg short loc_80740B8 ; 大于则跳转妖城在线论坛2 E# w1 u5 b c" I5 u- d
.text:080740AB mov eax, edx ; 否则将等级值放入eax
) i' o3 ] E9 M) h魔力私服,最新魔力宝贝私服技术交流.text:080740AD imul eax, edx ; 2次方
0 B* `: [4 Q: K* n妖城在线论坛.text:080740B0 imul eax, edx ; 3次方—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" @% A D+ s- R1 _$ a
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
! J3 [7 ^& Q$ W" C/ D& h.text:080740B6bbs.mocwww.com* H9 a! x a5 v# v W4 {; j
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート6 |; T% k+ L1 x" K- s0 ?6 O }
.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" E# I: B" X1 V1 W
.text:080740B6 leave
& y0 d% {3 j3 k; j.text:080740B7 retn魔力私服,最新魔力宝贝私服技术交流) t, N; _+ t8 p' c
.text:080740B8 ; ---------------------------------------------------------------------------妖城在线论坛. V9 a, c* k8 F. |) B. Z j
.text:080740B8
$ R- Z5 U3 j( n- ]$ O l.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j妖城在线论坛* y+ o& H: g Z% h( U0 N
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
. ~: B! V. s/ v9 j魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; 游戏内看到的是一个 - 号魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# g4 S8 Q( v. k
.text:080740BD jmp short locret_80740B6 ; 函数结束
" W+ r) x$ \. Z# V3 V' H, u( z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD ; ---------------------------------------------------------------------------
- \0 }' o, \6 V+ j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BF align 10h
$ Q$ f6 j1 C) @/ L' v魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0
. Q, ^9 |; g7 J8 e魔力私服,最新魔力宝贝私服技术交流.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
0 R! C& F$ ~7 R/ M# {bbs.mocwww.com.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
( H0 r* s9 a u$ ]; N& Q* dbbs.mocwww.com.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表4 a/ |5 b0 O; V( M- [/ F! {
.text:080740C7 jmp short locret_80740B6 ; 函数结束
# y; S9 U4 \' o% X0 U; h—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7 CHAR_GetLevelExp endp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート' k4 A# r( Q1 R3 J
.text:080740C7魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% [/ L, D) V3 c0 X/ s, o( |
.text:080740C7 ; ---------------------------------------------------------------------------
$ D$ `5 \& g' H2 Sbbs.mocwww.combbs.mocwww.com9 d r1 u3 ^4 A3 S# X
bbs.mocwww.com) R/ z6 e s+ N# i
魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 B! u! Q4 V+ h& V6 ^
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|