Neon Abyss Achievement Unlocker - Windows Store Version

Upload your cheat tables here (No requests)
User avatar
SvT
Table Makers
Table Makers
Posts: 586
Joined: Tue Dec 24, 2019 5:17 am
Reputation: 1834

Neon Abyss Achievement Unlocker - Windows Store Version

Post by SvT »

7/15/2020 - First version
7/17/2020 - Fixed crashing. Thanks cfemen!
9/23/2020 - Completely rewritten. Should be more reliable now

Very simple table. This allows you to unlock ANY achievement in the game.

USAGE:
1. Target process: NeonAbyss.exe
2. Activate "Achievement Unlocker" script
3. When the red instanceAddr populates with an address, you are ready to unlock achievements
4. Check the box for the achievement you want and it will unlock.*

* If you're having issues, try starting a new save.

Image

How to use this cheat table?
  1. Install Cheat Engine
  2. Double-click the .CT file in order to open it.
  3. Click the PC icon in Cheat Engine in order to select the game process.
  4. Keep the list.
  5. Activate the trainer options by checking boxes or setting values from 0 to 1
Attachments
NeonAbyss_AchievementUnlocker_V4.CT
Windows Store Version: 1.1.13 - Table V4
(365.68 KiB) Downloaded 334 times
NeonAbyss_AchievementUnlocker_V2.CT
Windows Store Version: 1.1.12 - Table V2
(345.74 KiB) Downloaded 69 times
NeonAbyss_AchievementUnlocker.CT
Windows Store Version: 1.1.12
(318.52 KiB) Downloaded 69 times
Last edited by SvT on Wed Sep 23, 2020 3:32 pm, edited 7 times in total.

User avatar
cfemen
RCE Fanatics
RCE Fanatics
Posts: 877
Joined: Fri Feb 15, 2019 5:45 pm
Reputation: 1513

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by cfemen »

Hey, i dont have the windows store version with the GDKAchievementManager class, but your problem is here:

local address = 0x1

you need a valid address for the call.

does GDKAchievementManager has a Update method?
fetch the address from there, or look what else is calling the GDKAchievementManager to trace the origin and then read the address.

or you can use [Link] (you may have to iterate through all classes before it returns a correct instance array) just make sure that the cachedPtr is > 0 and that it contains some valid values.

Edit : viewtopic.php?p=142141#p142141 here a example the Call addMoneyToPlayer Script [with money amount parameter] is what you should look at.

:)

User avatar
SvT
Table Makers
Table Makers
Posts: 586
Joined: Tue Dec 24, 2019 5:17 am
Reputation: 1834

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by SvT »

cfemen wrote:
Wed Jul 15, 2020 6:51 pm
Hey, i dont have the windows store version with the GDKAchievementManager class, but your problem is here:

local address = 0x1

you need a valid address for the call.

does GDKAchievementManager has a Update method?
fetch the address from there, or look what else is calling the GDKAchievementManager to trace the origin and then read the address.

or you can use [Link] (you may have to iterate through all classes before it returns a correct instance array) just make sure that the cachedPtr is > 0 and that it contains some valid values.

Edit : viewtopic.php?p=142141#p142141 here a example the Call addMoneyToPlayer Script [with money amount parameter] is what you should look at.

:)
Thanks for the reply. I was aware that I need to find a valid address (it just happens to work if I input 0x1, but with crashing).
My trouble is writing a script that automatically finds a valid address...no issues finding it manually but obviously it changes after time the game is re-opened.

I will look at the links you posted a little later when I have time :)

User avatar
SvT
Table Makers
Table Makers
Posts: 586
Joined: Tue Dec 24, 2019 5:17 am
Reputation: 1834

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by SvT »

Very slight modification of your code:

Code: Select all

[ENABLE]
{$lua}
if syntaxcheck then return end

local monoAddress ="GDKAchievementManager:UnlockAchievement"
local pPlayerPrefsSetInt = ""
local GDKManager
local klasses = {}
local Instance
local Address=0
local asslist = mono_enumAssemblies()
local i=0x00
while(i<0x30) do
local ext, opc, byt, add=splitDisassembledString(disassemble(getAddressSafe(monoAddress)+i))
if string.find(byt,"BA") then Address=getAddress(add) Address=Address+1 break end
if(ext~="")then pPlayerPrefsSetInt=opc:sub(opc:find("0"),opc:len()) end
i=i+getInstructionSize(getAddressSafe(monoAddress)+i)
end

writeInteger(Address,20) --achievementID '20' (hard code 20, replacing your dNewMoney var)

for i, addr in ipairs(asslist) do

local img = mono_getImageFromAssembly(addr)
local img_name = mono_image_get_name(img)

if (img_name == "Assembly-CSharp") then
local classes = mono_image_enumClasses(img)

for i, cls_addr in ipairs(classes) do
if classes[i].classname == "GDKAchievementManager" then
GDKManager = classes[i].class
end
end
end
end

klasses = mono_class_findInstancesOfClassListOnly(nil, GDKManager)

for n, klass in ipairs(klasses) do
if(readInteger(klass+16)>0) then
Instance = klass
end
end

local method = mono_findMethod('Assembly-CSharp','GDKAchievementManager', 'UnlockAchievement')
local domain = mono_enumDomains()[1]
local args={}

mono_invoke_method(nil, method, Instance, args)

--return "assert(true)"

{$asm}
[DISABLE]

Seems to be the important part of the script but I don't quite understand what the section is doing and how I can modify it.

Code: Select all

local i=0x00
while(i<0x30) do
local ext, opc, byt, add=splitDisassembledString(disassemble(getAddressSafe(monoAddress)+i))
if string.find(byt,"BA") then Address=getAddress(add) Address=Address+1 break end
if(ext~="")then pPlayerPrefsSetInt=opc:sub(opc:find("0"),opc:len()) end
i=i+getInstructionSize(getAddressSafe(monoAddress)+i)
end

User avatar
cfemen
RCE Fanatics
RCE Fanatics
Posts: 877
Joined: Fri Feb 15, 2019 5:45 pm
Reputation: 1513

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by cfemen »

SovietWristwatch.jpg wrote:
Thu Jul 16, 2020 5:20 pm

Seems to be the important part of the script but I don't quite understand what the section is doing and how I can modify it
nope, thats only to override a hard coded value and to get a address to a string.
DevOptionsManager:addMoneyToPlayer does not have a *dNewMoney* parameter, and this code does add a parameter.

you can ignore/remove that.

//

GDKAchievementManager:UnlockAchievement has a Integer parameter? so you did it correctly in your table -> {{type = vtDword, value = *ID*}})

//

the most important part is here:

Code: Select all

for n, klass in ipairs(klasses) do
if(readInteger(klass+16)>0) then
Instance = klass
end
end
thats to filter the instances, you need to adjust that.
can't help you with the filter coz it always depends on the vars in the class.
+16(decimal) is always the cachedPtr(on x64) and it needs to be valid.
compare the valid instance with invalid ones and add the vars to the filter, then call the method with the integer ID parameter, like this:

mono_invoke_method(domain, method, Instance, {{type = vtDword, value = *ID*}})

User avatar
SvT
Table Makers
Table Makers
Posts: 586
Joined: Tue Dec 24, 2019 5:17 am
Reputation: 1834

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by SvT »

Correct - it's just an integer for achievementID:
Image

Made some modifications to the script and it's working now! By chance, the code that filters the instances works without any changes though I wish I understood it more.

Code: Select all

[ENABLE]
{$lua}
if syntaxcheck then return end

local monoAddress = "GDKAchievementManager:UnlockAchievement"
local pPlayerPrefsSetInt = ""
local GDKManager
local klasses = {}
local Instance
local Address = 0
local asslist = mono_enumAssemblies()

for i, addr in ipairs(asslist) do

local img = mono_getImageFromAssembly(addr)
local img_name = mono_image_get_name(img)

if (img_name == "Assembly-CSharp") then
local classes = mono_image_enumClasses(img)

for i, cls_addr in ipairs(classes) do
if classes[i].classname == "GDKAchievementManager" then
GDKManager = classes[i].class
end
end
end
end

klasses = mono_class_findInstancesOfClassListOnly(nil, GDKManager)

for n, klass in ipairs(klasses) do
if (readInteger(klass + 16) > 0) then
Instance = klass
end
end

local method = mono_findMethod("Assembly-CSharp", "GDKAchievementManager", "UnlockAchievement")
local domain = mono_enumDomains()[1]
local args = {}

mono_invoke_method(domain, method, Instance, {{type = vtDword, value = 19}}) --achievementID

{$asm}
[DISABLE]
I might be totally off, but is the integer you're checking at +16 found from dissecting the structure of an address you found that works to invoke?

GipsyDanger
Expert Cheater
Expert Cheater
Posts: 336
Joined: Sat Jun 27, 2020 2:33 pm
Reputation: 74

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by GipsyDanger »

is it possible to make this table, for other gamepass games?

User avatar
Rhark
Expert Cheater
Expert Cheater
Posts: 2942
Joined: Tue Apr 16, 2019 1:27 am
Reputation: 1249

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by Rhark »

GipsyDanger wrote:
Fri Jul 17, 2020 6:54 pm
is it possible to make this table, for other gamepass games?
It's possible to make similar tables, but something like this requires the game to use Mono (which not a lot of Game Pass games use) and also have some sort of mono symbol to unlock achievements.

GipsyDanger
Expert Cheater
Expert Cheater
Posts: 336
Joined: Sat Jun 27, 2020 2:33 pm
Reputation: 74

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by GipsyDanger »

got it!

User avatar
Lord Blade
Expert Cheater
Expert Cheater
Posts: 1348
Joined: Thu Mar 09, 2017 7:52 am
Reputation: 132

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by Lord Blade »

I still use Steam Achievement Manager. :p

User avatar
SvT
Table Makers
Table Makers
Posts: 586
Joined: Tue Dec 24, 2019 5:17 am
Reputation: 1834

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by SvT »

Lord Blade wrote:
Fri Jul 17, 2020 8:20 pm
I still use Steam Achievement Manager. :p
For Windows Store games? :|

User avatar
Lord Blade
Expert Cheater
Expert Cheater
Posts: 1348
Joined: Thu Mar 09, 2017 7:52 am
Reputation: 132

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by Lord Blade »

SovietWristwatch.jpg wrote:
Fri Jul 17, 2020 8:58 pm
For Windows Store games? :|
No no. I just mean I use it for Steam games for easy unlocks, and it just seems odd that nobody's got the same done for the Windows Store.

BOOMHeadshot
Noobzor
Noobzor
Posts: 11
Joined: Sat Jul 25, 2020 11:27 pm
Reputation: 2

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by BOOMHeadshot »

Thanks for the hard work! Love using your Achievement unlockers and helpers!

trakinas
Cheater
Cheater
Posts: 46
Joined: Fri Aug 07, 2020 3:27 am
Reputation: 7

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by trakinas »

Thanks for this, but not work for me. When I activate any code, the game freeze and close

Gencrocks
Cheater
Cheater
Posts: 46
Joined: Sun Aug 23, 2020 7:15 pm
Reputation: 2

Re: Neon Abyss Achievement Unlocker - Windows Store Version

Post by Gencrocks »

when you say Windows Store ver. does it include Gamepass ver.?

Post Reply

Who is online

Users browsing this forum: AJonesy, Baidu [Spider], baiyz26, Bing [Bot], Catalin.Andrey98, Derionis, em080890, Google [Bot], Gunrock, jonaaa, JuNNeZ, ken09, KKIceNinja, Kyureen, RebelMods, Send, Sora3100