妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート8 _, N# m( S A Q5 q/ k/ d
! d+ M9 @$ y" U$ Q# D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
" g! L3 h, c& z2 z- _5 t魔力私服,最新魔力宝贝私服技术交流
" c. Y. ]" D; s% c7 R M7 H& O7 z& J0 y- I魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
3 T( f2 o2 t. L; d6 v2 g; m3 D妖城在线论坛- N* f: j! j6 H) K8 W% m2 }6 A
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
% W) g: i4 S8 w7 ^& T) A妖城在线论坛魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 U" p8 q6 P: j. u
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート A$ z# D. C8 X0 g1 ?* D, y
妖城在线论坛0 N' e/ K* ~8 M7 j0 g2 M0 ~
同时希望将此贴置顶?……
2 _3 u% }+ O6 `9 Sbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流3 l/ k$ ^- \: c) Y b; P
注:需使用到 反汇编工具IDA
+ a3 F& L% M* u. X) C9 }2 c# v% obbs.mocwww.com
, r) N' ~1 f' B( X1 g+ b. K) {& D魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; =============== S U B R O U T I N E =======================================魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; b+ }, V" [+ k
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; {, ]4 H+ w" `; _1 p
.text:08074098 ; Attributes: bp-based frame
2 r8 N- Q* R2 y2 ]魔力私服,最新魔力宝贝私服技术交流.text:08074098
8 u; r* g8 U6 q9 b& X/ t! z妖城在线论坛.text:08074098 public CHAR_GetLevelExp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ `! S+ R% k" Q2 j7 C& ?
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
3 R. C+ {( ^4 T1 x妖城在线论坛.text:08074098 ; CHAR_make_CP_String+517p
3 Q1 s# a4 O1 s; ]$ @8 w: n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com; Z' S) v; Z9 J/ G8 k! |2 Z
.text:08074098 ; PET_createPetFromCharaIndex+1BEp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート/ t6 ]8 j6 F$ n" k, f
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
3 @# ^% H" V- {! h& E$ A# x魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
; f% o3 _% f$ c) V5 T3 o魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 arg_0 = dword ptr 8
* u3 y4 y1 l9 n7 s3 L& X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098妖城在线论坛' h7 W' [0 L5 u4 b
.text:08074098 push ebp ; 函数功能:
) I6 I# Z8 j: N* A' R: X妖城在线论坛.text:08074098 ; 取得人物或者宠物下一级的升级经验值
( G4 v x, h' o.text:08074098 ; 入口参数:等级值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表5 S4 H! i+ I# g% ^: i
.text:08074098 ; 出口参数:eax即下一级的升级经验值5 A/ i7 x: v2 d) P* n# G
.text:08074099 mov ebp, esp
, W1 ]( k1 L' \3 O& F2 w! }.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
, g, N( `! L& T# p6 M, v( W3 l魔力私服,最新魔力宝贝私服技术交流.text:0807409E cmp edx, 78h ; 与78h即120比较bbs.mocwww.com8 {" @" M. D; y5 C$ t% `! `
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
( |7 L! O: ]7 d+ Z& K9 {1 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A3 cmp edx, 82h ; 与82h即130比较
9 S; F. `( O4 M8 G+ R$ R( Q.text:080740A9 jg short loc_80740B8 ; 大于则跳转魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: \# \/ R+ O, G8 E! g2 E' i' ~! P! l
.text:080740AB mov eax, edx ; 否则将等级值放入eax妖城在线论坛" w7 F9 J- C. o1 i
.text:080740AD imul eax, edx ; 2次方
; |% O5 t" x* _妖城在线论坛.text:080740B0 imul eax, edx ; 3次方
: o7 Q7 b; H+ J# H' @5 s妖城在线论坛.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
% o; E, c6 V( \, F/ @: _+ T$ C2 ?.text:080740B6—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート" e0 A* C" Z9 C* t
.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j魔力私服,最新魔力宝贝私服技术交流8 A9 z u, e& ^
.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力宝贝私服技术交流. [, [4 u0 K. C/ ^2 e J
.text:080740B6 leave魔力私服,最新魔力宝贝私服技术交流6 V4 p$ e$ L8 W q" {$ d+ L
.text:080740B7 retn魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表% w' K+ \ f' H
.text:080740B8 ; ---------------------------------------------------------------------------—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# t3 n$ @" `9 }3 u
.text:080740B8
5 j9 K! f/ e ]0 y( c妖城在线论坛.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
5 d: T$ v. K" U3 `3 ^" _; x魔力私服,最新魔力宝贝私服技术交流.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1 R' t- N# _3 N. Q3 q1 S' ?' \
.text:080740B8 ; 游戏内看到的是一个 - 号% q! @" i( q( g) G
.text:080740BD jmp short locret_80740B6 ; 函数结束—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: F3 M: q: b3 x2 m! m
.text:080740BD ; ---------------------------------------------------------------------------
, [$ _+ ~8 ]- ], B1 k.text:080740BF align 10hbbs.mocwww.com$ B: r* X( Y9 `7 h |
.text:080740C0
3 c( G3 i u6 J% bbbs.mocwww.com.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
. v. Q8 [1 J) ^0 t9 K% t0 P4 C* J魔力私服,最新魔力宝贝私服技术交流.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
9 @) ^4 i& k" Z0 C( z魔力私服,最新魔力宝贝私服技术交流.text:080740C0 ; 即LevelUpTblbbs.mocwww.com' D# K1 p+ {: W! U
.text:080740C7 jmp short locret_80740B6 ; 函数结束
& c4 m Y2 Y, Q& _魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C7 CHAR_GetLevelExp endp7 f# ?, A8 o* k$ S8 F5 I
.text:080740C7
4 R8 k' L. Y7 t' K @.text:080740C7 ; ---------------------------------------------------------------------------
- v1 C! T6 H- Z, l2 H1 sbbs.mocwww.com b0 ?9 H- U0 i
bbs.mocwww.com: T3 |) x3 _$ o3 b: \
9 T# x% h% |7 Z1 |0 X妖城在线论坛[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|