02 Hoe analyseer ik Wherigo cartridges in GC?

In de map Code en Codering staat een andere map Wherigo/Urwigo gereedschap. Hierin staan vier functies:

  • Urwigo Hash Breaker: Hiermee kun je de Urwigo hash waarden uit de LUA code van een Wherigo cardridge ophalen en breken.
  • Wherigo Analyser: Hiermee haal je gegevens en mediabestanden uit een Wherigo cartridge.
  • Urwigo Tekstontsleuteling: Hiermee haal je de Urwigo ‘dtable’ waarde en de vereiste versleutelde tekst op van de LUA code van de Wherigo cartridge. GC Wizard zal proberen de versleutelde tekst te ontsleutelen.
  • Earwigo Tekstontsleuteling: Hiermee haal je de gecodeerde tekst op van de LUA code van de Wherigo cartridge. GC Wizard zal deze proberen te ontsleutelen.

Urwigo Hash Breaker

Bovenaan het scherm staat een schuifknop waarmee je kunt kiezen tussen Haal Hash-waarde op en Breek Hash-waarde.

Haal Hash-waarde op

Als je kiest voor ‘haal Hash-waarde op’ verschijnt er een tekstveld waarin je de tekst plaatst waarvan je de hash-waarde wilt weten.

Onder Uitvoer zal de hash-waarde worden getoond.

screenshot_example urwigo hash breaker get nl

Breek Hash-waarde

Als je kiest voor ‘breek Hash-waarde’ verschijnt er een tekstveld waarin je de hash-waarde invoert. Je kunt hier zelf de waarde invoeren of de waarde veranderen met de plus- en min-knop.

Nadat je op de knop Indienen hebt getikt zal GC Wizard de hash-waarde gaan ontsleutelen en het resultaat onder Uitvoer tonen.

screenshot_example urwigo hash breaker break nl

Wherigo Analyser

Bovenaan het scherm staan twee knoppen waarmee je een bestand in GC Wizard kunt laden:

Opent de bestandsverkenner en hiermee open je een afbeelding vanaf je apparaat.

Toont een tekstveld waarin je de URL naar de afbeelding plaatst en een knop ‘Open’ om de afbeelding in GC Wizard te laden.

Als het inladen is gelukt zul je de tekst zien: Geladen: naam van het _gcw-bestand.

Daaronder verschijnt het gedeelte: LUA bestand – Broncode

Hier staat een knop: Verkrijg LUA. Hiermee zal GC Wizard het _gcw-bestand uitpakken en de broncode ophalen.

Je kunt ook met de schuifknop Apparaat/Internet kun je aangeven of je een LUA bestand wilt openen vanaf je apparaat of via internet.

Als je kiest voor ‘apparaat’ verschijnt er een knop met Open. Als je hierop tikt kun je met het bestandsprogramma van je apparaat het bestand openen. Als je kiest ‘internet’ verschijnt er een tekstveld waarin je de URL naar het bestand invoert. Zodra je op de Open knop tikt, zal GC Wizard het bestand van internet laden.

Daaronder staat een keuzemenu. Hierin zie je de gegevens uit het _gwc-bestand en het LUA-bestand:

  • Inventaris – Lijst met items
  • Koptekst
  • Lijst met berichten/dialogen
  • Lijst met invoerobjecten met mogelijke antwoorden
  • Lijst met tekens
  • Lijst met zones
  • Lijst van mediabestanden
  • Resultaten van het analyseren van GCW cartridge

Afhankelijk wat je kiest, krijg je onder Uitvoer de resultaten te zien.

Schermafdruk van de functie Wherigo Analyser in GC Wizard

Urwigo Tekstontsleuteling

Deze functie versleutelt en ontsleutelt tekst vanuit een dtabel waarde uit een LUA code van een Wherigo cartridge.

De dtabel uit de Lua code halen

Hieronder zie je een voorbeeld van een deel van een LUA-code waarin een versleutelde tekst en een dtabel staat. Met de Urwigo Tekstontsleuteling functie kun je deze tekst ontsleutelen.

Voorbeeld versleutelde tekst

function _WKlqK:OnGetInput(input)
  if input == nil then
    input = ""
  end
  if _Urwigo.Hash(string.lower(input)) == 13166 then
    _lj9.Visible = false
    _lj9:MoveTo(nil)
    _WlWcy.Visible = true
    Wherigo.ShowScreen(Wherigo.MAINSCREEN)
  else
    _Urwigo.MessageBox({
      Text = _czTN(")^:w^FF:w\tFl\t:c^m:!S\v^\127Y:F^S\vx:a^!:w\t\127:3\v\tY:gB:wd\127:9\t!^9<:\v^<+"),
      Callback = function(action)
        if action ~= nil then
          Wherigo.ShowScreen(Wherigo.MAINSCREEN)
        end
      end
    })
  end
end

Voorbeeld dtabel

dtable = "x%\006QF6MLe\022hA)J7o_+\021VK}\n\0162\029\0009$<H\005s0pG\0268T?N-!Z\027D\001]b\019C3(.q~g ;tOB\024/{u>v|nyX\t\0205^[\f41=&c\015I:\004\rf\018S\017\031a@#w\030mi\"\002zU'\014\bkl\\\023\028\003\a`Y*Wd,ER\vPj\025r"

De functie gebruiken

Bovenaan het scherm staat een schuifknop met de keuze Versleutelen en Ontsleutelen.

Versleutelen

Als je ‘versleutelen’ kiest verschijnen er twee tekstvelden. In het eerste tekstveld voer je de tekst van de dtabel in. In het tweede tekstveld plaats je tekst, die je wilt laten versleutelen.

Onder Uitvoer komt de versleutelde tekst te staan.

screenshot_example urwigo tekstontsleuteling code nl

Ontsleutelen

Als je ‘ontsleutelen’ kiest verschijnen er twee tekstvelden. In het eerste tekstveld voer je de tekst van de dtabel in. In het tweede tekstveld plaats je tekst, die je wilt laten ontsleutelen.

Onder Uitvoer komt de ontsleutelde tekst te staan.

screenshot_example urwigo tekstontsleuteling decode nl

Earwigo Tekstontsleuteling

Deze functie versleutelt en ontsleutelt tekst vanuit een LUA code van een Wherigo cartridge.

Bovenaan het scherm staat een schuifknop met de keuze Versleutelen en Ontsleutelen.

Daaronder staat een tekstveld waarin je de tekst plaatst die je wilt versleutelen of wilt ontsleutelen.

De versleuteling en ontsleuteling vindt plaats volgens twee algoritmen:

  • gsub_wig
  • WWB_deobf

De resultaten worden getoond in een gelijknamig gedeelte in GC Wizard.

In het onderstaande voorbeeld staat een voorbeeld van een tekst in een LUA-code met een gsub_wig versleuteling:

function zinputInput1:OnGetInput(input)

  if Wherigo.NoCaseEquals(input, gsub_wig("yyponml")) then
    Wherigo.MessageBox({
      Text = gsub_wig("8Qh jMc iYRVgURv21") .. "<BR>\n" .. 
             gsub_wig("NUXhRd QVXigyxw"),

      Media = zmedia7404907b588e464d96fe70c0c512fbed,
      Callback = cartStetsgernfuerSiebesch.MsgBoxCBFuncs.MsgBoxCB6

    })
  else

    Wherigo.MessageBox({

      Text = gsub_wig("CUXRRd PRbhQUxwv") .. "<BR>\n" .. "<BR>\n" ..
             gsub_wig("GhdPVQc Vi kRUeOi10z"),

      Media = zmediadb646ac9929941db8aeb8679f3df73de,

      Callback = cartStetsgernfuerSiebesch.MsgBoxCBFuncs.MsgBoxCB5
    })
  end
end
screenshot_example earwigo tekstontsleuteling code nl
screenshot_example earwigo tekstontsleuteling decode nl