-
-
Save calraith/5ea698d022dfe77d3927e75af7cdea75 to your computer and use it in GitHub Desktop.
# Copy your Tampermonkey storage.js into the same directory as this script. | |
# It'll extract the user scripts from storage.js and write them as .user.js files | |
# in the current working directory. | |
add-type -as System.Web.Extensions | |
$JSON = new-object Web.Script.Serialization.JavaScriptSerializer | |
$obj = $JSON.DeserializeObject((gc storage.js)) | |
foreach ($key in $obj.keys) { | |
foreach ($val in $obj[$key].value) { | |
if ($val -match "\r?\n//\s+@name\s+(.+)\r?\n") { | |
$val | out-file ("{0}.user.js" -f $matches[1]) | |
} | |
} | |
} |
@Cappuccino90: Would you care to PM me on Pastebin? My username there is rojo. If you like, you can create a private paste of your storage.js then PM me the URL and I'll see if I can help you figure out what's wrong with it. Or if you prefer, try pasting the contents of your storage.js into a JSON validator. The error message in your screenshot, Ausnahme beim Aufrufen von "DeserializeObject" mit 1 Argument(en): "Ungultiger JSON-Primitiv: ."
, hints that the reason you're having trouble extracting the .user.js files is due to invalid JSON, like maybe your storage.js file is corrupt.
My storage.js file begins like the following:
(function() { Registry.require(["promise"], function() { var f = rea.FEATURES,
JSONLint validator also tells me that the very first character is faulty. The open bracket.
@calraith How does your storage.js begin?
TY so much!
I wish there was an upvote in github to let more users know about this!
@calraith Where is this so-called Tampermonkey storage.js file located? The one I found at %appdata%\Opera Software\Opera Stable\Extensions\dhdgffkkebhmkfjojejmpbldmpobfkfo\4.7.54_0\storage.js
is just 13 KB of JavaScript, not JSON. So I get the same error as @BangDroid and @Remonell.
@calraith Where is this so-called Tampermonkey storage.js file located? The one I found at
%appdata%\Opera Software\Opera Stable\Extensions\dhdgffkkebhmkfjojejmpbldmpobfkfo\4.7.54_0\storage.js
is just 13 KB of JavaScript, not JSON. So I get the same error as @BangDroid and @Remonell.
I guess this script did nothing. The actual scripts should be in User Data\Default\Local Extension Settings
and stored in db not some random storage.js.
@calraith Thanks for the response. Sadly it is still not working. It does run the gawk command though without any printed out errors. http://prntscr.com/k5hej4
I downloaded gawk-4.2.1-w32-bin.zip from the link you provided. I hope that was the right package.
This is the content of my json.awk file: https://pastebin.com/U4SBnmNN
After the execution the storage.js file does not seem to have been altered in any form. Also the powershell script still throws the same error: http://prntscr.com/k5hiek Also tried to run powershell as administrator.
Sorry that some of the texts are in german.
Do you have any idea why it is not working?
Kind regards