妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
' U) c3 G' l5 N+ p6 gbbs.mocwww.com
7 y$ F1 s* [* X: s; I魔力私服,最新魔力宝贝私服技术交流在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
7 t2 ]$ O; [: r: a5 M0 S8 l
- E4 B! @( q8 Y! W/ T1 Y# ^我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后 A( r0 i& A2 D
妖城在线论坛* m4 x( ?$ w E# W# n+ V' M4 ]/ j
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!bbs.mocwww.com/ a6 o& B, I; j
bbs.mocwww.com; U6 C0 f: O: o8 A: g5 D0 `, Y5 {) ^
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート( R( l: @$ a' u. W6 i
+ V7 p& B2 ~, S" q3 j# X( }9 z同时希望将此贴置顶?……
9 t9 R4 {- @; X2 q/ | k6 c' W- x
K' R, t1 p! v/ b( H7 n; m1 c D魔力私服,最新魔力宝贝私服技术交流注:需使用到 反汇编工具IDA魔力私服,最新魔力宝贝私服技术交流; p( L# \8 c. ~; f+ a/ M
魔力私服,最新魔力宝贝私服技术交流3 Q/ X; k" ]! {* W* p! W6 w
.text:08074098 ; =============== S U B R O U T I N E =======================================bbs.mocwww.com( K o$ s' F, r
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; A$ H% r5 H2 G! f( H
.text:08074098 ; Attributes: bp-based frame
: ?* B) U& S( J3 g魔力私服,最新魔力宝贝私服技术交流.text:08074098—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 R3 Y$ e# R8 z( J6 z: {
.text:08074098 public CHAR_GetLevelExp
# ?' V3 d& b( Z妖城在线论坛.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
1 j! |! o( C! {' _9 M$ b.text:08074098 ; CHAR_make_CP_String+517p
D3 `0 f: \! a' E魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com3 D' L" b8 O: s8 t
.text:08074098 ; PET_createPetFromCharaIndex+1BEp
) V- @. y1 M6 b* o) h9 x* L魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
9 d7 b1 T$ P& W9 Dbbs.mocwww.com.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. `3 J4 P+ c0 Y1 ^
.text:08074098 arg_0 = dword ptr 8魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表, W [4 C& g6 K! K' R. O% c+ d9 y
.text:080740985 @% k* E; `2 t! t
.text:08074098 push ebp ; 函数功能:bbs.mocwww.com! J4 e q. Z$ w" ]% C* W
.text:08074098 ; 取得人物或者宠物下一级的升级经验值妖城在线论坛4 o) \3 P [( V& G# x1 @* ~8 |0 l
.text:08074098 ; 入口参数:等级值妖城在线论坛; t3 e/ r0 {7 G/ m7 |* E
.text:08074098 ; 出口参数:eax即下一级的升级经验值
! W6 O% P a9 u' Y魔力私服,最新魔力宝贝私服技术交流.text:08074099 mov ebp, espbbs.mocwww.com) U& s' B* N) W; S" L, y. ~
.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
% E+ d1 Y3 ]/ p0 u- e% M6 {魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:0807409E cmp edx, 78h ; 与78h即120比较
A' S& I7 w0 g" R0 e魔力私服,最新魔力宝贝私服技术交流.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转bbs.mocwww.com E* s0 {! y: }1 |# @3 T6 k( z$ n
.text:080740A3 cmp edx, 82h ; 与82h即130比较
0 A$ }* x/ R. y. P {.text:080740A9 jg short loc_80740B8 ; 大于则跳转
6 ^! X: g7 E+ p: `3 a妖城在线论坛.text:080740AB mov eax, edx ; 否则将等级值放入eax
0 I6 t z4 _1 Vbbs.mocwww.com.text:080740AD imul eax, edx ; 2次方妖城在线论坛* G5 a8 R& j. e" o
.text:080740B0 imul eax, edx ; 3次方
, p/ d" C9 c: H1 A% \9 F& z( ?魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
f* ^3 n& Y; U' E$ y; H妖城在线论坛.text:080740B6—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート! q: \& y6 G! S8 Z H1 X
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
5 n9 V6 o& t$ Y) Q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 ; CHAR_GetLevelExp+2Fj
$ r5 H5 b0 {3 I3 }—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 leave
0 |* w! t9 P2 t! b' }; n* g6 X/ e/ bbbs.mocwww.com.text:080740B7 retn魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 O Q$ g9 |1 r
.text:080740B8 ; ---------------------------------------------------------------------------妖城在线论坛$ }# r; \( v- o6 [( R
.text:080740B8
* P, v+ c+ c6 j7 G魔力私服,最新魔力宝贝私服技术交流.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j) ^% G* W2 p! O! y& Q
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1bbs.mocwww.com7 x* ]- f+ K$ [ s; O. y( t
.text:080740B8 ; 游戏内看到的是一个 - 号
: p; l2 q; B5 @ G9 e* U6 {.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力宝贝私服技术交流" z1 {3 s; D; s4 i- f% {# V9 n2 V
.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流6 [& w1 a" j4 ?& z1 T) K, U
.text:080740BF align 10h
4 f5 f: @" I7 C, w+ |—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C0魔力私服,最新魔力宝贝私服技术交流3 R$ k5 W: K& K7 B6 N. w, W
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
" D! _( U0 R* Q) L魔力私服,最新魔力宝贝私服技术交流.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
: ^# r8 C0 n! } Bbbs.mocwww.com.text:080740C0 ; 即LevelUpTbl
/ N# b+ o+ e% r4 `$ T V) s, B& Y! T魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 jmp short locret_80740B6 ; 函数结束
( o" L$ o' ]% }9 r魔力私服,最新魔力宝贝私服技术交流.text:080740C7 CHAR_GetLevelExp endp
. `" o. ?/ ^$ Z6 o1 p3 Lbbs.mocwww.com.text:080740C7魔力私服,最新魔力宝贝私服技术交流% K- ?* H9 A6 E# y0 L
.text:080740C7 ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート% {7 @0 v* a+ W( X! D/ D
( [ k J7 L) `8 v$ I魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 S1 i2 V- O7 y+ @8 Z5 D2 v8 \
; l) E- C+ I1 a4 J7 }4 i* |; Z2 O5 c魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|