AlliedModders

AlliedModders (https://forums.alliedmods.net/index.php)
-   Extensions (https://forums.alliedmods.net/forumdisplay.php?f=134)
-   -   Source Scramble (memory patching and allocation natives) (https://forums.alliedmods.net/showthread.php?t=317175)

nosoop 07-01-2019 01:17

Source Scramble (memory patching and allocation natives)
 
Description:

Provides the following features to SourceMod plugins:
  • Allows plugins to enable / disable memory patches whose platform-specific payloads are defined in their game configs in their own unique section (based on Peace-Maker's implementation for dynhooks).
  • Allows plugins to allocate memory (which can then be accessed with StoreToAddress and LoadFromAddress).
  • Both of the above is cleaned up and freed when the plugin that owns them is unloaded (so you don't have to unpatch during OnPluginEnd()).
I wrote this as a generalized way to do patches like No Thriller Taunt, without needing to keep a boilerplate plugin on hand to deal with all the setup / teardown, or even another plugin at all (the bundled patch management plugin can load and enable simple patches for you).

More developer information is available in the project's README.

Source / Download

SHUFEN 07-05-2019 00:12

Re: Source Scramble (memory patching and allocation natives)
 
Wow, awesome extension!!

Shadowysn 11-11-2019 22:12

Re: Source Scramble (memory patching and allocation natives)
 
Chrome reports that package.zip is not commonly downloaded and may be dangerous.

nosoop 07-12-2021 08:14

Re: Source Scramble (memory patching and allocation natives)
 
This is a thread that I've neglected to update.

A feature that was requested a few times was the ability to preserve bytes from memory before it was patched. A preserve key has been introduced in today's release, where a bitmask in hex format indicates which bits should be copied.

There's a couple of other natives added since the original posting including GetAddressOf*() to get the raw address of a value in plugin memory space and MemoryBlock.Disown() to prevent the extension from freeing memory you've allocated when the handle is deleted.

JLmelenchon 06-28-2022 15:51

Re: Source Scramble (memory patching and allocation natives)
 
is it possible that this extension cause a memory leak ? My server memory constantly grow up now.

nosoop 06-28-2022 20:52

Re: Source Scramble (memory patching and allocation natives)
 
Quote:

Originally Posted by JLmelenchon (Post 2782666)
is it possible that this extension cause a memory leak ? My server memory constantly grow up now.

The extension itself does not allocate any more memory outside of created MemoryBlock and MemoryPatch handles (and associated MemoryPatch gameconfig entries); check your plugins to see if they are unintentionally leaking any instances.

cravenge 01-27-2023 21:56

Re: Source Scramble (memory patching and allocation natives)
 
6 Attachment(s)
I have made a (once private, now public) fork of this extension which supports 64-bit platforms. You can get the released builds from here or grab the ones attached below. All credits go to the original author.

For Linux, those with linux in their names support the latest distribution while the ones with nix in them only support the previous one.

Please do not ask support for older Linux distributions as I have no idea on how to accomplish that.

cravenge 02-15-2023 23:22

Re: Source Scramble (memory patching and allocation natives)
 
9 Attachment(s)
Edit: Repurposed this post for builds that work only on old SourceMod versions down to 1.8 and none older than that version.

For Linux, those with linux in the name support the latest distribution while the ones with nix in them only support the previous one.

Please do not ask support for older Linux distributions as I have no idea on how to accomplish that.

w1nny 05-19-2023 12:23

Re: Source Scramble (memory patching and allocation natives)
 
Quote:

Originally Posted by nosoop (Post 2657347)
Description:

Provides the following features to SourceMod plugins:
  • Allows plugins to enable / disable memory patches whose platform-specific payloads are defined in their game configs in their own unique section (based on Peace-Maker's implementation for dynhooks).
  • Allows plugins to allocate memory (which can then be accessed with StoreToAddress and LoadFromAddress).
  • Both of the above is cleaned up and freed when the plugin that owns them is unloaded (so you don't have to unpatch during OnPluginEnd()).
I wrote this as a generalized way to do patches like No Thriller Taunt, without needing to keep a boilerplate plugin on hand to deal with all the setup / teardown, or even another plugin at all (the bundled patch management plugin can load and enable simple patches for you).

More developer information is available in the project's README.

Source / Download

I want just to inform you guys: this extension stop from working in L4D2 due to the lastest update (both Linux and Windows OS, I guess). Now, this extension - crash the server everytime when i trying to start the server (So, delete this one until this fixed). Please, fix this extension one.

HarryPotter 05-19-2023 13:28

Re: Source Scramble (memory patching and allocation natives)
 
Quote:

Originally Posted by w1nny (Post 2804629)
I want just to inform you guys: this extension stop from working in L4D2 due to the lastest update (both Linux and Windows OS, I guess). Now, this extension - crash the server everytime when i trying to start the server (So, delete this one until this fixed). Please, fix this extension one.

No, this extension doesn't crash on my server.
It is still working well.
Some plugins which require this extension are broken maybe.

PHP Code:

L4D2 Windows Dedicated
[18Source Scramble (0.7.1): Tools for working with memory



All times are GMT -4. The time now is 01:45.

Powered by vBulletin®
Copyright ©2000 - 2024, vBulletin Solutions, Inc.