..:: Forum Imperium Diablo ::..
Oficjalne Forum Dyskusyjne Serwisu Imperium Diablo

FAQFAQ  SzukajSzukaj  UżytkownicyUżytkownicy  GrupyGrupy  StatystykiStatystyki
RejestracjaRejestracja  ZalogujZaloguj

Odpowiedz do tematu
Poprzedni temat :: Następny temat
Kategoria patcha v1.13c
Autor Wiadomość
radzior 


Klan: aK
Dołączył: 17 Mar 2008
Skąd: Sanktuarium Chaosu
Wysłany: 2010-06-07, 21:04   Kategoria patcha v1.13c

Tytuł: Zwiększenie punktów umiejętności za ukończenie questów
Metoda: OllyDbg
Autor: radzior

Witam, dzisiaj pokażę, jak dwukrotnie zwiększyć ilość umiejętności zdobytych w nagrodę za ukończenie zadań Siedlisko zła, Radament oraz Izual.

Będzie nam potrzebny do tego plik d2game.dll oraz debugger assemblera: ollydbg ze strony http://www.ollydbg.de/

Otwieramy program, menu: View -> File...
Otwieramy pliku D2Game.dll (wcześniej robimy ofc backup tego pliku)
Po otwarciu prawym przyciskiem myszy wybieramy: Search for -> Binary string

1/3 Siedlisko zła:
W polu HEX wpisujemy: 8B 55 0C 6A 00 6A 01
i widzimy coś takiego:

Kod:
File C:\Program Files\Diablo II\D2Game.dll
Address   Hex dump          Command                                  Comments
000653CD    8B55 0C         MOV EDX,DWORD PTR SS:[EBP+0C]
000653D0    6A 00           PUSH 0
000653D2    6A 01           PUSH 1                                   ;ilość skili przyznanych w nagrodę (PPM wybieramy Assembly i zamieniamy 1 na 2 i klikamy Assembly i potem Cancel)
000653D4    6A 05           PUSH 5
000653D6    52              PUSH EDX
000653D7    E8 F650FAFF     CALL 0000A4D2


2/3 Radament:
Kod:
File C:\Program Files\Diablo II\D2Game.dll
Address   Hex dump          Command                                  Comments
000D9E93    E8 EE06F3FF     CALL 0000A586
000D9E98    6A 00           PUSH 0
000D9E9A    6A 01           PUSH 1                                   ;tak samo, zamieniamy 1 na 2 i Assembly
000D9E9C    6A 05           PUSH 5
000D9E9E    57              PUSH EDI
000D9E9F    E8 2E06F3FF     CALL 0000A4D2


3/3 Izual:
Kod:
File C:\Program Files\Diablo II\D2Game.dll
Address   Hex dump          Command                                  Comments
000BA73C    8B4D 0C         MOV ECX,DWORD PTR SS:[EBP+0C]
000BA73F    6A 00           PUSH 0
000BA741    6A 02           PUSH 2                                   ;Podobnie jak wyżej, 2 zamieniamy na 4 i Assembly
000BA743    6A 05           PUSH 5
000BA745    51              PUSH ECX
000BA746    E8 87FDF4FF     CALL 0000A4D2


PPM wybieramy Save file... zapisujemy jako D2Game.dll, zamykamy program i testujemy.

Pozdro.
Ostatnio zmieniony przez Sarevok92 2011-11-24, 18:18, w całości zmieniany 2 razy  
 
     
Eps 
JuniorAdmin



Dołączył: 18 Maj 2006
Wysłany: 2011-02-18, 00:28   Otwieranie Farmy Moo Moo po zabiciu Krowiego Króla

Tytuł: Otwieranie Farmy Moo Moo po zabiciu Krowiego Króla
Metoda: Hex

Witam, dzisiaj pokażę, jak otwierać Farmę Moo Moo po zabiciu Krowiego Króla, co normalnie jest niemożliwe.
Potrzebny będzie plik: D2Game.dll i Hexedytor, np. Hex Workshop.

Otwórz plik: D2Game.dll Hexedytorem i naciśnij: ctrl+g, w tym oknie wprowadź taką wartość: 6750A, a następnie naciśnij przycisk Go lub naciśnij klawisz: "Enter".

Dzięki temu Hexedytor przejdzie pod wskazany adres.

Pod tym adresem widnieje taki oto wpis:
Kod:

0F85 C501 0000

Należy go zastąpić 6x90, czyli będzie wyglądał tak:
Kod:

9090 9090 9090


Zapisz plik: D2game.dll wciskając ctrl+s i testuj możliwość otworzenia portalu do krowiego poziomu mimo zabitego krowiego króla w nieskończoność.
 
     
Eps 
JuniorAdmin



Dołączył: 18 Maj 2006
Wysłany: 2011-04-03, 19:37   Naprawa zakresu klikalności w skrytce

Tytuł: Naprawa zakresu klikalności w skrytce
Metoda: Hex

Witam, dzisiaj pokażę, jak naprawić zakres klikalności w skrytce. Prawidłowy zakres klikalności powinien, być tylko na przycisku, a nie na czarnym tle, gdzie obok sąsiaduje aktualna wartość ilości złota w skrytce. Błąd ten występuje od początku wydania Diablo II, Diablo II demo i w dodatku LoD.

Potrzebny plik: D2Client.dll i Hexedytor, np. Hex Workshop.
Otwórz plik: D2Client.dll Hexedytorem i naciśnij: ctrl+g. W oknie, które się otworzy należy wprowadzić taką wartość: 8B6FE, a następnie naciśnij przycisk Go lub naciśnij klawisz: "Enter".
Dzięki temu Hexedytor przejdzie pod wskazany adres.

Pod tym adresem widnieje taki oto wpis:
Kod:

9600


Należy go zastąpić 5F (Zamiast: 150px, teraz zakres kliknięcia będzie wynosił: 95px), czyli będzie wyglądał tak:
Kod:

5F00


Zapisz plik: D2Client.dll wciskając ctrl+s i testuj naprawiony błąd, którego Blizzard nie naprawił od prawie 11 lat i pewnie nie naprawi.
 
     
jaster 
aka Cossack

Konto na IDR: Cossack
Dołączył: 11 Cze 2011
Wysłany: 2014-10-14, 10:55   

Tytuł: Otwieranie Red Portalu z kostki horadrimów
Metoda: OllyDbg/Hex

Witam, dziś pokaże wam jak otworzyć Red Portal tak jak to robi np Cow Level czy Pandemonium z kostki horadrimów wymaga to dość dużej zmiany ale mam nadzieję że każdy sobie poradzi. Ogólnie takie rzeczy robi się zazwyczaj z osobnej dll napisane w c++ ale nie każdy ma taką możliwość więc dziś przedstawie to bez dll a edytując 2 pliki

Potrzebny będzie plik: D2Common.dll i Hexedytor, np. Hex Workshop.
Otwórz plik: D2Common.dll Hexedytorem i naciśnij: ctrl+g, w tym oknie wprowadź taką wartość: 94F60, a następnie naciśnij przycisk Go lub naciśnij klawisz: "Enter".

Teraz dodajemy w dziesiętnym
Kod:
Portal

lub w hex
Kod:
50 6F 72 74 61 6C


Teraz ten sam ploik D2Common.dll odpalamy przy użyciu ollydbg i idziemy na adres(ctrl+g)
Kod:
6FDD87EB

i dodajemy tam
Kod:
PUSH OFFSET 6FDE4F60
    PUSH EBP
    MOV DWORD PTR SS:[ESP+20],ESI
    CALL 6FD51EC0
    ADD ESP,8
    TEST EAX,EAX
    JNE 6FD6BAD0
    MOV BYTE PTR DS:[EBX+8],4
    JMP 6FD6BB96


Teraz idziemy na adres
Kod:
6FD6BAC5

i dodajemy
Kod:
 JNE SHORT 6FD6BA5A


I ostatnią rzeczą jaką zrobimy w tej dll to dodanie skoku do naszej funkcji więc idziemy na adres
Kod:
6FD6BA5A

i dodajemy
Kod:
JMP 6FDD87EB



Potrzebny będzie plik: D2Game.dll i znowu ollydbg
Otwórz plik: D2Game.dll ollydbg i naciśnij: ctrl+g i wpisz
Kod:
6FD17B0F

Tutaj dodajemy dość dużo
Kod:
SUB ESP,1C
    PUSH EBP
    MOV EBP,DWORD PTR SS:[ESP+24]
    MOV EAX,DWORD PTR SS:[EBP+10F4]
    MOV ECX,DWORD PTR DS:[EAX+8]
    MOV EAX,DWORD PTR DS:[EAX+0C]
    PUSH EBX
    PUSH ESI
    PUSH EDI
    PUSH 0B                                                         
    PUSH 4                                                 
    PUSH EAX                                                       
    CALL 6FC2A568           
    MOV ESI,DWORD PTR SS:[ESP+34]
    PUSH ESI                                                               
    CALL 6FC2A4C0           
    MOVZX ECX,BYTE PTR SS:[EBP+6D]
    MOV EAX,DWORD PTR DS:[ECX*4+EAX+10]
    PUSH 0A                                                         
    PUSH 4                                                         
    PUSH EAX                                                               
    CALL 6FC2A568           
    MOV EAX,DWORD PTR SS:[EBP+70]
    PUSH ESI                                                       
    CALL 6FC2A4C0                   
    MOVZX ECX,BYTE PTR SS:[EBP+6D]
    MOV EAX,DWORD PTR DS:[ECX*4+EAX+10]
    PUSH 0                                                 
    PUSH 28                                                 
    PUSH EAX                               
    CALL 6FC2A568                   
    PUSH ESI                               
    CALL 6FC2A478           
    MOV EDI,EAX
    PUSH EDI                       
    CALL 6FC2A556   
    CMP EAX,6D
    JNE 6FD17C79
    MOV CL,BYTE PTR SS:[EBP+6D]
    CMP CL,2
    JNE 6FD17C79
    LEA EDX,[ESP+24]
    PUSH EDX                                       
    PUSH ESI                               
    MOV DWORD PTR SS:[ESP+38],0
    CALL 6FC2A544   
    PUSH 64                 
    LEA EAX,[ESP+34]
    PUSH EAX                       
    PUSH 400                       
    PUSH 3                 
    LEA ECX,[ESP+34]
    PUSH ECX                               
    PUSH EDI                       
    CALL 6FC54130           
    MOV EDI,DWORD PTR SS:[ESP+30]
    MOV EDX,DWORD PTR SS:[ESP+28]
    MOV EAX,DWORD PTR SS:[ESP+24]
    MOV DWORD PTR SS:[ESP+14],EDX
    MOV DWORD PTR SS:[ESP+10],EAX
    PUSH EDI                       
    CALL 6FC2A808   
    PUSH 27                 
    CALL 6FC2A56E   
    PUSH EDI                       
    MOV BL,AL       
    CALL 6FC2A556
    PUSH EAX                       
    MOV DWORD PTR SS:[ESP+1C],EAX
    CALL 6FC2A56E
    MOV ECX,DWORD PTR SS:[ESP+10]
    MOV EDX,DWORD PTR SS:[ESP+14]
    PUSH 0         
    PUSH 0C01
    PUSH 3E01
    PUSH 3
    LEA EAX,[ESP+2C]               
    MOV DWORD PTR SS:[ESP+2C],ECX
    PUSH EAX               
    MOV ECX,EAX     
    PUSH ECX               
    PUSH EDI                       
    MOV DWORD PTR SS:[ESP+3C],EDX
    CALL 6FC2AE98   
    MOV EBX,DWORD PTR SS:[ESP+1C]
    MOV EDI,DWORD PTR SS:[ESP+20]
    MOV EAX,DWORD PTR SS:[ESP+30]
    MOV DWORD PTR SS:[ESP+10],EBX
    MOV DWORD PTR SS:[ESP+14],EDI
    CALL 6FC21280
    MOV EDI,EAX
    MOV EDX,DWORD PTR SS:[ESP+14]
    PUSH 0         
    PUSH 1         
    PUSH 1
    PUSH EDI       
    PUSH EBP       
    PUSH EDX       
    MOV EAX,EBX     
    PUSH EAX       
    MOV EDX,3C     
    MOV ECX,2       
    CALL 6FD01D90   
    MOV ESI,EAX
    PUSH 1
    PUSH ESI
    CALL 6FC2A4A2
    MOV ECX,DWORD PTR SS:[ESP+18]
    PUSH ECX                       
    PUSH 88                         
    PUSH ESI                       
    PUSH EBP       
    CALL 6FCC22E0   
    POP EDI
    POP ESI
    POP EBX
    MOV EAX,1
    POP EBP
    ADD ESP,1C
    RETN 8
    PUSH ESI
    MOV WORD PTR DS:[ESI+6E],14
    MOV DWORD PTR DS:[ESI+70],ESI
    CALL 6FC2A4DE
    MOV EAX,DWORD PTR DS:[ESI+0C4]
    OR EAX,00000400
    POP EDI
    MOV DWORD PTR DS:[ESI+0C4],EAX
    POP ESI
    POP EBX
    XOR EAX,EAX
    POP EBP
    ADD ESP,1C
    RETN 8



Warunki żeby otworzyć ten portal
-być w akt 5
-można otworzyć portal tylko na poziomie trudności piekło


id poziomu gdzie ma nas przenieść portal dodajemy na tym adresie
Kod:
6FD17C5E |. 68 88000000 PUSH 88

88 w hex to 136 id uber tristram jest 136 wystarczy zmienić PUSH 88 na PUSH id w hex poziomu do którego chcemy żeby portal nas przenosił


to jest sprawdzenie czy jesteśmy w danej lokalizacji. 6D w hex to 109 czyli akt 5 możemy tu zmienić na dowolnej id lub usunąć te 2 linijki
Kod:
  adres=6FD17B75
    CMP EAX,6D
    JNE 6FD17C79



to jest sprawdzenie poziomu trudności cmp cl porównuje poziom trudności z 2 możemy to zmienić na
0-norm
1-kosz
2-hell
lub usunąć te 3 linijki
Kod:
    adres=6FD17B7E
    MOV CL,BYTE PTR SS:[EBP+6D]
    CMP CL,2
    JNE 6FD17C79



Ok funkcja otwierania portalu już jest ale przecież sama się nie wykona więc musimy zmodyfikować trochę funkcję kostki horadrimów idziemy na adres
Kod:
 6FC92417

i zmieniamy na
Kod:
JMP 6FD17AB8


teraz idziemy na adres
Kod:
6FD17AB8

i dodajemy
Kod:
    CMP AL,4
    JE SHORT 6FD17AE4
    MOVZX ECX,AL
    JMP 6FC9241E


teraz idziemy na adres
Kod:
6FD17AE4

dodajemy
Kod:
 MOV EDX,DWORD PTR SS:[ESP+12C]
    MOV ECX,DWORD PTR SS:[ESP+128]
    CALL 6FD17A2B
    JMP 6FC92439


idziemy na adres
Kod:
6FD17A2B

i dodajemy
Kod:
  PUSH EDX
    PUSH ECX
    CALL 6FD17B0F   
    RETN



Zostało jeszcze dodanie receptury w cubemain.txt
output dajemy Portal
op 28
a resztę według własnego uznania

Od teraz możesz cieszyć się swoim portalem do dowolnej lokalizacji

Mam nadzieję że napisałem ten tutorial zgodnie z szablonem, a także że nikt nie będzie miał problemu z wykonaniem tej modyfikacji w razie pytań piszcie na pm
 
     
diabloel 


Klan: SoV
Konto na IDR: diabloel
Wiek: 101
Dołączył: 20 Cze 2014
Skąd: Woodstock
Wysłany: 2016-05-25, 14:51   

Tytuł: Zwiększenie limitu złota w skrzyni
Metoda: OllyDbg

Witam, dzisiaj pokaże, jak zwiększyć limit złota w skrzyni.

[Skrzynia]

Obecnie mamy maksymalnie 2.5mln złota w skrzyni a po zmianie będziemy go mieć 100mln .

Otwieramy plik D2Common.dll po czym naciskamy ctrl+g i wpisujemy 6FD7E9C0 i ujrzymy coś takiego:

Kod:
6FD7E9C0 >  B8 A0252600     MOV EAX,2625A0


Klikamy na MOV EAX,2625A0 dwukrotnie
Wyskoczy nam okienko i wpisujemy
Kod:
MOV EAX,5F5E100

Klikamy Assemble następnie cancel.

Ppm szukamy copy to executable all modifications >>copy wyskoczy nam okienko i klikamy save file i zrobione.
Od teraz możemy się cieszyć większa ilością złota w skrzyni.
 
 
     
diabloel 


Klan: SoV
Konto na IDR: diabloel
Wiek: 101
Dołączył: 20 Cze 2014
Skąd: Woodstock
Wysłany: 2016-05-28, 17:49   

Tytuł:Zmienienie koloru nicku oraz wiadomości na chat
Metoda:Ollydbg
Potrzebny plik:D2client.dll

Witam, dzisiaj pokaże, jak zmienić kolor tekstu oraz nazwy postaci.


Otwieramy D2client.dll w ollydbg

[Kolor nazwy postaci]

Naciśnij ctrl+g i szukamy wartości:
Kod:
6FB2FA72


Po czym ukaże się nam takie coś
:
Kod:
6FB2FA72    6A 04           PUSH 4
//liczbę 4 zmieniamy na nasz nowy kolor np. 1 (czerwony)

[Treść wiadomości]

Szukamy wartości:


Kod:
6FB2FAA8


Po czym ukaże się nam takie coś:
Kod:
6FB2FAA8    6A 00           PUSH 0
//liczbę 0 zmieniamy na nasz nowy kolor np. C(ciemno zielony)

Ppm szukamy copy to executable all modifications >>copy wyskoczy nam okienko i klikamy save file i zrobione.


A oto efekt naszych prac:
 
 
     
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Możesz ściągać załączniki na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group
Forum należy do serwisu Imperium Diablo