|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小妖城在线论坛0 ^! T& G& s# R4 U' o5 C& P
, |9 [0 J% |# Q* Z: i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 l, S4 o! A5 {7 X+ b6 Z
s' H4 \/ M6 B, h; m+ B& S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后bbs.mocwww.com0 P9 H4 ~, G6 e* I( v Z" R
- S4 G) U4 |* c+ o- T# g6 f
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!魔力私服,最新魔力宝贝私服技术交流- J) J) ~, P' I3 o% ]
+ n& M$ R; @9 e1 n9 r7 r魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
; C2 P( z( ]8 @# y2 \5 i—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表* D9 t+ c& u; r- K i6 R
同时希望将此贴置顶?……
- T8 e0 L5 M7 n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表; E) i% n, x% K9 K# q: k
注:需使用到 反汇编工具IDA
5 k! [1 n! o- ?) ^6 w魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表 h" P$ l' M0 f8 Y# @
.text:08074098 ; =============== S U B R O U T I N E ======================================= C/ u- g; P7 q$ E6 H& e3 X% ]) I
.text:08074098
6 s) u. Y, u- h6 e8 ^; T8 f$ S魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; Attributes: bp-based frame
, m/ P. n8 |6 I4 G/ S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098
- p0 J0 T+ p0 y! k! e妖城在线论坛.text:08074098 public CHAR_GetLevelExp
) H2 \; y7 u6 N4 I—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p
& {9 B9 ?- G, y; T4 G* `: W妖城在线论坛.text:08074098 ; CHAR_make_CP_String+517p
- d' k: @+ K1 S% k& U: Q+ \. d妖城在线论坛.text:08074098 ; CHAR_make_KP_String+5AAp魔力私服,最新魔力宝贝私服技术交流, N# z- r8 R0 i* S7 Y2 A6 l
.text:08074098 ; PET_createPetFromCharaIndex+1BEp
2 s7 Y1 ~9 ]2 T+ ~& Vbbs.mocwww.com.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
( K+ n4 K* E, i/ R魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
( h' u9 y! P. x# W; j9 b.text:08074098 arg_0 = dword ptr 8
9 I) A# g* i" n* x/ H M, @: d魔力私服,最新魔力宝贝私服技术交流.text:08074098妖城在线论坛6 m6 b+ q' ]- m7 W k: B( m3 K9 ^
.text:08074098 push ebp ; 函数功能:bbs.mocwww.com) a; e3 C+ M4 l; Z. u0 i
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
4 w# L. G( y% s0 J% h6 ]' ?bbs.mocwww.com.text:08074098 ; 入口参数:等级值魔力私服,最新魔力宝贝私服技术交流: i7 q1 i7 T( k1 |: n3 w
.text:08074098 ; 出口参数:eax即下一级的升级经验值
( [6 y) y7 n+ D/ G5 {魔力私服,最新魔力宝贝私服技术交流.text:08074099 mov ebp, esp
; m. o; p+ }) U5 n* o7 F, X0 D' ebbs.mocwww.com.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
/ C5 [) ?0 N5 U6 V7 M+ O8 \魔力私服,最新魔力宝贝私服技术交流.text:0807409E cmp edx, 78h ; 与78h即120比较—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 ^9 G" e! g8 D0 x
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表9 R) c% _$ E1 [, h8 w
.text:080740A3 cmp edx, 82h ; 与82h即130比较
8 m) H. m' U& d3 E7 V妖城在线论坛.text:080740A9 jg short loc_80740B8 ; 大于则跳转魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表7 P, b: X( a- e9 S
.text:080740AB mov eax, edx ; 否则将等级值放入eax
8 D) \ @' e1 Z+ i8 j0 k.text:080740AD imul eax, edx ; 2次方魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表& i# M4 e$ Z; Q% l, i
.text:080740B0 imul eax, edx ; 3次方bbs.mocwww.com# F1 e3 s: ~: J1 C- k
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
8 A. J9 N* h# x: d妖城在线论坛.text:080740B6
$ v+ A5 S* x2 w$ i( ]! p.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
u# C3 w) g; [4 Nbbs.mocwww.com.text:080740B6 ; CHAR_GetLevelExp+2Fj魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表0 c, H5 C# `( |; Q. H+ H/ G" {
.text:080740B6 leavebbs.mocwww.com9 X# ?: O; f5 q; x+ e8 ]2 Y0 i
.text:080740B7 retnbbs.mocwww.com% F" y/ ?' X# c+ y
.text:080740B8 ; ---------------------------------------------------------------------------
4 h5 C4 k( y7 S魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8
' U* p8 F: R9 G.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
; f4 @# H8 p) V1 W( L" X—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1# K9 G7 C- @1 i9 Y% z) m
.text:080740B8 ; 游戏内看到的是一个 - 号
9 c8 k9 W' P+ t7 q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740BD jmp short locret_80740B6 ; 函数结束
2 ]. z3 ?* o" A5 Z* u f妖城在线论坛.text:080740BD ; ---------------------------------------------------------------------------
" ^7 C. k3 H. c+ Z* x; l.text:080740BF align 10h. G$ `7 P3 Y f/ C2 A. v
.text:080740C0
" G" F- v! R6 G# ]6 e魔力私服,最新魔力宝贝私服技术交流.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j
8 q* `" q' {4 I' D魔力私服,最新魔力宝贝私服技术交流.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表bbs.mocwww.com, V6 b* \2 v1 i3 r( F; l$ p
.text:080740C0 ; 即LevelUpTbl魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表) [% T" e' s7 v# n' ^7 T1 y
.text:080740C7 jmp short locret_80740B6 ; 函数结束
( ^6 i0 N( k3 f2 D- q: c. T+ ^魔力私服,最新魔力宝贝私服技术交流.text:080740C7 CHAR_GetLevelExp endp/ M2 t, ^9 Z6 ~+ J
.text:080740C7—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート5 R9 \7 \; q: t) Y
.text:080740C7 ; ---------------------------------------------------------------------------妖城在线论坛, q: @+ o7 l& Z8 r" n0 ?3 F: y
$ |$ ^ E8 k1 x. Z* }魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力宝贝私服技术交流/ b0 n5 S8 ?* N% k
( g/ H6 k0 n% s- t' M3 ][ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|