DinDon
December 7th, 2000, 04:11
Quote:
I am not as aware as some as to how to go about patching a DLL.
|
Patching a DLL is a very different task from reassembling it! It means to locate the code you want to alter, and overwrite it with new code bytes. To do it you need:
- some assembly knowledge
- some assembler tools, which will convert your new assembly code into hexadecimal code bytes. SoftIce will do it well enough. Other tools at e.g. protools.cjb.net
Quote:
I have gotten some great advice on assembling a DLL from a ASM file but where do I get this RES file and def file.
|
RES file: you can create it starting from your DLL and using Microsoft or Borland compilers and related tool
DEF file: since it is a simple text file, you can build it by hand
Quote:
And is there some nice program that will just re assemble the ASM without so much trouble?
|
As I tried to tell you before, the reassembling of a DLL/EXE file is not a trivial task, and it cannot be done in an automated manner. I am suggesting you again to try another approach: patching it.
Before patching it you can set breakpoints and change the code on the fly using some debugger (e.g. SoftIce). The important thing is to get a quite good knowledge of the debugger you will use!
Quote:
Now I just got Softice but when I go to use it I have to use some other program to access the driver and all it shows up in the log is what Dlls it accessed but nothing on the instructions of that dll. So I'm stuck
|
Dark, you must use the right breakpoints...
And I cannot tell you what without looking at the DLL (and unfortunately I have no time to look at it...)
Quote:
Also I do not know SOftice well enough to hit the road running.
|
A lot of time and a lot of patience will be required if you want to make some progress on your target.
Quote:
It's amazing how much they want you to pay for it too LOL.
|
Then use some freeware debugger! The Microsoft one (one of the best IMHO) is free! Grab it at http://www.microsoft.com/ddk/debugging/
But then the problem is again the same: you must learn it very well!
Quote:
Now it gets its version info from another dll called kernel32.dll which is a windows DLL file.
|
The Windows version is probably used to generate the true serial, which then will be compared with the serial you have entered...
Hope it may help you.