Avatar billede legre1 Nybegynder
05. august 2013 - 16:11 Der er 1 løsning

Code Injektion

Hej Eksperter..

Jeg sidder med et spil, som jeg har decompiled for at lære dets hemmeligheder. Jeg kan bl.a se, at det indeholder admin commands som jeg som bruger logisk vis ikke har adgang til. I koden kan jeg se, at spillet giver adgang til disse commands hvis brugeren matcher en liste over AdminGUIDS, disse ID's bliver man tildelt når man logger ind, og jeg har ikke tænkt mig at lege med deres login server. Mit spørgsmål er derfor følgende: Hvordan eksekvere jeg følgende kommando, kan jeg inject et call til den class?

public void CheatAddTroops(int villageID, int troopsType, int numTroops)
{
  if (this.CheatAddTroops_Callback == null)
  {
      this.CheatAddTroops_Callback = new AsyncCallback(this.OurRemoteAsyncCallBack_CheatAddTroops);
  }
      IService service = this.service;
      RemoteServices.RemoteAsyncDelegate_CheatAddTroops remoteAsyncDelegateCheatAddTroop = new RemoteServices.RemoteAsyncDelegate_CheatAddTroops(service.CheatAddTroops);
            this.registerRPCcall(remoteAsyncDelegateCheatAddTroop.BeginInvoke(this.UserID, this.SessionID, villageID, troopsType, numTroops, this.CheatAddTroops_Callback, null), typeof(CheatAddTroops_ReturnType));
  }

Spillet laver et call back, for at spørge serveren om den må køre kommandoen, dette call back kan jeg via HTTPS proxy sætte til true, men hvordan injecter jeg f.eks.

CheatAddTroops(151651, 33, 500)
Avatar billede legre1 Nybegynder
09. august 2013 - 23:42 #1
Løsningen var Telerik JustDecompile, med tilhørende plugin Reflexil.

Med dette værktøj var det muligt at reverse engineer programmet og tilføje en dialogbokse der tager i mod overstående parameter således at man kunne sende kommandoen til serveren.
Avatar billede Ny bruger Nybegynder

Din løsning...

Tilladte BB-code-tags: [b]fed[/b] [i]kursiv[/i] [u]understreget[/u] Web- og emailadresser omdannes automatisk til links. Der sættes "nofollow" på alle links.

Loading billede Opret Preview
Kategori
IT-kurser om Microsoft 365, sikkerhed, personlig vækst, udvikling, digital markedsføring, grafisk design, SAP og forretningsanalyse.

Log ind eller opret profil

Hov!

For at kunne deltage på Computerworld Eksperten skal du være logget ind.

Det er heldigvis nemt at oprette en bruger: Det tager to minutter og du kan vælge at bruge enten e-mail, Facebook eller Google som login.

Du kan også logge ind via nedenstående tjenester