Spiral Knights menu

User Tag List

Results 1 to 4 of 4
  1. #1
    Jaerin's Avatar Former Staff
    Reputation
    641
    Join Date
    Sep 2008
    Posts
    1,289
    Thanks G/R
    29/126
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)

    Spiral Knights

    So I'm attempting to dissect the game Spiral Knights and I'm having a lot of trouble finding static pointers to various memory structures. I have no problems finding my current health in memory but I can't seem to consistently be able to get a static pointer to it.

    I'm a complete noob and have never created anything from scratch. At this point I'm just trying to create a dashboard that will read various memory locations and give more detailed information about heath, heat gained, crowns, ect...

    I've found several tutorials on how to use the Cheat Engine Pointer Scanner to track them down, but I'm having no luck. It seems like as long as I'm logged in and I zone to cause the address to move I can find a static pointer to it, but if I log out of the game and log back in I can't find it again. I think part of the issue might stem from the fact that this game is actually a Java game so the only process to attach to is javaw.exe. Also the pointer scanner doesn't seem to return any reference to an .exe only to various dll's that are loaded.

    Any tips on rooting it out?

    Spiral Knights
  2. #2
    Jaerin's Avatar Former Staff
    Reputation
    641
    Join Date
    Sep 2008
    Posts
    1,289
    Thanks G/R
    29/126
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Good news I found a static pointer to Current HPs. I used Cheat Engines pointer scanner and I had to go 6 deep to find it.

    "javaw.exe"+00018E38+30+374+78+C+F0+78

    Now that I have this I'm wondering how to translate this into code that I can use say with blackmagic or something. I'm starting simple, the health number is exact unlike in game its a bar. I'd like to create an app that will display the exact health value. I'd also ultimately like to be able to set a certain health threshold to play a sound. I've suggested a warning sound for low health, but it has gone unanswered so far.

  3. #3
    Jaerin's Avatar Former Staff
    Reputation
    641
    Join Date
    Sep 2008
    Posts
    1,289
    Thanks G/R
    29/126
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Okay they patched and I actually create an autoit script to do a low health warning. I'm still working on making it better.

    I really wish I could read the structures better. I think I've found the items in my inventory, and if I could pick apart resistances it would be HUGE. The theorycrafters would have a hayday over being able to see the actual numbers behind the bars. I've already found that health is measured in 40 hp per bar and damage is decimal in nature even though everything is hearts and bars in the game.

    Code:
    #include <NomadMemory.au3>
    
    SetPrivilege("SeDebugPrivilege", 1) 
    
    If WinExists("Spiral Knights") = 0 Then
        MsgBox(0, "", "Application is not running. Please run it before starting this app.")
        Exit
    EndIf
    
    $pid = ProcessExists("javaw.exe")
    $StaticOffset = Dec("19460")
    
    while 1
    Global $Offset[7]
    $Offset[0] = 0
    $Offset[1] = Dec("DC")
    $Offset[2] = Dec("150")
    $Offset[3] = Dec("77C")
    $Offset[4] = Dec("634")
    $Offset[5] = Dec("F0")
    $Offset[6] = Dec("78")
    $openmem = _MemoryOpen($pid)
    $baseADDR = _MemoryGetBaseAddress($openmem, 1)
    $finalADDR = "0x" & Hex($baseADDR + $StaticOffset)
    $MemPointer = _MemoryPointerRead($finalADDR, $openmem, $Offset)
    _MemoryClose($openmem)
    
    $CurHP = $MemPointer[1]
    
    If $CurHP < 180 then SoundPlay( "LowHealth.wav", 1 )
    	
    WEnd
    If anyone is interested in helping dig into this please shoot me a PM.

  4. #4
    Jaerin's Avatar Former Staff
    Reputation
    641
    Join Date
    Sep 2008
    Posts
    1,289
    Thanks G/R
    29/126
    Trade Feedback
    0 (0%)
    Mentioned
    0 Post(s)
    Tagged
    0 Thread(s)
    Sigh this still isn't reliably static. After a few relogs the pointer stopped working again.

    I've found a number that point to various DLL's but I haven't figured out how to get Autoit to give the pointers yet. The MemoryGetModuleBaseAddress function doesn't seem to be working for this game.

    I'll keep trying

Similar Threads

  1. Spiral Knights Java game memory reading
    By Jaerin in forum Programming
    Replies: 0
    Last Post: 05-06-2012, 09:05 PM
  2. Unmounted demon Knight
    By Lorokaz in forum World of Warcraft Model Editing
    Replies: 21
    Last Post: 06-04-2007, 07:58 AM
  3. A very big list for a Blood Knight like myself
    By Shinaz in forum WoW ME Questions and Requests
    Replies: 11
    Last Post: 05-30-2007, 07:57 PM
  4. SW Knights Hall Access
    By Matt in forum World of Warcraft Exploits
    Replies: 9
    Last Post: 09-27-2006, 11:06 PM
  5. knight online hacks
    By gbcjr in forum Gaming Chat
    Replies: 1
    Last Post: 08-06-2006, 04:28 AM
All times are GMT -5. The time now is 01:59 AM. Powered by vBulletin® Version 4.2.3
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved. User Alert System provided by Advanced User Tagging (Pro) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Google Authenticator verification provided by Two-Factor Authentication (Free) - vBulletin Mods & Addons Copyright © 2025 DragonByte Technologies Ltd.
Digital Point modules: Sphinx-based search