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

 找回密码
 立即注册

QQ登录

只需一步,快速开始

暗黑mod发布网
搜索
逗破暗黑Mod群:67994934逗破暗黑Mod客户端及补丁逗破暗黑Mod新手攻略逗破暗黑Mod赞助菜单
神话怀旧MOD群:67994934神话怀旧Mod客户端及补丁神话怀旧Mod新手攻略神话怀旧Mod赞助菜单
圣者归来Mod群:558972013圣者归来Mod客户端及补丁圣者归来Mod新手攻略圣者归来Mod赞助菜单
查看: 4232|回复: 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# h4 J9 @  K! f0 c% d; m; ], f9 M
该教程仅限于暗黑1.13C
, u; `5 p+ d# m
2 \( \4 s7 Z/ D使用hex 16进制修改工具打开D2Common.dll
1 J, f7 Q- W9 e1 s5 sctrl+G 跳转至94F60,在00 00区域写入Portal,或者直接修改16进制为:50 6F 72 74 61 6C
' m5 r  T3 d9 e# t3 _) R$ p( i' C5 F
使用OD软件打开D2Common.dll,, c4 P5 O# n3 L6 u) ^" s
1、ctrl+G,跳转到6FDD87EB,输入以下代码
5 a$ x" G! M& r. V; [) j7 l
  1. PUSH  6FDE4F60 6 D7 ]. W) J, c- x6 l5 _5 W+ B
  2.     PUSH EBP
    9 T- a5 g2 V; S2 G- e' i
  3.     MOV DWORD PTR SS:[ESP+20],ESI
    + @. B. S: q+ I6 e
  4.     CALL 6FD51EC0
    ; H/ t0 `: w! Y
  5.     ADD ESP,8 ! ?, j% h# @& T( K1 s. r4 k
  6.     TEST EAX,EAX
    / _  `) D! b9 T
  7.     JNE 6FD6BAD0
    7 z/ S$ v4 g# g- Q4 e% n  V
  8.     MOV BYTE PTR DS:[EBX+8],4
    & q0 G( w6 h0 B6 T
  9.     JMP 6FD6BB96
复制代码
2、跳转到6FD6BAC5
' f0 \* L* a7 m
  1. JNE SHORT 6FD6BA5A
复制代码
3、跳转到6FD6BA5A5 K( X% R; q  G/ O9 J" q2 \
  1. JMP 6FDD87EB
复制代码
使用OD软件打开D2Game.dll
8 m/ ?: ~; I5 Q* ?$ I0 M1、跳转到6FD17B0F& f5 t7 D7 D8 W5 x1 D1 Y" a# F) Z& z
  1. SUB ESP,1C . a5 l7 T4 s: Y
  2.     PUSH EBP & x) Z" P6 d  t3 T
  3.     MOV EBP,DWORD PTR SS:[ESP+24] # @+ N  w+ M& H% {9 j
  4.     MOV EAX,DWORD PTR SS:[EBP+10F4]
    , q. j$ u/ I% V2 F
  5.     MOV ECX,DWORD PTR DS:[EAX+8]
    4 O# m4 o! b  q0 T: W& M& w
  6.     MOV EAX,DWORD PTR DS:[EAX+0C]
    0 u' W  V* A# U% Z: e+ J, U6 @# y
  7.     PUSH EBX 3 V. |2 j& v, E0 A+ q/ M
  8.     PUSH ESI
    6 T& p! G% A1 s* i5 n9 J  j" ]3 a
  9.     PUSH EDI
    $ e9 x8 R7 f$ j. f: L8 t) g
  10.     PUSH 0B                                                         
    ) N' Q+ T$ ]6 [
  11.     PUSH 4                                                  ; }% N% ~5 W2 l5 R! t* H2 \& T
  12.     PUSH EAX                                                        & t! ?6 O! ~6 a* b# w% ~
  13.     CALL 6FC2A568            
    / P- R; e  L" o' R) K: q
  14.     MOV ESI,DWORD PTR SS:[ESP+34]
    7 K* j+ Y% Z: W6 `4 V. A: ?9 H) S" U
  15.     PUSH ESI                                                                $ C6 b$ N% P( i. V
  16.     CALL 6FC2A4C0            2 W2 y( [: m) N$ N  z5 Q
  17.     MOVZX ECX,BYTE PTR SS:[EBP+6D]
    0 y( i/ r- `: b4 {2 E0 V
  18.     MOV EAX,DWORD PTR DS:[ECX*4+EAX+10]
    % Z& n: G# k: [- G8 f
  19.     PUSH 0A                                                          + t/ x  f# E  e
  20.     PUSH 4                                                         
    ( w+ k. {$ `, L1 M2 e" E2 e2 A
  21.     PUSH EAX                                                               
    & V3 i+ p, @9 n3 t
  22.     CALL 6FC2A568            
    6 S, t5 M, k$ q( i$ c3 X
  23.     MOV EAX,DWORD PTR SS:[EBP+70]
    : B$ J9 ~" l' B8 P, W3 M& R/ G
  24.     PUSH ESI                                                        
    # a. T, p8 u9 Q7 T( p
  25.     CALL 6FC2A4C0                    
    , M1 d0 N) {7 _' S' ~
  26.     MOVZX ECX,BYTE PTR SS:[EBP+6D]
    4 Y$ j( M. F1 Y3 {9 d: F
  27.     MOV EAX,DWORD PTR DS:[ECX*4+EAX+10] ; V- M& d& j- i: V) ^; a
  28.     PUSH 0                                                  
    # D# m  a- |! q- W' l# L
  29.     PUSH 28                                                  
      J) a. K0 ?4 z
  30.     PUSH EAX                                
    8 {3 R6 w% M# S6 g) K+ O( \$ K' C
  31.     CALL 6FC2A568                    , |% x: d4 B2 N1 E
  32.     PUSH ESI                                ! l$ }9 m1 G  d5 a; w
  33.     CALL 6FC2A478            
    ! u+ S6 U' n- _0 j" g
  34.     MOV EDI,EAX # `8 u6 b5 W% |# E* a
  35.     PUSH EDI                        ; F! g# q- c2 Y- ~. Z
  36.     CALL 6FC2A556   
    4 @! |: g" t  [
  37.     CMP EAX,6D 5 J5 `8 o: ~% E
  38.     JNE 6FD17C79 # n& m8 P+ Q) Q
  39.     MOV CL,BYTE PTR SS:[EBP+6D]
    3 Q8 Z+ d3 B4 c) S
  40.     CMP CL,2
    7 O. A7 y7 j6 L0 A) H, F
  41.     JNE 6FD17C79
    / j# T* z! o; P& B9 D
  42.     LEA EDX,[ESP+24]
    7 T% ~1 _( g, X7 C/ b( D
  43.     PUSH EDX                                       
    7 X9 z) w8 V7 ^& v2 L
  44.     PUSH ESI                                : `- ^$ P: J, }
  45.     MOV DWORD PTR SS:[ESP+38],0 * F8 P4 V6 M1 G$ X9 g8 Y
  46.     CALL 6FC2A544    5 U: ^% V9 B$ R( I8 D: r1 A
  47.     PUSH 64                  : N$ e; \  p! B! x1 e& ?6 r# v3 v- c4 P
  48.     LEA EAX,[ESP+34] 9 m6 _' X# M8 \& P" N. h+ r
  49.     PUSH EAX                        
    : W% g% @  v, X6 W
  50.     PUSH 400                        + q2 B, J8 B- w9 d
  51.     PUSH 3                  8 E; F0 x" W" G4 [/ o- p
  52.     LEA ECX,[ESP+34]
    - w9 h% Q! e4 g: n
  53.     PUSH ECX                                8 O  k9 _' ?+ m! s2 \5 N" l7 |5 g
  54.     PUSH EDI                        
    ! U9 P0 k+ {9 ~  `" k) e. P
  55.     CALL 6FC54130            ; ^; |: e3 ^; Z  @
  56.     MOV EDI,DWORD PTR SS:[ESP+30]
    - s0 L! [; Z2 K- z
  57.     MOV EDX,DWORD PTR SS:[ESP+28] " O% V/ k$ H, I1 K2 t- X
  58.     MOV EAX,DWORD PTR SS:[ESP+24] / b' d( L: j. T1 `; y: p
  59.     MOV DWORD PTR SS:[ESP+14],EDX ( L7 }9 V. j& H- g0 _3 c+ L
  60.     MOV DWORD PTR SS:[ESP+10],EAX , z7 D( T( U& ], q* M
  61.     PUSH EDI                        
    ( A5 B: O& ~1 C  e* O+ R
  62.     CALL 6FC2A808   
    9 B+ i1 D2 `+ D1 F. f
  63.     PUSH 27                  ! i1 J7 I! ~5 W, U/ f: g- R
  64.     CALL 6FC2A56E   
    / a* M9 j! g! v3 e: ?
  65.     PUSH EDI                        " y3 ^3 H2 v, z0 d7 }& e: p
  66.     MOV BL,AL        
    ( K$ O4 T$ D( s" K
  67.     CALL 6FC2A556 $ g; t, X, }. l9 h; `
  68.     PUSH EAX                        9 t! W% x& p6 s( p8 J. U2 g- X* b1 p
  69.     MOV DWORD PTR SS:[ESP+1C],EAX
    8 b4 H2 V' u5 o5 g: g
  70.     CALL 6FC2A56E
    % \6 b  b" y& r
  71.     MOV ECX,DWORD PTR SS:[ESP+10]
    / H, ~8 l! w5 J; M/ ^: e# ?" v
  72.     MOV EDX,DWORD PTR SS:[ESP+14]
    7 |: A* p. H7 i$ K- d
  73.     PUSH 0         
    + `4 z+ z5 b; Z4 p
  74.     PUSH 0C01 5 F1 i0 Z6 O" u, |4 |3 u( |, A
  75.     PUSH 3E01
    : u. Y3 ?2 ~9 S6 j
  76.     PUSH 3 * O6 x  N8 G% C# ?+ [2 g
  77.     LEA EAX,[ESP+2C]               
    % N+ B5 Z- O/ Y4 e( w$ h1 {& p  A3 \& E
  78.     MOV DWORD PTR SS:[ESP+2C],ECX + P# ?; v* Z# X0 i! T
  79.     PUSH EAX               
      j& `6 K$ Y3 @, ~, f$ Y% Q, e& o: p  \
  80.     MOV ECX,EAX      
    / j- }8 d* x/ e2 u& w5 g3 v5 T
  81.     PUSH ECX               
    . p1 _, Z2 I( N$ i/ K
  82.     PUSH EDI                        
    6 }8 g% M3 ^) F  I8 A
  83.     MOV DWORD PTR SS:[ESP+3C],EDX 0 N, x4 k+ F4 Y2 M% }
  84.     CALL 6FC2AE98    + {4 S$ s; D# m' {- k2 ?4 ]
  85.     MOV EBX,DWORD PTR SS:[ESP+1C] ! R7 ~. ]) y  q* |: \
  86.     MOV EDI,DWORD PTR SS:[ESP+20]
    6 E# B6 m9 Y1 g% g7 h5 s
  87.     MOV EAX,DWORD PTR SS:[ESP+30]
    . p! {) k" [1 Q
  88.     MOV DWORD PTR SS:[ESP+10],EBX
    : P( t+ M  Q1 A# p) G8 ^9 o  A
  89.     MOV DWORD PTR SS:[ESP+14],EDI
    ; J0 ]" a. V  V1 N6 o
  90.     CALL 6FC21280 . m8 ^/ y2 A) _% f$ P1 T) \
  91.     MOV EDI,EAX 3 H! m  |5 M) k! }7 a
  92.     MOV EDX,DWORD PTR SS:[ESP+14] : N+ L% M' m" X; [  V+ r" S
  93.     PUSH 0          : K+ L. l: M  U) f
  94.     PUSH 1          $ }9 t- P# A) z* U; {1 t' l
  95.     PUSH 1
    ; s3 q' n5 |* `$ p' l9 H* Z( }3 n% M
  96.     PUSH EDI        ( \$ R& U; X% `0 A% b$ X# h
  97.     PUSH EBP        $ @( q1 A) R/ |4 k8 S6 D. ^
  98.     PUSH EDX        
    9 [  {3 g$ |( U& z. R- [8 ^
  99.     MOV EAX,EBX      & X0 o) p4 ~8 B# v0 a" y6 c
  100.     PUSH EAX        0 z; b8 Z! m( R7 t; R3 A  J, I  G
  101.     MOV EDX,3C      0 ^1 Z- R  q- ]# P
  102.     MOV ECX,2        
    5 Q: @( X# b' Q/ Q4 h! D- N
  103.     CALL 6FD01D90   
    . v0 ]# c& s. l  S/ ~
  104.     MOV ESI,EAX
    5 v2 U! Q! w4 O* P& w
  105.     PUSH 1
    0 D8 @! L7 B; Z0 r9 G
  106.     PUSH ESI
    2 Z8 R" x4 ^' c. ^; ^- w" y
  107.     CALL 6FC2A4A2
    0 r: L5 e! o$ H, \# b( ~3 K0 L
  108.     MOV ECX,DWORD PTR SS:[ESP+18] 2 E9 x0 D' q( y4 a/ ~8 ?
  109.     PUSH ECX                        
    / _0 S7 j2 T7 z7 S8 V8 N
  110.     PUSH 88                          4 W$ v8 w! d. Z* L
  111.     PUSH ESI                        
    $ M0 i* Y( n* L7 K: O- m
  112.     PUSH EBP        7 h- T) H- D+ R4 I' x# H
  113.     CALL 6FCC22E0    6 X  T% J& N+ `6 S
  114.     POP EDI   K9 R# _3 C) C. p3 w
  115.     POP ESI $ d5 S7 K* @5 L. t/ \5 k
  116.     POP EBX 0 Z$ f2 N& }( E$ J2 W
  117.     MOV EAX,1 % \6 v  r: S. i) L0 n0 n
  118.     POP EBP
    ; P# E% s( q* h4 p
  119.     ADD ESP,1C 4 s# F& O) c7 Z# E7 _' ~6 W& P
  120.     RETN 8
    7 [% I( v$ T) M
  121.     PUSH ESI
    # P/ C  d  m) j  E' r
  122.     MOV WORD PTR DS:[ESI+6E],14
    0 r- C9 R% ~$ ~% k
  123.     MOV DWORD PTR DS:[ESI+70],ESI
    ' ~, z. I; v7 H+ f
  124.     CALL 6FC2A4DE
    3 y( g) [. t: t+ z5 K
  125.     MOV EAX,DWORD PTR DS:[ESI+0C4]
    : g3 z2 v; m2 J( D0 B$ H  R" D
  126.     OR EAX,00000400 2 z# q* }- F3 z! s+ `) E
  127.     POP EDI
    5 I- L- l6 w9 Q, r% f
  128.     MOV DWORD PTR DS:[ESI+0C4],EAX
    - U+ O4 U. T3 x* b6 ~8 F
  129.     POP ESI 7 |% y! g9 D3 a+ h
  130.     POP EBX
    # {/ F  B5 G) ~# Y4 R
  131.     XOR EAX,EAX
    " v! M& _' j: H) A6 M4 F; \9 }0 Y: A
  132.     POP EBP
    2 E4 I& {- d1 i( ~# ~% z! ~
  133.     ADD ESP,1C
      W2 z0 Z2 T* f$ T" b
  134.     RETN 8
复制代码
上述代码为开启6boss红门,即为出火炬的地图,开启的限制也一样,需要在第五幕,难度地狱。
9 V2 J, W' C' S( _, N  C地址6FD17C5E |。68 88000000 PUSH 88,  88转换10进制为136,这个136是levelid,对应地图就是出火炬的地图,想指定去其他地图的修改该处。
1 R( x& S& z" ]- p1 Q# P4 M2 V" X% Z7 Y7 U+ {0 p& G) n; \* l
修改的限制代码为:1 T0 B7 m* f6 p; {, ?
  1. 地址= 6FD17B75      - {6 q8 }- ]  f  u4 a* o. ~  R
  2.     CMP EAX,6D         6D为第五幕城内
    3 ^1 I6 r& f. D! v/ e  C& u/ h% D
  3.     JNE 6FD17C79       //跳转至无法合成的提示信息
复制代码
  1.   地址= 6FD17B7E 3 X% j! E1 L6 Z3 h8 q- _$ c
  2.     MOV CL,BYTE PTR SS:[EBP+6D]    ; 6D为第五幕城内
    * g. p9 `( f1 `- a% f" w
  3.     CMP CL,2                                        ; 2为难度, 0=普通 1=噩梦  2=地狱4 ]2 z3 H, f7 X: z
  4.     JNE 6FD17C79     //跳转至无法合成的提示信息
复制代码
以上为红门设定部分,根据自己需求进行修改。" k: ~' Y/ A$ S& Q8 ~) F  Q  d
+ w( E, ?1 h  T" Z5 B
修改箱子合成部分
6 [( M+ t& ]8 C1、d2game.dll,跳转至6FC92417% l  \* Z( O/ G9 l9 t& ?
  1. JMP 6FD17AB8
复制代码
2、跳转至6FD17AB8
% _+ O% ^1 B, A% c* Y" \+ Y
  1. CMP AL,4
    $ b* z% F' w* W" j& ]6 k
  2.     JE SHORT 6FD17AE4 6 o. m9 F0 I3 K1 W* Z) K& H
  3.     MOVZX ECX,AL
    3 W1 Q4 l7 U# g0 m. m
  4.     JMP 6FC9241E
复制代码

4 Z( h0 P+ k/ d, P# f! U3、跳转至6FD17AE4
( v  s6 J+ K: [* l  h& x
  1. MOV EDX,DWORD PTR SS:[ESP+12C]
    % |7 K2 J, F8 x& Q) W" H$ Q
  2.     MOV ECX,DWORD PTR SS:[ESP+128]
    . h# i3 X1 Z) F: Y2 ?
  3.     CALL 6FD17A2B ' w7 `- h  r, d, [+ K- u
  4.     JMP 6FC92439
复制代码
4、跳转至6FD17A2B
' `; K! ?# F* l. m* b) G
  1. PUSH EDX
    & A$ N9 h6 h4 |4 O' W
  2.     PUSH ECX ( K( ?( v" R# J: A, i9 ~
  3.     CALL 6FD17B0F    : R" h  x7 V" M
  4.     RETN
复制代码

1 n6 o/ S  L' p7 d  P; T1 r$ r9 G" ^) F7 ~% u% u
DLL部分修改完毕。$ A3 H" L9 [  U
在cubemain.txt 添加改红门开启的设定4 p! H9 s# N8 h
条件设定自行定义,在output处填入Portal即可
: b4 W: N: \+ a8 Z8 y3 J, @0 o
神话战网出品,必出精品!
回复

使用道具 举报

1

回帖

0

元宝

0

圣者绑元

新手上路

Rank: 1

积分
0
发表于 2020-11-17 09:24:30 | 显示全部楼层
MOV CL,BYTE PTR SS:[EBP+6D]中,EBP+6D不为城镇  T2 e0 a( q4 X* \8 t4 m0 j
经测试EBP = Game ,EBP + 6D为BYTE  difficultyLevel
回复

使用道具 举报

1

回帖

0

元宝

0

圣者绑元

新手上路

Rank: 1

积分
0
发表于 2021-11-14 17:19:58 | 显示全部楼层
费了很大的劲,才修改完毕,结果进游戏就error
0 ^* e! R7 ]1 p9 @4 M4 h7 F* \
1 D3 C1 Z* X3 C" T% k# e然后这个修改是不是仅仅只是可以开6boss红门   我想制作官邸直达红门 比如5个官邸直达的道具  这个修改是不是做不到?
回复

使用道具 举报

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

本版积分规则

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

GMT+8, 2025-2-5 17:43 , Processed in 0.056989 second(s), 20 queries .

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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