妖精
![Rank: 2](images/default/star_level1.gif) ![Rank: 2](images/default/star_level1.gif)
- UID
- 19808
- 精华
- 1
- 积分
- 332
- 威望
- 0 度
|
阁楼
大 中
小 发表于 2010-3-23 22:56 只看该作者
gmsv内部函数研究号召帖
一个人看gmsv看得好晕,还好gmsv内部各个函数的命名都是有规则和规范的,但是我一个人的力量毕竟很小
5 T& n2 d1 T" F0 A魔力私服,最新魔力宝贝私服技术交流
# s& k+ `$ ] h% k! L在此号召各位稍微有点汇编基础或者没有汇编基础又愿意学习汇编或者愿意深入了解gmsv内部的四面八方的研究同仁bbs.mocwww.com* X* H! _3 W5 M3 w
9 k' ~) h- C* U1 a魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表我们一起来研究gmsv内部的函数吧!只要了解好了gmsv内部函数的运行机制,即入口参数,出口参数等等诸多内容以后0 R a& R. K; A" E
—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート _: j L G/ @8 G+ G
我们就有可能修改gmsv来创造出更好的东西!大家一起研究的话我觉得进步会快很多!
2 J1 |& k# K2 t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート妖城在线论坛2 T2 F7 s/ X( M/ _- A
为抛砖引玉,我从IDA里面复制出一个示范的函数分析。期待大家无私奉献!!!—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート: L9 `( M% H( L3 Z, N2 n
# `* G) P5 f; u* q/ b魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表同时希望将此贴置顶?……魔力私服,最新魔力宝贝私服技术交流, S' Y- _( L4 j3 E9 \
魔力私服,最新魔力宝贝私服技术交流4 n% o' {: G2 I$ y x M- _
注:需使用到 反汇编工具IDA魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" m3 a5 Q/ a/ |2 }; u/ Z
) x5 a4 l$ @3 C" W8 o2 w: `魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 ; =============== S U B R O U T I N E =======================================—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート9 F" Q2 U$ O& _1 l) Q) d# Z9 y
.text:08074098魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表" k" j" N1 ~5 c1 f, x
.text:08074098 ; Attributes: bp-based frame
2 r3 Q, _/ ~9 q& F" J+ X. Z妖城在线论坛.text:08074098妖城在线论坛3 G6 T |. b0 s( S9 p8 U8 M
.text:08074098 public CHAR_GetLevelExp
% @1 j) K3 Y ~, D魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:08074098 CHAR_GetLevelExp proc near ; CODE XREF: CHAR_LevelUpCheck+42p魔力私服,最新魔力宝贝私服技术交流/ M; {/ i6 g. {2 e
.text:08074098 ; CHAR_make_CP_String+517p
- M+ @* [$ n- }7 F魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; CHAR_make_KP_String+5AApbbs.mocwww.com$ H$ F: p* N0 E# H% Y3 [
.text:08074098 ; PET_createPetFromCharaIndex+1BEp妖城在线论坛# T; s: ?' w6 U: e1 h- r9 t
.text:08074098 ; BATTLE_AttackEnergyDrain+1E1p
% n- O# p) E0 i8 P$ l妖城在线论坛.text:08074098 ;这里是交叉参考,就是引用该函数的"上级"函数,暂时可以不用管,但是可以从这上面的函数看到入口参数
' i9 _6 Y+ T3 S" ~( t; b.text:08074098 arg_0 = dword ptr 8
9 O3 U# f' k6 S9 i" n—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート2 ?3 V% ]" B- Z
.text:08074098 push ebp ; 函数功能:
/ J1 c5 Z, a& e# @1 w2 S% t魔力私服,最新魔力宝贝私服技术交流.text:08074098 ; 取得人物或者宠物下一级的升级经验值
, G5 {6 K3 C& Q7 S—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:08074098 ; 入口参数:等级值
% i( B# e7 S& t1 k* U1 t' {# y) L.text:08074098 ; 出口参数:eax即下一级的升级经验值
' v6 K' A" S0 p' N妖城在线论坛.text:08074099 mov ebp, esp
5 p& T, G3 _9 `6 q Dbbs.mocwww.com.text:0807409B mov edx, [ebp+arg_0] ; 将人物或者宠物的等级放到edx里bbs.mocwww.com2 j9 K6 i3 Z( O* |# N8 d' ^$ M
.text:0807409E cmp edx, 78h ; 与78h即120比较—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート) i2 E0 S4 J$ X" {
.text:080740A1 jbe short loc_80740C0 ; 小于等于则跳转
; g4 V# S' [: N" i$ t—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740A3 cmp edx, 82h ; 与82h即130比较9 E3 U1 Z0 i# a: }( h* d
.text:080740A9 jg short loc_80740B8 ; 大于则跳转
( J$ b" x/ K, B( l& Q7 c+ @魔力私服,最新魔力宝贝私服技术交流.text:080740AB mov eax, edx ; 否则将等级值放入eax魔力私服,最新魔力宝贝私服技术交流! f N: C/ Y' h7 \! S
.text:080740AD imul eax, edx ; 2次方) z* b; B( K! c; ]
.text:080740B0 imul eax, edx ; 3次方bbs.mocwww.com* N, E8 d D) `8 ]) ?5 I; Y
.text:080740B3 imul eax, edx ; 存放经验值的eax = 等级的4次方bbs.mocwww.com. V+ T9 l) ^0 Q( n- f2 `
.text:080740B6
2 z2 z+ J1 N4 o9 F—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート.text:080740B6 locret_80740B6: ; CODE XREF: CHAR_GetLevelExp+25j妖城在线论坛) w2 ^! i* i( {* L
.text:080740B6 ; CHAR_GetLevelExp+2Fj
+ G7 F( Y) t' G2 `妖城在线论坛.text:080740B6 leave妖城在线论坛6 n, U0 f% i; D5 P$ b3 A
.text:080740B7 retn
$ r# r# l5 c; s+ D.text:080740B8 ; ---------------------------------------------------------------------------妖城在线论坛' r c( ]6 f$ ^$ y5 G
.text:080740B8bbs.mocwww.com% N) m. J3 N, x5 G$ g
.text:080740B8 loc_80740B8: ; CODE XREF: CHAR_GetLevelExp+11j
a: L0 |; v7 S+ W魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表.text:080740B8 mov eax, 0FFFFFFFFh ; 大于130级则下一级升级经验为 -1
9 @% q5 W1 `5 `6 l& G# H魔力私服,最新魔力宝贝私服技术交流.text:080740B8 ; 游戏内看到的是一个 - 号
7 k( F, X$ i Ibbs.mocwww.com.text:080740BD jmp short locret_80740B6 ; 函数结束魔力私服,最新魔力宝贝私服技术交流 B1 [3 j' j* c: h4 s8 S" A% }
.text:080740BD ; ---------------------------------------------------------------------------
* K$ i) Z0 @ `妖城在线论坛.text:080740BF align 10hbbs.mocwww.com; q, y" p! q' H
.text:080740C0妖城在线论坛9 g8 `( Q2 l5 h& ?7 E% {" @
.text:080740C0 loc_80740C0: ; CODE XREF: CHAR_GetLevelExp+9j魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表$ b1 C0 g I7 X2 R4 E) N: q7 A
.text:080740C0 mov eax, dword ptr LevelUpTbl[edx*4] ; 小于等于120级则查验经验表
* o! t+ ]9 f% `! N妖城在线论坛.text:080740C0 ; 即LevelUpTbl—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 u% k% E8 N$ z* i8 a$ p6 C( W
.text:080740C7 jmp short locret_80740B6 ; 函数结束- {. _( R4 N, W9 G$ w. `5 P& T' h7 @ a
.text:080740C7 CHAR_GetLevelExp endp—魔力私服,魔力宝贝私服技术,DELPHI编程,魔力寶貝, 魔力宝贝, 크로스게이트,クロスゲート1 Z+ a1 w: \$ i5 q+ J8 C V4 x
.text:080740C7妖城在线论坛) r! m/ k8 j) j' p/ ^0 y
.text:080740C7 ; ---------------------------------------------------------------------------
, g, O0 @1 M4 M2 h魔力私服,最新魔力私服,魔力宝贝私服,魔力宝贝私服技术,魔力宝贝私服,私服架设技术,妖城,FLASH,电影,黑客,网络,网吧,破解,入侵,注册表
" r X5 k" c% i& g; V- X! V: c" s3 T1 F6 ~% _* }
& c" r! s/ Z4 X( w0 R! W[ 本帖最后由 猪神的黄昏 于 2010-3-23 22:59 编辑 ]
|