Kan je een DLL direct aanpassen?

Pagina: 1
Acties:

Acties:
  • 0 Henk 'm!

  • DragonChaser
  • Registratie: Mei 2013
  • Laatst online: 13-01-2023
Kan iemand mij op weg helpen, ik word helemaal gek nu :P . Het is mijn eerste keer dat ik iets probeer met DLL of C# in het algemeen, ik kom uit de web wereld. Ik heb nu elk programma gedownload en plugin die beschikbaar is en krijg het niet voor elkaar om een simpele waarde aan te passen.

Ik heb Just Decompile, Jetbrains, Ilspy en nog meer en heb Reflexil plugin.


Een voorbeeld:

[DoNotSerializePublic]
public class PlayerRespawnMP : MonoBehaviour
{
public float _minDownDuration = 5f;

public float _respawnDuration = 5f;

public float _maxDownDuration = 120f;


Is er een mogelijk dat ik GEWOON (:P) kan klikken op de 5f en er 100 van maken. Zoiets simpels dat ik gewoon niet voor elkaar kan krijgen.

Acties:
  • 0 Henk 'm!

  • Haan
  • Registratie: Februari 2004
  • Laatst online: 10:13

Haan

dotnetter

Ten eerste lijkt me dit C# en niet C.
Ten tweede weet ik niet precies wat je wilt bereiken, maar als het er om gaat om een of andere game aan te passen (waar het op lijkt) of een trainer te maken, kan je beter met tools als WinDbg aan de slag gaan, of CheatEngine wat precies voor dat doel ontwikkeld is.

Kater? Eerst water, de rest komt later


Acties:
  • 0 Henk 'm!

  • zzattack
  • Registratie: Juli 2008
  • Laatst online: 10:34
Obligatory disclaimer dat je hiervoor misschien wel toestemming nodig hebt van de eigenaar.

Je DLL lijkt in .NET te zijn gedaan, dat vergemakkelijkt een en ander aangezien de MSIL code redelijk makkelijk gedisassembled kan worden, en eventueel zelfs tot C# kan worden gemaakt. Voor een simpele 1-byte fix kun je met ildasm decompilen, source aanpassen en recompilen met ilasm.exe.

Aangezien het .NET code is heb je er niet al teveel werk aan om er weer bruikbare source code van te maken. Eventueel kun je ook met justdecompile het hele project proberen te genereren, meestal kom je dan op redelijk bruikbare source code uit die zonder veel extra moeite compilet. Dat maakt toekomstige updates wel het makkelijkst.

Acties:
  • 0 Henk 'm!

  • DragonChaser
  • Registratie: Mei 2013
  • Laatst online: 13-01-2023
zzattack schreef op donderdag 12 mei 2016 @ 21:57:
Obligatory disclaimer dat je hiervoor misschien wel toestemming nodig hebt van de eigenaar.

Je DLL lijkt in .NET te zijn gedaan, dat vergemakkelijkt een en ander aangezien de MSIL code redelijk makkelijk gedisassembled kan worden, en eventueel zelfs tot C# kan worden gemaakt. Voor een simpele 1-byte fix kun je met ildasm decompilen, source aanpassen en recompilen met ilasm.exe.

Aangezien het .NET code is heb je er niet al teveel werk aan om er weer bruikbare source code van te maken. Eventueel kun je ook met justdecompile het hele project proberen te genereren, meestal kom je dan op redelijk bruikbare source code uit die zonder veel extra moeite compilet. Dat maakt toekomstige updates wel het makkelijkst.
Ik ga eens kijken naar ildasm maar mijn scherm ziet er nu zo uit dus, best chaos.
http://imgur.com/4a9wO0j

het enige wat ik kan doen in just decompile is create assembly list en de code bezichtigen, maar niet decompileren en editen naar vrije zin. Mis ik nog een plugin of dergelijke naast reflexil?.

Ik heb dat gedaan en heb dus een map met alle klasses etc. in .cs formaat waar ik niets mee kan doen, tutorials zijn er ook niet echt dus zit nogal vast. Ik wou gewoon gaag beginnen met het aanpassen van en later functies toevoegen etc..

[ Voor 9% gewijzigd door DragonChaser op 12-05-2016 22:06 ]


Acties:
  • 0 Henk 'm!

  • Xiphalon
  • Registratie: Juni 2001
  • Laatst online: 19-07 17:51
Als je classes hebt in cs formaat (dus broncode) staat daar waarschijnlijk ook een sln of csproj bestand bij, dat is het projectbestand. Deze kan je openen met bijvoorbeeld Visual Studio 2015 Community editie, en dan na het wijzigen, compileren naar een dll.
Of het spel dan je gewijzigde dll gaat openen, ligt eraan of e.e.a. gesigned is, en/of er andere checks ingebouwd zijn.

Maar als je broncode al chaos noemt, (of doel je op je taakbalk en firefox :+ ) denk ik dat het vrij snel te hoog gegrepen is voor je.

Acties:
  • 0 Henk 'm!

  • DragonChaser
  • Registratie: Mei 2013
  • Laatst online: 13-01-2023
Xiphalon schreef op donderdag 12 mei 2016 @ 22:21:
Als je classes hebt in cs formaat (dus broncode) staat daar waarschijnlijk ook een sln of csproj bestand bij, dat is het projectbestand. Deze kan je openen met bijvoorbeeld Visual Studio 2015 Community editie, en dan na het wijzigen, compileren naar een dll.
Of het spel dan je gewijzigde dll gaat openen, ligt eraan of e.e.a. gesigned is, en/of er andere checks ingebouwd zijn.

Maar als je broncode al chaos noemt, (of doel je op je taakbalk en firefox :+ ) denk ik dat het vrij snel te hoog gegrepen is voor je.
Beide taakbalken :P, beetje nostalgische feelings met al die tabbladen, weet nog hoe gek ik werd toen ik begon aan java. Maar dat terzijde, als ik het goed begrijp, kan ik de .cs bestanden openen in Visual studio, daar bewerken en vervolgens een nieuwe dll maken?.

Heb dit dus na op assembleren te hebben gedrukt in justdecompile: http://imgur.com/L2RLrEM

Als jij zegt dat het op deze manier moet gaan dan ben ik vrij afgedwaald :P.

Acties:
  • 0 Henk 'm!

  • Xiphalon
  • Registratie: Juni 2001
  • Laatst online: 19-07 17:51
Je hebt dan wel een csproj of sln bestand nodig, maar een goede decompiler kan die ook genereren.

Acties:
  • 0 Henk 'm!

  • diondokter
  • Registratie: Augustus 2011
  • Laatst online: 19-07 11:28

diondokter

Dum spiro, spero

Om het wat duidelijker te maken voor iedereen: Het gaat hier om het modden van een Unity game.
Nu heb ik alleen ervaring met het gebruiken van Unity en niet zozeer het modden ervan.

Unity is erg raar met .Net. Het zit helemaal verwoven in de C++ engine.
Ik kan me zeer goed voorstellen dat als je alle code van de dll kopieert naar een nieuw project en een dll exporteert met dezelfde properties, dat dat dan gewoon werkt.
Unity doet zelf echt niks om dat soort dingen te beschermen.

Acties:
  • 0 Henk 'm!

  • nescafe
  • Registratie: Januari 2001
  • Laatst online: 09:39
Van CodeProject:
Method parameters (and variables) are also editable.
Weet niet of je hiermee ook class fields kunt aanpassen, maar als dit lukt is het verreweg de makkelijkste optie. En anders inject je een stukje code in de constructor waarbij je de waarde toekent. Deze methode heeft als het goed is geen volledige decompile/compile nodig. Heb je je al eens verdiept in de tutorials die ze hebben gemaakt (en de source van bovenstaande quote)?

* Barca zweert ook bij fixedsys... althans bij mIRC de rest is comic sans


Acties:
  • 0 Henk 'm!

  • Twieka
  • Registratie: Oktober 2010
  • Laatst online: 01-03 17:06
Wellicht kun je een kijkje nemen bij:

https://www.unknowncheats...-unity-hacking-suite.html

Of

https://github.com/sschoener/cities-skylines-detour

Dit wordt gebruikt in de hacking wereld, maar hacking is natuurlijk ook gewoon een vorm van Modding.

Acties:
  • +1 Henk 'm!

  • .oisyn
  • Registratie: September 2000
  • Laatst online: 19-07 03:00

.oisyn

Moderator Devschuur®

Demotivational Speaker

zzattack schreef op donderdag 12 mei 2016 @ 21:57:
Obligatory disclaimer dat je hiervoor misschien wel toestemming nodig hebt van de eigenaar.
Om hier even op in te gaan, in NL is dit nonsens. Code die runt op je eigen PC mag je in principe gewoon voor eigen gebruik onderzoeken en aanpassen. Wel mag je aanpassingen niet verspreiden zonder toestemming (auteurswet), en staat de maker in zijn recht je te verhinderen verbinding te maken met online services die hij aanbiedt.

Give a man a game and he'll have fun for a day. Teach a man to make games and he'll never have fun again.


Acties:
  • 0 Henk 'm!

  • zzattack
  • Registratie: Juli 2008
  • Laatst online: 10:34
Hoe zit dit met agreements waarin je toezegt niet met de software te klieren (i.e. cheats), op straffe van intrekking vd toegang tot online diensten (zeg steam multiplayer games), zijn die dan ongeldig?
Uiteraard zit er een lijn tussen cheats inzetten en ontwikkelen. Echter, ik heb zelfs clausules gezien waarin expliciet genoemd wordt dat zaken als process memory scannen niet is toegestaan.

Acties:
  • 0 Henk 'm!

  • johnkeates
  • Registratie: Februari 2008
  • Laatst online: 04-07 16:30
zzattack schreef op woensdag 18 mei 2016 @ 00:18:
Hoe zit dit met agreements waarin je toezegt niet met de software te klieren (i.e. cheats), op straffe van intrekking vd toegang tot online diensten (zeg steam multiplayer games), zijn die dan ongeldig?
Uiteraard zit er een lijn tussen cheats inzetten en ontwikkelen. Echter, ik heb zelfs clausules gezien waarin expliciet genoemd wordt dat zaken als process memory scannen niet is toegestaan.
Zoals al geschreven was: ze mogen je de toegang ontzeggen. Wat jij op je eigen PC doet boeit niet, zolang het niet met de buitenwereld in contact komt of verspreid wordt.
Pagina: 1