|
妖精
 
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小妖城在线论坛) p6 P: v% O% a- m$ Y" ]
. U, f( f/ R1 u4 R
在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁
* f8 O9 T* L/ u6 ?3 ~魔力私服,最新魔力宝贝私服技术交流
8 E, x# z- [0 l9 `我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后
5 X& | |9 M; c妖城在线论坛
' \3 r; v7 `8 Q8 @—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
* R2 ?) a7 i+ O0 u魔力私服,最新魔力宝贝私服技术交流魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表# g! A$ y3 L8 F; T7 A, f8 G& D$ W
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!
0 N# j8 B* V% y+ S; U5 P魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表魔力私服,最新魔力宝贝私服技术交流* G: q) Z' `8 ]' k7 A( F; K" o
同时希望将此贴置顶?……
" U! [# u; ^- M' a+ _. r+ M) {妖城在线论坛
$ ]) L. e; |& A# H' a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表注:需使用到 反汇编工具IDA—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート$ ]& v6 [! T8 T# M0 h7 \
bbs.mocwww.com4 y" r4 x$ I7 D; m
.text:08074098 ; =============== S U B R O U T I N E =======================================
/ }) h; Y" K/ C6 e# I0 s" F6 c魔力私服,最新魔力宝贝私服技术交流.text:08074098魔力私服,最新魔力宝贝私服技术交流9 c N6 _, p% d- v% ?
.text:08074098 ; Attributes: bp-based frame
8 }9 u5 v: U( N魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表3 d. X- g' Z% B6 }( X% U, _
.text:08074098 public CHAR_GetLevelExp魔力私服,最新魔力宝贝私服技术交流$ s/ D. X, W: u# D/ L/ G' Y
.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート7 J+ x4 z/ D* C, d9 C
.text:08074098 ; CHAR_make_CP_String+517p—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート, J3 v& G9 Q! j: y) ^
.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com5 M' n% F4 J5 ]) L' U7 C
.text:08074098 ; PET_createPetFromCharaIndex+1BEp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) K6 I) ]: v& j- P4 r" v8 @9 U" [
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
6 ^8 _& ?' [' {+ `2 J) l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数妖城在线论坛4 d% l3 n; m3 }
.text:08074098 arg_0 = dword ptr 8bbs.mocwww.com6 S) _( D, z$ ^+ h, \; U' |
.text:08074098bbs.mocwww.com, ]9 \* n; E6 i/ W
.text:08074098 push ebp ; 函数功能:魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表2 D0 J) D# @' s$ ~6 [- A+ l0 ]
.text:08074098 ; 取得人物或者宠物下一级的升级经验值
; w& S- C' z/ D8 O0 v% O魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; 入口参数:等级值妖城在线论坛% I1 `, x' c; d. f; `! f* U
.text:08074098 ; 出口参数:eax即下一级的升级经验值
2 @2 s J+ Y3 {- y" N! n—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074099 mov ebp, esp
, j9 ]4 D& [5 r0 w8 Gbbs.mocwww.com.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里
2 f. W; o% n( R2 ?魔力私服,最新魔力宝贝私服技术交流.text:0807409E cmp edx, 78h ; 与78h即120比较
- x! [$ u* |! d7 n6 S% H.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
* i/ x% Z/ N( ?6 B9 [. n魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740A3 cmp edx, 82h ; 与82h即130比较
9 h% T- e% G' K7 F. w魔力私服,最新魔力宝贝私服技术交流.text:080740A9 jg short loc_80740B8 ; 大于则跳转妖城在线论坛7 ~# O; G( {, g+ J9 M6 u9 l
.text:080740AB mov eax, edx ; 否则将等级值放入eax
9 F( [: Z" L9 x# X8 {.text:080740AD imul eax, edx ; 2次方
" W1 g. J( ^+ R! R" S5 D4 E魔力私服,最新魔力宝贝私服技术交流.text:080740B0 imul eax, edx ; 3次方
" C' Q' Z$ i- t( o7 |5 J1 G" e妖城在线论坛.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方
0 V# L" f s1 Q) f4 a7 \$ N/ c6 r9 \8 w—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6
+ d; p' U9 r, A( m# w; I妖城在线论坛.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j
& A7 `' [% `) {. ~6 l魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B6 ; CHAR_GetLevelExp+2Fj—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 M$ b! S2 x+ P5 M) E7 G- i
.text:080740B6 leave魔力私服,最新魔力宝贝私服技术交流, v4 t1 ~: H! \ |1 k
.text:080740B7 retn—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート. z( ?5 M$ W$ K7 G/ X/ G
.text:080740B8 ; ---------------------------------------------------------------------------
6 I1 u% @9 H# q—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B8
. Q7 C R# u; \3 V3 _1 a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11jbbs.mocwww.com$ R/ }1 n1 y W# `0 G
.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 C# c& A& C: c) k
.text:080740B8 ; 游戏内看到的是一个 - 号
4 O T1 g$ l' G L: R7 N妖城在线论坛.text:080740BD jmp short locret_80740B6 ; 函数结束
9 _/ f; d8 x( n, X/ \& _9 B魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740BD ; ---------------------------------------------------------------------------魔力私服,最新魔力宝贝私服技术交流7 H3 j) S) y# A. c& ^' Y$ w
.text:080740BF align 10h
. |( j" k& C0 c9 ~" e7 ~3 w. Z5 obbs.mocwww.com.text:080740C0* L& i+ i3 R& }2 B( m. t
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j妖城在线论坛6 I0 r% c+ e" V9 m# F
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート3 `9 ~. N3 L* J
.text:080740C0 ; 即LevelUpTbl
: u5 f2 n. _& h# s4 |7 w5 P' S: V- `; F妖城在线论坛.text:080740C7 jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表: @6 D1 w" G x! D' k O ^! {/ ]) w
.text:080740C7 CHAR_GetLevelExp endp
! ] b$ j& L3 s+ t魔力私服,最新魔力宝贝私服技术交流.text:080740C7* k6 c) T& @' I/ P: W9 y
.text:080740C7 ; ---------------------------------------------------------------------------
3 n- H( |( k3 ?7 z魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
7 o9 _# N9 c) x. M* D5 [3 r# C6 \9 D魔力私服,最新魔力宝贝私服技术交流8 u. G4 H. K! l; E
% l( V% _6 ]8 k5 n
[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|