flat assembler
Message board for the users of flat assembler.
Index
> Windows > Patching system dlls Goto page Previous 1, 2, 3, 4 Next |
Author |
|
decard 11 Dec 2005, 18:13
Is there any such project somewhere on the web?
|
|||
11 Dec 2005, 18:13 |
|
DC740 11 Dec 2005, 19:48
i didn't find any, and going back to the topic, it's true, the only way to patch system dlls is copying the patched dll to the dll cache directory...
http://www.windowsnetworking.com/articles_tutorials/Tweaking-XP-Windows-File-Protection-SP2.html good bye n happy coding |
|||
11 Dec 2005, 19:48 |
|
lilljocke 12 Dec 2005, 01:40
Hi
I very interested in this project. I'm codeing a program that can make a "system dll patcher" program. i hope that it can help you Is the 64 bit version more secure? i mean if it use the same funtion as the 32 bit? |
|||
12 Dec 2005, 01:40 |
|
Matrix 12 Dec 2005, 03:56
Madis731 wrote: Aren't the 64 and 32-bit variants of Intel CPUs equally priced? You can even buy a 64-bit Celeron for about $100 to test this code thx, but i need now, new ram, new processor, motherboard, video card, hdd, dvdrw, monitor, keyboard, and some rack |
|||
12 Dec 2005, 03:56 |
|
Madis731 12 Dec 2005, 08:03
What if we hypothetically rewrite all functions. What happens to that file in general. I mean it doesn't get any smaller because the function entry addresses must remain the same - you might only get it smaller by optimizing the last function in binary for size.
What happens when your new code is more speedwise than size? You will use freed space from other function and jump or call to these This makes for pipeline flush penaly and speed bump. How would a separate DLL be possible? Do you have to change all references to these functions? Raw-linked programs will not work then |
|||
12 Dec 2005, 08:03 |
|
r22 13 Dec 2005, 23:26
With the amount of space there's no way that I've found to optimize ALL the memory moves. I've tried a few methods but I either run out of space or I only speed up small sizes and medium sizes are slow or visa versa. AMD64 optimization guide was pretty much followed to the letter in the 64bit memmove.
If someone else wants to give it a try good luck the source for the function is 14posts /\ up. |
|||
13 Dec 2005, 23:26 |
|
decard 13 Dec 2005, 23:37
Why you can't change addresses of functions?
|
|||
13 Dec 2005, 23:37 |
|
LocoDelAssembly 13 Dec 2005, 23:48
Madis731 wrote: Raw-linked programs will not work then |
|||
13 Dec 2005, 23:48 |
|
vbVeryBeginner 14 Dec 2005, 22:05
sorry, not intend to Quote: I think we've trailed away from the point... Last edited by vbVeryBeginner on 15 Dec 2005, 03:54; edited 1 time in total |
|||
14 Dec 2005, 22:05 |
|
r22 15 Dec 2005, 01:13
I think we've trailed away from the point...
Help me optimize the win64 memmove function END STATEMENT Anyone know of an AMD *64* paper that has source code on an amd lab optimized memmove? There's AMD provided source for an MMX memmove but thats not for 64bit architecture. There 64bit opt guide just says "Your OS will proivde an optimized memmove blah blah blah" |
|||
15 Dec 2005, 01:13 |
|
vid 15 Dec 2005, 01:24
I think that mov is optimized...
Rather try to look for some other extremely-bad optimized function which is often used, you will get more speed that way. |
|||
15 Dec 2005, 01:24 |
|
lilljocke 15 Dec 2005, 22:15
Here is a tool for creating a patch to your patched ntdll file. I have tested it my self and it works finne . I have not coded any size or CRC check to the patcher becouse it is can be different size between the files.
|
|||||||||||
15 Dec 2005, 22:15 |
|
Madis731 16 Dec 2005, 08:33
Does this old source of memcpy() help you?
http://www.azillionmonkeys.com/qed/blockcopy.html This is how results from the end of year 2003 are commented: Paul Hsieh wrote: Update (9/11/03): For the Athlon XP processor, using the xmm registers (SSE) leads to a dramatic performance improvement either in or out of the cache (don't ask me why/how): ...and at the very end of the article he gives you a link to AMD's memcpy(): ftp://ftp.amd.com/pub/devconn/vcc/memcpy_amd.zip It got me thinking here - the cache pollution theme. When you bypass cache it retains the values in it but is it that neccessary at that moment. Let's say you have a 2MB cache on modern CPU. You have a GB of data to copy or move. Would it be significantly faster to copy in strides of 128Bytes bypassing cache than copying in strides of 2MB (2097152Bytes!!!). Why I came to this idea was the harddisk problem where you have two threads running that both access disk, but from different areas. The head flips like a maniac The problem with 128bytes is that you won't get an average speed out of it when there are jumps and comparisons included. 2MB of continuous copying would be a breeze and it would favour even RDRAMs (though they are less common) and other high-speed, high-latency RAMs. You think that they are RANDOM-access-memory, but the fact is that you won't get the full speed out of them if you randomly access by only a few bytes. Did this make sense or should I be more specific? |
|||
16 Dec 2005, 08:33 |
|
vid 16 Dec 2005, 14:48
due to what i 've read SSE can't be safely used in Win64 anymore
|
|||
16 Dec 2005, 14:48 |
|
Tomasz Grysztar 16 Dec 2005, 14:54
Don't you mean FPU? AFAIK, the SSE should be used instead of FPU in Win64 (since FPU registers are not preserved).
|
|||
16 Dec 2005, 14:54 |
|
MazeGen 16 Dec 2005, 15:03
You're wrong, vid, I was talking about MMX and FPU, these are not saved between process switches.
|
|||
16 Dec 2005, 15:03 |
|
LocoDelAssembly 16 Dec 2005, 15:21
Why MMX/FPU are not saved anymore? If I need a REAL10 number how can I handle it without FPU?
|
|||
16 Dec 2005, 15:21 |
|
MazeGen 16 Dec 2005, 15:48
See this link.
Quote:
Why? I really don't know, maybe because the operation of saving/restoring is too slow. How? For FP operations, you have SSE, SSE2 and SSE3. |
|||
16 Dec 2005, 15:48 |
|
Tomasz Grysztar 16 Dec 2005, 15:59
But he's right, there's no 80-bit fp operations in SSE.
|
|||
16 Dec 2005, 15:59 |
|
Goto page Previous 1, 2, 3, 4 Next < Last Thread | Next Thread > |
Forum Rules:
|
Copyright © 1999-2025, Tomasz Grysztar. Also on GitHub, YouTube.
Website powered by rwasa.