Transmogrify message

This forum is for discussions on how to edit what can not be edited through the txt files, needless to say this isn't about battle net hacking.

Moderators: Nefarius, Havvoric

User avatar
Kraj
Retired staff
Angel
Posts: 955
Joined: Tue May 28, 2002 8:57 pm
Location: Chicago, IL, USA

Transmogrify message

Post by Kraj » Wed Nov 26, 2003 7:16 am

Has anyone found the offset to remove the transmogrify display message for 1.10 by any chance?

User avatar
MindChild
Junior Member
Paladin
Posts: 134
Joined: Sun Jun 02, 2002 6:27 am
Location: Washington, USA

Re: Transmogrify message

Post by MindChild » Thu Nov 27, 2003 12:11 am

find

Code: Select all

6FAE2092   E8 5B8F0800      CALL <JMP.&D2Common.#10825>
6FAE2097   85C0             TEST EAX,EAX
6FAE2099   0F85 821B0000    JNZ D2CLIENT.6FAE3C21
6FAE209F   83FF 05          CMP EDI,5
6FAE20A2   0F85 0D0B0000    JNZ D2CLIENT.6FAE2BB5

in dll:

00042091   50               PUSH EAX
00042092   E8 5B8F0800      CALL 000CAFF2
00042097   85C0             TEST EAX,EAX
00042099   0F85 821B0000    JNZ 00043C21
0004209F   83FF 05          CMP EDI,5


change it to

Code: Select all


6FAE2092   E8 5B8F0800      CALL <JMP.&D2Common.#10825>
6FAE2097   85C0             TEST EAX,EAX
6FAE2099   90               NOP
6FAE209A   90               NOP
6FAE209B   90               NOP
6FAE209C   90               NOP
6FAE209D   90               NOP
6FAE209E   90               NOP
6FAE209F   83FF 05          CMP EDI,5
6FAE20A2   0F85 0D0B0000    JNZ D2CLIENT.6FAE2BB5

in dll

00042091   50               PUSH EAX
00042092   E8 5B8F0800      CALL 000CAFF2
00042097   85C0             TEST EAX,EAX
00042099   90               NOP
0004209A   90               NOP
0004209B   90               NOP
0004209C   90               NOP
0004209D   90               NOP
0004209E   90               NOP
0004209F   83FF 05          CMP EDI,5



i believe this will work...


also, to change the message you can add the customdll code + my addition and add

Code: Select all

indexed[5387]="convertsto";

to it and add convertsto into the custom table
'convertsto' is in string.tbl but is accessed via index strangely enough, so if you dont add it to your custom dll it will just use the one in string.tbl
Last edited by MindChild on Thu Nov 27, 2003 12:21 am, edited 1 time in total.

And the skies parted. The earth trembled and the seas poured into the endless cracks of hell's mouth. Only he who remains is chosen to be the next, and only he who remains will survive the final battle.

User avatar
Kraj
Retired staff
Angel
Posts: 955
Joined: Tue May 28, 2002 8:57 pm
Location: Chicago, IL, USA

Re: Transmogrify message

Post by Kraj » Thu Nov 27, 2003 7:39 am

Yikes! Isn't there an offset that can be switched off like in 1.09?

User avatar
MindChild
Junior Member
Paladin
Posts: 134
Joined: Sun Jun 02, 2002 6:27 am
Location: Washington, USA

Re: Transmogrify message

Post by MindChild » Thu Nov 27, 2003 7:42 am

yeah, you just nop out the jump, (just a small bit of code, i just showed where in the dll or memory it needed to be changed and what it used to be).

And the skies parted. The earth trembled and the seas poured into the endless cracks of hell's mouth. Only he who remains is chosen to be the next, and only he who remains will survive the final battle.

User avatar
Kraj
Retired staff
Angel
Posts: 955
Joined: Tue May 28, 2002 8:57 pm
Location: Chicago, IL, USA

Re: Transmogrify message

Post by Kraj » Wed Dec 03, 2003 6:44 am

Well I still can't make heads nor tails of this. I'm using XVI32... you don't specify which dll it is so I tried several. I've searched for strings and addresses in every way I know how with the program with no results.

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Sweden

Hand-picked

Re: Transmogrify message

Post by kingpin » Wed Dec 03, 2003 8:44 am

You should work with OllyDbg instead, since the code in here are posted as assembler code and not HEX.

User avatar
MindChild
Junior Member
Paladin
Posts: 134
Joined: Sun Jun 02, 2002 6:27 am
Location: Washington, USA

Re: Transmogrify message

Post by MindChild » Wed Dec 03, 2003 4:46 pm

its in d2client.dll, cause of course, that deals with the clientside things (such as calls to d2win etc)

And the skies parted. The earth trembled and the seas poured into the endless cracks of hell's mouth. Only he who remains is chosen to be the next, and only he who remains will survive the final battle.

User avatar
Kraj
Retired staff
Angel
Posts: 955
Joined: Tue May 28, 2002 8:57 pm
Location: Chicago, IL, USA

Re: Transmogrify message

Post by Kraj » Wed Dec 03, 2003 8:56 pm

I have no interest in working with Ollydb and the game code. Nevertheless, I figured it wouldn't hurt to give it a try. So I did. And I wasted my time. Ollydbg can't even open up a dll directly, so how am I supposed to make changes in the dll? And in no attempt in any dll or exe with any program have I been able to find anything that remotely looks like the code that was posted.

I would have been less frustrated if simply told, "To answer your question is, no - there is no dll offset change that can turn off the transmogrify message like there was in 1.09. This change requires more code editing."

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Sweden

Hand-picked

Re: Transmogrify message

Post by kingpin » Wed Dec 03, 2003 9:25 pm

In OllyDbg you need to file/open or file/attach (is used when debugging in game) the game.exe first. When you have done this you can use View/File to open up the actual .dll.
I would have been less frustrated if simply told, "To answer your question is, no - there is no dll offset change that can turn off the transmogrify message like there was in 1.09. This change requires more code editing."
The princip should be the same with removing the transmogrify message as in 1.09x since it would surprise me a lot if that code has changed anything.

User avatar
MindChild
Junior Member
Paladin
Posts: 134
Joined: Sun Jun 02, 2002 6:27 am
Location: Washington, USA

Re: Transmogrify message

Post by MindChild » Thu Dec 04, 2003 12:37 am

ok, no more arguments, the offset for the DLL in D2CLIENT.DLL is:

0x42099

0F85821B0000

change it to

0x42099

909090909090

the code above showed this as well, but apparently you looked right past it because it also had the equivelent Assembly code along the right of that...

And the skies parted. The earth trembled and the seas poured into the endless cracks of hell's mouth. Only he who remains is chosen to be the next, and only he who remains will survive the final battle.

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12100
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U
United States of America

Hand-picked

Re: Transmogrify message

Post by Myhrginoc » Thu Dec 04, 2003 2:38 am

[quote=kingpin";p="142619"]In OllyDbg you need to file/open or file/attach (is used when debugging in game) the game.exe first. When you have done this you can use View/File to open up the actual .dll.[/quote]

Actually View | File is similar to a hex editor, you don't attach to a running program to use it. The command when attached is View | Executables, which gives you a list of every module visible within the process allocated to the game.

Never File | Open on Diablo II. Game.exe has some anti-debugging code that crashes you out if Ollydbg is attached at the very start. Always File | Attach after the first D2 window is drawn (even before it finishes the fill).
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

User avatar
kingpin
Retired Admin
Cherub
Posts: 10954
Joined: Sat Jan 11, 2003 12:51 pm
Sweden

Hand-picked

Re: Transmogrify message

Post by kingpin » Thu Dec 04, 2003 2:46 am

Actually View | File is similar to a hex editor, you don't attach to a running program to use it. The command when attached is View | Executables, which gives you a list of every module visible within the process allocated to the game.
Oh, i have always opened up game.exe before editing the file locally, then i learned somethings new ;)

User avatar
Myhrginoc
Retired Admin
Cherub
Posts: 12100
Joined: Sat May 25, 2002 7:28 am
Location: Percussion U
United States of America

Hand-picked

Re: Transmogrify message

Post by Myhrginoc » Thu Dec 04, 2003 3:21 am

You have to be careful when using View | File. If you open a DLL up this way, you will see raw hex. You can right-click | Disassemble, and you will get a view similar to the code we copy here. But this doesn't mean you have disassembled the file in a meaningful way. The first problem is relative addressing. Disassembling from File | Attach gets you absolute addressing from the memory image. Disassembling from View | File gets you relative addressing from the file offset. But some addresses need to be absolute references, as this sample from D2Client.dll shows:

Code: Select all

0000E9D9    57              PUSH EDI
0000E9DA    6A 35           PUSH 35
0000E9DC    BA 4C60B76F     MOV EDX,[color=tan]6FB7604C[/color]
0000E9E1    B9 4C1F0000     MOV ECX,1F4C
0000E9E6    E8 E9BC0B00     CALL 000CA6D4
Note the numbers on the far left are now file offsets, they range from 00 to the end of file. But code in D2 modules starts at file offset 1000, and there are several non-code sections between the end of code and the end of the file. But disassembly from View | File makes no distinction between code and non-code sections!

It is far better to use View | File for hex editing mode and File | Attach for disassembly. Also the latter mode is the only way to use Ollydbg's analysis tools and breakpoints.
Last edited by Myhrginoc on Thu Dec 04, 2003 3:23 am, edited 1 time in total.
Do the right thing. It will gratify some people and astonish the rest.
~ Mark Twain
Run Diablo II in any version for mods: tutorial
The Terms of Service!! Know them, abide by them, and enjoy the forums at peace.
The Beginner's Guide v1.4: (MS Word | PDF) || Mod Running Scripts || TFW: Awakening

Return to “Code Editing”