Raised This Month: $ Target: $400
 0% 

Source Scramble (memory patching and allocation natives)


Post New Thread Reply   
 
Thread Tools Display Modes
Author Message
nosoop
Veteran Member
Join Date: Aug 2014
Old 07-01-2019 , 02:17   Source Scramble (memory patching and allocation natives)
Reply With Quote #1

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 do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

Last edited by nosoop; 07-12-2021 at 09:16. Reason: Update stale URL fragment
nosoop is offline
SHUFEN
Senior Member
Join Date: Jun 2014
Location: Japan, Tokyo
Old 07-05-2019 , 01:12   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #2

Wow, awesome extension!!
SHUFEN is offline
Send a message via Skype™ to SHUFEN
Shadowysn
Senior Member
Join Date: Sep 2015
Location: Location:
Old 11-11-2019 , 23:12   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #3

Chrome reports that package.zip is not commonly downloaded and may be dangerous.
__________________
ragdoll spam, that is all

Steam profile, where I game, obviously.
Youtube channel, where I do Stick Death Maze animations and some other stuff.
no plugin requests, sorry


My Plugins:
-search list-
Modified Plugins:
1 | 2 | 3 | 4
Shadowysn is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 07-12-2021 , 09:14   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #4

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.
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)

Last edited by nosoop; 07-12-2021 at 12:29.
nosoop is offline
JLmelenchon
Senior Member
Join Date: Mar 2019
Old 06-28-2022 , 16:51   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #5

is it possible that this extension cause a memory leak ? My server memory constantly grow up now.
JLmelenchon is offline
nosoop
Veteran Member
Join Date: Aug 2014
Old 06-28-2022 , 21:52   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #6

Quote:
Originally Posted by JLmelenchon View Post
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.
__________________
I do TF2, TF2 servers, and TF2 plugins.
I don't do DMs over Discord -- PM me on the forums regarding inquiries.
AlliedModders Releases / Github / TF2 Server / Donate (BTC / BCH / coffee)
nosoop is offline
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 01-27-2023 , 22:56   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #7

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.
Attached Files
File Type: zip srcscramble-sm1.11-linux-218a4f5.zip (216.0 KB, 187 views)
File Type: zip srcscramble-sm1.11-nix-218a4f5.zip (216.6 KB, 112 views)
File Type: zip srcscramble-sm1.11-win-218a4f5.zip (165.4 KB, 230 views)
File Type: zip srcscramble-sm1.12-linux-218a4f5.zip (216.0 KB, 219 views)
File Type: zip srcscramble-sm1.12-nix-218a4f5.zip (216.6 KB, 157 views)
File Type: zip srcscramble-sm1.12-win-218a4f5.zip (165.4 KB, 223 views)

Last edited by cravenge; 01-10-2024 at 06:40.
cravenge is offline
cravenge
Veteran Member
Join Date: Nov 2015
Location: Chocolate Factory
Old 02-16-2023 , 00:22   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #8

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.
Attached Files
File Type: zip srcscramble-sm1.8-linux-218a4f5.zip (102.9 KB, 108 views)
File Type: zip srcscramble-sm1.8-nix-218a4f5.zip (104.8 KB, 116 views)
File Type: zip srcscramble-sm1.8-win-218a4f5.zip (75.6 KB, 171 views)
File Type: zip srcscramble-sm1.9-linux-218a4f5.zip (103.3 KB, 103 views)
File Type: zip srcscramble-sm1.9-nix-218a4f5.zip (105.3 KB, 107 views)
File Type: zip srcscramble-sm1.9-win-218a4f5.zip (75.7 KB, 121 views)
File Type: zip srcscramble-sm1.10-linux-218a4f5.zip (209.2 KB, 95 views)
File Type: zip srcscramble-sm1.10-nix-218a4f5.zip (212.9 KB, 160 views)
File Type: zip srcscramble-sm1.10-win-218a4f5.zip (165.4 KB, 167 views)

Last edited by cravenge; 01-10-2024 at 06:31.
cravenge is offline
w1nny
Junior Member
Join Date: May 2023
Old 05-19-2023 , 13:23   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #9

Quote:
Originally Posted by nosoop View Post
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.

Last edited by w1nny; 05-19-2023 at 13:32.
w1nny is offline
HarryPotter
Veteran Member
Join Date: Sep 2017
Location: Taiwan, Asia
Old 05-19-2023 , 14:28   Re: Source Scramble (memory patching and allocation natives)
Reply With Quote #10

Quote:
Originally Posted by w1nny View Post
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
__________________

Last edited by HarryPotter; 05-20-2023 at 04:55.
HarryPotter is offline
Reply


Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off

Forum Jump


All times are GMT -4. The time now is 03:12.


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