妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 显示全部帖子
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ [8 f* p9 Y9 H6 H8 }# j
9 {1 K) q1 P# I6 f1 k魔力私服,最新魔力宝贝私服技术交流在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁魔力私服,最新魔力宝贝私服技术交流; k9 v6 u4 P7 X, s5 f& R
?$ h5 k8 X# _( I6 X& }魔力私服,最新魔力宝贝私服技术交流我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
" T4 l# E$ C: G6 V$ Sbbs.mocwww.com魔力私服,最新魔力宝贝私服技术交流7 C' U8 E0 u4 e* W5 v, F
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!魔力私服,最新魔力宝贝私服技术交流, B5 [7 E; }7 t
妖城在线论坛; k8 Z$ g% q# x0 _. ^
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
; i; o# \* R) X/ t( l+ C& U9 X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表! s9 M ^, X6 U i1 r
同时希望将此贴置顶?……
* E) w: ]4 }+ b# p% e7 }! X9 _魔力私服,最新魔力宝贝私服技术交流
. ~* Y V' u, [, n/ v$ q' T注:需使用到 反汇编工具IDA
& D r2 C+ F8 b; U- e妖城在线论坛
2 S' N9 B6 t+ i' v魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; =============== S U B R O U T I N E =======================================魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表6 Q I# l. P7 k4 T7 R
.text:08074098妖城在线论坛) k0 r" }; e ~: k3 {
.text:08074098 ; Attributes: bp-based frame—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, l- [( x. Q9 u! s- j6 R
.text:08074098
; s0 Q7 I$ ^/ i/ Z3 i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 public CHAR_GetLevelExp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート# E5 T) c; t( D! y2 S$ S
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
4 e$ A; g& x& t; j. r妖城在线论坛.text:08074098 ; CHAR_make_CP_String+517p( _1 d% P: |( N7 a! m
.text:08074098 ; CHAR_make_KP_String+5AAp
8 n- U, a, r/ W* O4 Ybbs.mocwww.com.text:08074098 ; PET_createPetFromCharaIndex+1BEp
/ k# q; w% J& E! e.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
' z% f8 H6 V0 E5 t) ?9 ~+ j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数/ U7 r& S6 M( C2 }, Q9 I) T
.text:08074098 arg_0 = dword ptr 8* P1 |1 Q% C; y
.text:08074098
, g! F4 p6 T: J5 S P3 w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 push ebp ; 函数功能:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表/ h- u' y# C' K, f7 Z, J
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
* L/ B% B" h+ I5 m2 h$ y! j魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; 入口参数:等级值魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; _$ d) s+ m' k, J0 j
.text:08074098 ; 出口参数:eax即下一级的升级经验值
: y0 s# N) m' r. f/ `' I$ B—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074099 mov ebp, esp
: r0 Y9 k: k# Hbbs.mocwww.com.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里妖城在线论坛4 s. i, D* ~! K2 o0 ?
.text:0807409E cmp edx, 78h ; 与78h即120比较bbs.mocwww.com% D% g4 e' \" n0 u
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转妖城在线论坛9 g: s; m; Q; A. Q! y" @, a% e' L' ~
.text:080740A3 cmp edx, 82h ; 与82h即130比较
& f) K' j! r% d7 T7 C2 X妖城在线论坛.text:080740A9 jg short loc_80740B8 ; 大于则跳转
% n, h. Q% Z' Dbbs.mocwww.com.text:080740AB mov eax, edx ; 否则将等级值放入eax3 e$ b, N9 g/ r) z1 d7 U
.text:080740AD imul eax, edx ; 2次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表( Q q5 r$ C: `& |
.text:080740B0 imul eax, edx ; 3次方
, b$ e7 m6 `" K4 G9 z—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表. e: _* f5 A$ x/ P- f- s# ?
.text:080740B6
- Q1 Q. G2 q. p* G& Y) r. S+ y( L妖城在线论坛.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 H. U. e& H9 @. A: ]. G# g0 i$ b
.text:080740B6 ; CHAR_GetLevelExp+2Fjbbs.mocwww.com* Z5 G! ~; R2 W" } Z7 G2 | J
.text:080740B6 leave—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート* r- x7 F. m p2 ]; L
.text:080740B7 retn
w) U% \5 i) |" {妖城在线论坛.text:080740B8 ; ---------------------------------------------------------------------------魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表+ ? e* b t6 o6 j
.text:080740B8
; H$ o8 |" }3 l) X魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
6 } F+ k% Y. W妖城在线论坛.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
M' N) i0 M s, }, h魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; 游戏内看到的是一个 - 号
4 X. w% s+ z5 e3 R—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740BD jmp short locret_80740B6 ; 函数结束
, e7 N% m/ ?2 I( C4 R' Q1 Kbbs.mocwww.com.text:080740BD ; ---------------------------------------------------------------------------
w6 d8 L1 q( B( H; R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BF align 10h
- _0 X; U; M' R1 m魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740C0
f% r# m- e2 `4 F! C9 D魔力私服,最新魔力宝贝私服技术交流.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9jbbs.mocwww.com( k# C3 s$ |- s" i
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表魔力私服,最新魔力宝贝私服技术交流- } L" R, z7 f) a y P
.text:080740C0 ; 即LevelUpTbl
" b; { q/ x! F魔力私服,最新魔力宝贝私服技术交流.text:080740C7 jmp short locret_80740B6 ; 函数结束—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 u3 T0 m! \% A1 n& k, E; I0 K
.text:080740C7 CHAR_GetLevelExp endp
6 X& |+ e0 S- Y- c# c.text:080740C7
- |# l' V2 g+ ~7 _6 d t3 S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740C7 ; ---------------------------------------------------------------------------
' n2 w0 |# F% ]% r- b0 w魔力私服,最新魔力宝贝私服技术交流—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 Q5 P8 U+ \0 J. R% X5 q, x Z' [
5 `1 l" O, e1 \; Z* f
0 @3 `* H, ^7 H6 a9 Z5 x& F' G妖城在线论坛[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|