生活情怀-神话暗黑-暗黑破坏神2

 找回密码
 立即注册

QQ登录

只需一步,快速开始

暗黑mod发布网
搜索
逗破暗黑Mod群:67994934逗破暗黑Mod客户端及补丁逗破暗黑Mod新手攻略逗破暗黑Mod赞助菜单
神话怀旧MOD群:67994934神话怀旧Mod客户端及补丁神话怀旧Mod新手攻略神话怀旧Mod赞助菜单
圣者归来Mod群:558972013圣者归来Mod客户端及补丁圣者归来Mod新手攻略圣者归来Mod赞助菜单
查看: 5022|回复: 2
收起左侧

修改DLL实现赫拉迪克方块合成新红门

[复制链接]

361

回帖

830

元宝

1

圣者绑元

管理员

Rank: 9Rank: 9Rank: 9

积分
1
发表于 2018-8-29 20:12:12 | 显示全部楼层 |阅读模式
转载:http://diablo.phx.pl/forum/viewtopic.php?t=62242  K; R9 g, Y. v, T" |8 b
该教程仅限于暗黑1.13C
& @, e3 N7 V; Y+ t2 Y! [
. [% Q0 H1 v0 S+ C; n使用hex 16进制修改工具打开D2Common.dll' M+ q3 {% ?. D& ^- l% p& e
ctrl+G 跳转至94F60,在00 00区域写入Portal,或者直接修改16进制为:50 6F 72 74 61 6C/ t9 ]# K$ W" n& [  E

& m: L' A  J' p# e0 t使用OD软件打开D2Common.dll," N) D  E  u) }
1、ctrl+G,跳转到6FDD87EB,输入以下代码
! l' \( f; N1 k$ x5 e
  1. PUSH  6FDE4F60 6 e8 E7 a' z' E/ p; P5 N: Z! {
  2.     PUSH EBP
    : c$ H5 L" y: X7 S
  3.     MOV DWORD PTR SS:[ESP+20],ESI 4 c' G" f5 x; z! m5 F2 N
  4.     CALL 6FD51EC0 ; q  b, i- K! k$ l3 k6 F6 `
  5.     ADD ESP,8
    4 S( ~1 I8 L8 {  u& j' r
  6.     TEST EAX,EAX 9 J5 r' B, T' q- x
  7.     JNE 6FD6BAD0 + A  q  S6 C/ B7 u9 Y( k+ T0 }
  8.     MOV BYTE PTR DS:[EBX+8],4 # I% x! |0 n1 N- Y% u
  9.     JMP 6FD6BB96
复制代码
2、跳转到6FD6BAC5: g, a; P8 K5 \/ l& [: V& M5 m" d9 w
  1. JNE SHORT 6FD6BA5A
复制代码
3、跳转到6FD6BA5A
) o/ }2 P6 c! r. t
  1. JMP 6FDD87EB
复制代码
使用OD软件打开D2Game.dll( o7 }6 m2 E1 V5 b
1、跳转到6FD17B0F
8 l: Q* ?! N2 j* y& I5 h+ s2 r
  1. SUB ESP,1C
    ' q+ w/ b2 o' Q" b0 I7 t
  2.     PUSH EBP ! Y) k9 Q7 R3 s& U
  3.     MOV EBP,DWORD PTR SS:[ESP+24] 8 f) U" h( b2 o
  4.     MOV EAX,DWORD PTR SS:[EBP+10F4] 6 ^9 w  E$ y3 h9 u
  5.     MOV ECX,DWORD PTR DS:[EAX+8] ; O6 W# m0 S# X
  6.     MOV EAX,DWORD PTR DS:[EAX+0C]
    & c2 l4 Z# `1 ~% F; y, @
  7.     PUSH EBX # S- D6 H; z3 a6 m$ Q
  8.     PUSH ESI
    # W9 `; g) a# d
  9.     PUSH EDI
    / E& d2 q( P1 @
  10.     PUSH 0B                                                          ) U, J2 U0 T: X% o- O
  11.     PUSH 4                                                  
    : H7 A) }% b% D- K! L% E+ _' K
  12.     PUSH EAX                                                        
    6 G2 \& q7 N! C: u
  13.     CALL 6FC2A568            9 n% B" ?- w4 M
  14.     MOV ESI,DWORD PTR SS:[ESP+34] 3 G" l4 I5 P" {( ]. k
  15.     PUSH ESI                                                                ) f! m! s& e7 F/ ^1 V
  16.     CALL 6FC2A4C0            . A2 m) N5 F- b1 J6 p
  17.     MOVZX ECX,BYTE PTR SS:[EBP+6D] # `6 c' @+ [4 R  x: I* W
  18.     MOV EAX,DWORD PTR DS:[ECX*4+EAX+10] ! P4 O9 v4 i# l( R
  19.     PUSH 0A                                                         
    ( Y3 A9 s8 ~2 M3 }. X  `* ]; r
  20.     PUSH 4                                                          0 V1 L6 N3 r3 }  s
  21.     PUSH EAX                                                                : O$ y( A" |) M! {0 P8 I2 V3 a
  22.     CALL 6FC2A568            5 F! C) r& r" `. @+ }) V1 g0 n( p
  23.     MOV EAX,DWORD PTR SS:[EBP+70]
    1 w" y# p- R" c7 V7 E8 `
  24.     PUSH ESI                                                        
    ; \: ^' s/ Q* T
  25.     CALL 6FC2A4C0                    
    ! a+ @/ l4 h) ^7 r, t
  26.     MOVZX ECX,BYTE PTR SS:[EBP+6D]
    * q6 X1 x! q0 x1 B* C) c' `4 E. {
  27.     MOV EAX,DWORD PTR DS:[ECX*4+EAX+10]
    8 p* A6 ?  L* E
  28.     PUSH 0                                                    w9 d1 H5 E' H% `: W+ m/ H8 `
  29.     PUSH 28                                                  , x- M5 S* k- j- f# f0 G4 ~
  30.     PUSH EAX                                $ O" v/ V+ T' z' u
  31.     CALL 6FC2A568                    4 L) A0 u& ~6 l+ `. L# ], K
  32.     PUSH ESI                                $ g7 E) A0 r4 V; b4 a8 F. w# T. H
  33.     CALL 6FC2A478            
    - b' K) r" a8 C4 d$ S
  34.     MOV EDI,EAX
    / d0 |! R( X, S: i9 M$ w: z- R: c
  35.     PUSH EDI                        8 S# s, L4 l, z; p
  36.     CALL 6FC2A556    # @$ P( G6 ?  A' @, @: x- E
  37.     CMP EAX,6D
    ! ?6 ?2 I. L2 W/ F
  38.     JNE 6FD17C79 0 e$ t5 @, a" T
  39.     MOV CL,BYTE PTR SS:[EBP+6D]
    - B' z1 g. q- _# h0 M
  40.     CMP CL,2 , O) |1 m% K) @$ K/ t/ w9 n
  41.     JNE 6FD17C79
    4 l' {- e8 i* c; n  w
  42.     LEA EDX,[ESP+24] 5 B/ y/ _4 X3 y; ~0 J
  43.     PUSH EDX                                       
    # l9 }/ _& X+ G- j" C$ Y9 [% R# J% z
  44.     PUSH ESI                                
    # ~. F7 P  p- N/ y! |  a' f
  45.     MOV DWORD PTR SS:[ESP+38],0
    8 J. B3 q3 R' f( B6 Q
  46.     CALL 6FC2A544    . I8 R+ J# G7 K1 n0 ~
  47.     PUSH 64                  
    / a8 `; X8 {  H, f4 }5 m% ^
  48.     LEA EAX,[ESP+34]
    5 y- l* r* v4 o9 e8 b; @+ d
  49.     PUSH EAX                        ( S) b2 X5 k1 v, Z5 M
  50.     PUSH 400                        * ~/ q. h9 R/ f4 f; s
  51.     PUSH 3                  % V6 f5 }% v8 L
  52.     LEA ECX,[ESP+34]
    . h: I1 a7 D9 C, D/ J7 i8 D* h! \
  53.     PUSH ECX                                
    , ^& e& {" N/ O: x
  54.     PUSH EDI                        0 v6 I) g* o9 h, k
  55.     CALL 6FC54130            
    * ^0 ]/ m1 F6 @/ n+ D
  56.     MOV EDI,DWORD PTR SS:[ESP+30] 1 \8 ?7 j, J% @) S
  57.     MOV EDX,DWORD PTR SS:[ESP+28]
    % K6 ?' T6 J1 G1 K- E& V7 }5 T2 q
  58.     MOV EAX,DWORD PTR SS:[ESP+24] ' q1 E( B" w9 E  a" a. Q, ]
  59.     MOV DWORD PTR SS:[ESP+14],EDX 8 W5 R* Y/ @9 s3 b7 D9 c
  60.     MOV DWORD PTR SS:[ESP+10],EAX & j: B$ x6 ~( M& ~4 ]: f. V
  61.     PUSH EDI                        ) z: P/ W% x4 g  Q, V* r* r4 P' j( T
  62.     CALL 6FC2A808    2 n" F8 f' B  P3 {+ J
  63.     PUSH 27                  
    1 e) Y0 p& Y5 H1 X$ B  t
  64.     CALL 6FC2A56E   
    , i1 d$ H) ~2 m
  65.     PUSH EDI                        
      s9 {: C. H6 B$ K9 q. b
  66.     MOV BL,AL        7 [# U/ @% ^# A% A8 |  Q
  67.     CALL 6FC2A556 3 ~7 O. p% \' V! A) y$ y" q
  68.     PUSH EAX                        
    ; w" B5 m) Y$ }: c5 }
  69.     MOV DWORD PTR SS:[ESP+1C],EAX
    7 a! H0 L5 }  l9 K$ A( {3 {
  70.     CALL 6FC2A56E - s4 d9 X8 h( X
  71.     MOV ECX,DWORD PTR SS:[ESP+10]
    " O4 ?- V' ^9 U, _  ?
  72.     MOV EDX,DWORD PTR SS:[ESP+14] * ]" Y+ q+ \2 K. r3 r9 `; @4 W2 a9 U
  73.     PUSH 0         
    & K' u% x, i! |: f: L# }
  74.     PUSH 0C01
    5 g" }' z7 X, ?( n
  75.     PUSH 3E01
    0 f- i/ ?  L- E  L; ]7 J% Z
  76.     PUSH 3 $ P- m, @# |/ Y- r/ @
  77.     LEA EAX,[ESP+2C]               
    5 C7 s& X' k: W( M9 u+ O8 ?
  78.     MOV DWORD PTR SS:[ESP+2C],ECX . ~+ T/ k$ a+ r% |: ]: B8 r( U
  79.     PUSH EAX                , K( ~& d+ \; P% ~3 E
  80.     MOV ECX,EAX      9 s2 t7 \" o/ _
  81.     PUSH ECX               
    * ^, \; v3 i3 ?3 H
  82.     PUSH EDI                        ; `  T* k0 q$ Y
  83.     MOV DWORD PTR SS:[ESP+3C],EDX
    8 k& a- z' @5 N& j! j3 Q
  84.     CALL 6FC2AE98    3 ~8 n9 S% e) z5 g
  85.     MOV EBX,DWORD PTR SS:[ESP+1C]
    ; _& l" w. L. w
  86.     MOV EDI,DWORD PTR SS:[ESP+20]
    / u: A1 i4 H. i6 ?) G# r+ r7 @. h
  87.     MOV EAX,DWORD PTR SS:[ESP+30]
    * s1 N2 l) I8 Z
  88.     MOV DWORD PTR SS:[ESP+10],EBX * e3 x9 P4 {, F
  89.     MOV DWORD PTR SS:[ESP+14],EDI
    1 I% N6 w$ t' ^# q" [$ X
  90.     CALL 6FC21280 ( H) L, m1 @) v3 r0 p; v/ Z
  91.     MOV EDI,EAX
    ' X* }/ T& C: l* X
  92.     MOV EDX,DWORD PTR SS:[ESP+14]
    8 V) A; m! B6 j# H
  93.     PUSH 0         
    + K9 @& y/ e- N9 o) q
  94.     PUSH 1         
    ' W- ?7 p& ?6 b; t2 Q; _
  95.     PUSH 1 ; ?; ~* z. w0 C* r, p
  96.     PUSH EDI        
    1 B( K  o3 R6 Q
  97.     PUSH EBP        % v1 n; j8 s2 u3 J* G+ H1 D
  98.     PUSH EDX        , Y& R& s$ R: r
  99.     MOV EAX,EBX      ( ^. Z/ O  E6 Y: K9 f) L
  100.     PUSH EAX        3 w- l% z$ V9 M. K
  101.     MOV EDX,3C      : O6 c4 a) o: H4 `8 v& P% \; _
  102.     MOV ECX,2        . p3 S- e( ^# D+ k3 d4 y1 x
  103.     CALL 6FD01D90    ( j& o3 R' m* V  N
  104.     MOV ESI,EAX   y& D2 M) _# T  y' {6 A
  105.     PUSH 1
      g8 F7 s) a1 g, D
  106.     PUSH ESI
    7 b# ?) q! U; I! \& t" l3 S
  107.     CALL 6FC2A4A2
    ( {7 D# j1 _8 k1 ?1 e. g
  108.     MOV ECX,DWORD PTR SS:[ESP+18] , ~0 A) U& ?+ M! j, g. o& _" U- b
  109.     PUSH ECX                        / g% R+ ?/ l0 B9 d4 W
  110.     PUSH 88                          
    & y2 O/ Z3 Q6 v; [$ L' a8 G
  111.     PUSH ESI                        & g& U. c( G, i) _4 b- R: x9 w, U
  112.     PUSH EBP        
    9 R# p% a# s" D9 ~
  113.     CALL 6FCC22E0   
    ; [" v2 ?- k9 k0 H
  114.     POP EDI 3 Z" c( n6 A0 ?: R6 C2 i
  115.     POP ESI
    6 T  _9 `! ^4 O8 j6 f$ c, P
  116.     POP EBX 8 O; W* B; S6 n) m* @& t; k3 E; W
  117.     MOV EAX,1
    0 o, y9 y2 ?. Y! g/ L. R$ |% ]
  118.     POP EBP 4 |, U& k) [% a5 ]# t) A
  119.     ADD ESP,1C
    5 n% E6 H! c; P& [+ @% w: Q5 Y0 V
  120.     RETN 8
    & ]8 {, D- T" d3 v+ }# D
  121.     PUSH ESI 7 ~0 }4 z3 ~' j/ y: W8 L& c
  122.     MOV WORD PTR DS:[ESI+6E],14 6 a) c& V3 o5 Y2 x
  123.     MOV DWORD PTR DS:[ESI+70],ESI 0 i, y- S) g- s5 G+ o- |2 u
  124.     CALL 6FC2A4DE
    ; g1 Q% R& U; Y+ @1 e6 x2 c
  125.     MOV EAX,DWORD PTR DS:[ESI+0C4]
    6 r& \% o# o3 q/ x2 t* C2 F8 C
  126.     OR EAX,00000400
    9 F: b) x! G3 \" G% R$ T
  127.     POP EDI
      H1 l8 _, H7 A& Y9 Q, }; _5 `$ }# F
  128.     MOV DWORD PTR DS:[ESI+0C4],EAX 5 l7 l: q; e- R5 y& Z
  129.     POP ESI " t9 H. x( W1 [2 R/ M
  130.     POP EBX 6 r2 w! {" F8 _; m' b
  131.     XOR EAX,EAX
    ( y9 |# J" {. v- I4 z; S7 [. u
  132.     POP EBP
    , J- o; S$ n- L( A  H: L# z$ a
  133.     ADD ESP,1C
    3 ~% C6 K0 E6 S4 K
  134.     RETN 8
复制代码
上述代码为开启6boss红门,即为出火炬的地图,开启的限制也一样,需要在第五幕,难度地狱。' B# j0 a7 W2 G0 J
地址6FD17C5E |。68 88000000 PUSH 88,  88转换10进制为136,这个136是levelid,对应地图就是出火炬的地图,想指定去其他地图的修改该处。
& n+ d+ m$ _5 U1 E( X7 r
( y* b2 W" N# v5 V8 H6 h1 g修改的限制代码为:! n4 `9 U1 I" K2 V# D. @/ B
  1. 地址= 6FD17B75      5 [" I4 M% Z( n( ]  D
  2.     CMP EAX,6D         6D为第五幕城内: n1 V; d3 U9 y3 i) u& N0 i
  3.     JNE 6FD17C79       //跳转至无法合成的提示信息
复制代码
  1.   地址= 6FD17B7E
    ' m" ^  v5 c8 u3 {
  2.     MOV CL,BYTE PTR SS:[EBP+6D]    ; 6D为第五幕城内2 |8 l( Q+ l' m* G8 Y
  3.     CMP CL,2                                        ; 2为难度, 0=普通 1=噩梦  2=地狱" w. t& e6 _5 j- s, A
  4.     JNE 6FD17C79     //跳转至无法合成的提示信息
复制代码
以上为红门设定部分,根据自己需求进行修改。' b, p" F) G7 H; q* k/ C

/ P- z2 H/ k8 f  t3 V修改箱子合成部分
8 A& x: w" I+ a2 S1、d2game.dll,跳转至6FC92417& ?* ]  F" G: E; n/ T2 T! v. {) Z
  1. JMP 6FD17AB8
复制代码
2、跳转至6FD17AB88 z* K0 c/ k$ `1 [  ]" r
  1. CMP AL,4 & _0 ]! z+ E: D# w' Y4 {
  2.     JE SHORT 6FD17AE4
    ! p1 n3 F) u8 ^& R
  3.     MOVZX ECX,AL
    / j1 T# W$ V: d
  4.     JMP 6FC9241E
复制代码
# X3 O3 [2 y3 o/ t
3、跳转至6FD17AE4
& D7 g$ V* D" B& g
  1. MOV EDX,DWORD PTR SS:[ESP+12C]
    2 j- @+ ]1 f+ }1 V( f% T: c
  2.     MOV ECX,DWORD PTR SS:[ESP+128] - e0 I# K( Q0 q" @6 l4 I
  3.     CALL 6FD17A2B
    6 Y2 m  ~" t- B3 M1 H3 n
  4.     JMP 6FC92439
复制代码
4、跳转至6FD17A2B3 g1 q! s8 d6 {! }' c
  1. PUSH EDX
    . b- x% e% s6 K) |- W! Z% n* a
  2.     PUSH ECX
    5 h; G8 Z/ f' @& `" t. E
  3.     CALL 6FD17B0F    ( U, V$ F! G& ]( H3 f* `
  4.     RETN
复制代码

- Z  n$ K( X# U0 P9 @: J4 e$ e7 _  j1 n5 @% L
DLL部分修改完毕。
: n: p% _' l8 i' T5 H# P在cubemain.txt 添加改红门开启的设定
* }/ T" y8 e( k  f2 V* \0 y条件设定自行定义,在output处填入Portal即可
& O; B8 k. z$ W& ~  P
神话战网出品,必出精品!
回复

使用道具 举报

1

回帖

0

元宝

0

圣者绑元

新手上路

Rank: 1

积分
0
发表于 2020-11-17 09:24:30 | 显示全部楼层
MOV CL,BYTE PTR SS:[EBP+6D]中,EBP+6D不为城镇
+ x6 P" {9 D, d9 v经测试EBP = Game ,EBP + 6D为BYTE  difficultyLevel
回复

使用道具 举报

1

回帖

0

元宝

0

圣者绑元

新手上路

Rank: 1

积分
0
发表于 2021-11-14 17:19:58 | 显示全部楼层
费了很大的劲,才修改完毕,结果进游戏就error6 J8 f; k! O$ m: ?
6 V7 I# g. |  I0 s2 n( {) [
然后这个修改是不是仅仅只是可以开6boss红门   我想制作官邸直达红门 比如5个官邸直达的道具  这个修改是不是做不到?
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

QQ|Archiver|手机版|小黑屋|神话暗黑 ( 陕ICP备18004004号-1 )

GMT+8, 2025-7-11 17:05 , Processed in 0.054532 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

快速回复 返回顶部 返回列表