cameronredmore / memory-deck Goto Github PK
View Code? Open in Web Editor NEWA Decky Loader plugin that allows scanning and editing of memory values.
License: GNU General Public License v3.0
A Decky Loader plugin that allows scanning and editing of memory values.
License: GNU General Public License v3.0
I think this is because sometimes the result set has an irrelevant (see fix #5 )
Might need to investigate decrementing the resulting number if those are found.
Plugin often refuses to produce search results or has no processes detected. Reloading the plugin resolves the issue temporarily.
I'm using the latest version of steam deck os, decky loader, and the plugin.
After about 4 times of searching values the search either displays the loading symbol and never produces results or it just says zero and never updates even if you reset the search.
Also sometimes it will not display the process even though the game is running.
Reloading/reinstalling the plugin fixes it temporarily but the bug reoccurs frequently.
I have yet to get the plugin to correctly detect or change a single desired value.
I tried it for several games so far and have had no luck with any of them.
The most recent two were resident evil 4 (2008)
And blasphemous.
Resident evil I just tried doing pistol ammo. The values when I didn't experience the bugs I described above narrowed down but after I got to two values I edited them and they never were reflected in game as being changed.
For blasphemous I had a similar experience.
Using increased search option after searching an initial value narrowed results untill they were lower then 10 in number. I edited all the values and the change was never reflected.
For this game you get a number of points for upgrades and I was trying to edit them to a high number to unlock all the attacks and specials.
Other games I've tried have been devil may cry series and bioshock series. I also tried the borderlands games. Had no success with anything so far. I really would like this to work as using cheat engine on Linux requires some hoop jumping I don't want to do.
I have also tried uninstalling and reinstalling decky loader and the plugin it's self. No luck.
Very often it happens that values cannot be edited permanently. Freezing values or addresses could cause this problem that the value cannot be reset. If you freeze a address the address will not change until you unfreeze it. The value does change but memorydeck will restore the value to its frozen state every few milliseconds.
It just says Process Selection then the Reload Process List button. There's no option to select a Process no matter what I loas
I have tried in multiple games to search for floats.
When float32 is selected, no search is performed at all and the number of matches is blank instead of 0.
When float64 is selected, it seems like no search is performed, but the matches found text gets a random new line in it and the matches returned can't be seen.
Build out manual usage of the plugin for debugging, etc. Include help menu
no other program for it
After updating steam client with new steam ui, memory deck cannot be opened on my steamdeck, and it reports this plugin need to fit new steam ui.
Hi i have the Problem that i dont have any processes in the list, even after refreshing
It was working fine until all of a sudden after I run a search then go back into the game to for example change the number of items in my inventory, when I go back to narrow my search by entering the new value I find that my search has been reset.
Hello
i first searched for the value of the ammount of dollars i had, there was a lot of matches, but then if i search a second time when the value has decreased, it doesn't find any value
when i search values in games,i use auto and == for search type ,and it have no result . And the ui scaling is also problematic
Seems that with steamtinkerlaunch in the process list find Tropico.exe
so can scan it without troubles (as launch the game differently compared to the screen above when it's just steam).
Instead launching with steam find just the path and not a process so the scan is not working.
Probably the issue is there as is not using a process the scan don't work. Maybe a check like if that path
is a file or a folder can improve the situation. Why it's happening? I have no idea I don't know so much C++ to understand where it is the issue.
Continue from #7
Sorry i just don't know how to search -75
How to search string type? Some games save in strings numerical values(like the one i was trying to edit). Scanmen can search it, because GameConqueror, another scanmen wrapper have that feature.
Hello,
I was in a hurry to get the new version with DFL, so I built it myself, and I thought that maybe other people might find this helpful too if it's available in the README.
Here's my way of doing it, some adjustments may be needed. If a Dockerfile is present for building the index.js
, it might also simplify things for some folks.
# npm is required
> npm i -g rollup
# install dependencies with npm|yarn|pnpm
> yarn install
# build frontend
> yarn run build
---
# transfer to deck (optional)
> scp dist/index.js deck@DECK_LOCAL_IP:/home/deck/homebrew/plugins/memory-deck/dist/index.js
Obviously, this is only for the frontend part (as currently it's the only thing updated) but you should get the gist.
It is not possible to find the health bar in Narita Boy (GOG), because any search returns 11 results. No matter how many times the health goes up or down, the number of matches never goes below 11.
This is true no matter what parameters are used in the search, or what "Search Type" is set to.
Since last week, when steam put out an update to the preview and beta channels several decky plugins lost functionality, memory deck included.
Nothing works at all, only an empty screen is pulled up upon attempting to run memory deck.
see title.
set vs write
(would require import signal
, but it's an inbuilt package so no worries)
os.kill(pid, signal)
can send a signal (signal.SIGSTOP
for example) to any application. (ignore the name, it can do things other than kill)
A list of valid signals to select from can be generated with signal.valid_signals()
(it produces a set of Signals
, which have a value
which is the number of the signal (19, 20, etc), a name
which is the signal name (SIGCONT, SIGKILL, etc).
The set also includes a bunch of ints (on my PC, 35-63) that do not have any associated function, these should probably just be skipped. (64 does have a use on my PC)
for reference, all of these work (where 99 is the PID): os.kill(99, signal.SIGSTOP)
, os.kill(99, signal.SIGSTOP.value)
and os.kill(99, 19)
.
these will NOT work: os.kill(99, "SIGSTOP")
and os.kill(99, signal.SIGSTOP.name)
I would think a dropdown menu with every valid signal (by name, not number) and a "send" button next to it would be good.
I considered making this a seperate plugin, but it's not very complex and also fits pretty well into the functionality of this plugin.
I will try work on a PR myself (and may fail, we'll see) if you'd like, but I would prefer to hear some feedback (or if you'd like to do it) before I try.
Quick example code for getting a dictionary of signals:
import signal
valid_signals = signal.valid_signals() # returns a set of objects, not particularly useful until parsed as needed
signals = {}
for sig in valid_signals:
if hasattr(sig, "name") and hasattr(sig, "value"): # makes sure to ignore useless signals
signals[sig.name] = sig.value
print(signals) # prints {'SIGHUP': 1, 'SIGINT': 2, 'SIGQUIT': 3...
Example code for pausing an application then instantly starting it again
import signal
import os
pid = 26724 # some int
os.kill(pid, signal.SIGSTOP) # pause application
os.kill(pid, 18) # continue application
code does not work from within flatpak vscode, probably due to sandboxing
works fine otherwise
im having a lot of issues on multiple games on the latest and second to latest updates
-it not showing any numbers at all
-sometimes doesnt even show the process
-too many processes to identify
Allow user to select the value type of the number they are searching I.E. S16, U32
Much like EdiZon/other memory editors, it would be nice if the user was able to select the explicit number "representation" in order to search more narrowly instead of "auto selecting" based on the number itself.
Hi, first of all thank you for this plugin.
Here's my question (maybe I'm just dumb) but the plugin doesn't seems to be working with Linux native games. I have tried with Dead Cells and Slay the Spire both times there's a single process to choose (./dead cells or ./slaythespire) but when you try to find any kind of values it always returns 0 results (even if you do an unknown initial value search such that it should scan all values it still returns 0 results). Any way to get it working?
As the title said. This plugin is basically a game memory editor to change the value.
I tried all three versions which is 1.0 , 1.1 and 1.2 but unfortunately no luck. Any help please?
Update changed value in Results table when a value is changed so it is clearer that a value was changed.
Will likely have to rewrite a bunch of stuff and develop a way to track down pointers/static memory addresses of stuff.
Not sure if this is possible yet.
Just an idea, would it ever be possible in the future for you to create a DLL injection plugin? The ability to quickly inject DLL's into running processes via the quick menu would be incredible. Great work by the way!
The only game I've gotten to return any values was Super Mario World via retroarch. There were two things I tried to get, the first was my X coordinates. I started with a search for any value and narrowed it down by moving back and forth, staying in the same place, etc. I finally got under 10 values but when I went down to edit it there were no values there. The second thing I tried was to change the time value. The level started with 300 on the clock, I paused and entered 300, it said how many values there were, I un paused let it count down 10, paused and chose decreased by 10. It then said 0 results. I reset and tried again, entered the time, gave me results, I unpaused, selected just decreased and 0 results. This happened no mater what I chose after the initial results. I also tried Terraria, native and Mario Odyssey, yuzu. Even when choosing Any when searching it returns 0 results. I looked it up and for yuzu on cheat engine you have to turn on mem_mapped. I am completely lost.
I'm trying to cheat Unepic.
I have 3 addresses, which I try to manipulate.
I think the game has some defense mechanism and if one address is changed, the player dies instantly.
(I'm hoping it's not a checksum somewhere)
Suggestion:
Make it possible to change the addresses in the plugin UI, but do not apply them.
Add an "Apply" button, which will (preferably)
Thanks for the great work on the plugin!
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.