Also die Hexadezimal-Umwandlung geht aber auch einfacher. z.B. im Python REPL einfach 0x4d2 eingegeben, dann gibt der das in Dezimal zurück. Für die andere Richtung einfach hex(1234). Python gehört für jeden Reverse-Engineer eigentlich zum Standard, aber geht natürlich äquivalent auch in fast jeder anderen Sprache. Außerdem bin ich mir ziemlich sicher das man sich das Ghidra auch als Dazimal-Zahl anzeigen lassen kann, vermutlich im Kontextmenü über einen Rechtsklick. Und das __stack_chk_fail() Zeugs ist übrigens eins Stack-Cookie zum verhindern von Buffer-Overflows. Die "local_10 = ..." Zeile am Anfang der Funktion schreibt da einen bestimmten zufälligen Wert auf den Stack und am Ende wird dann geprüft ob der verändert wurde. Wenn ja heißt dass das da irgendwas schief gelaufen ist, vermutlich eben ein Buffer-Overflow, also das irgendwo die Länge eines Arrays nicht richtig geprüft wurde, was es einem Angreifer ermöglicht im Speicher einfach weiterzuschreiben und alles mögliche zu machen. Der Check führt dann dazu dass das Programm sofort mit einer Meldung crasht um das zu verhindern. Abschließend noch ein Tipp: Für eventuell unbekannte Funktionen wie scanf sind die Unix man-pages super hilfreich. Wenn man z.B. einfach im Terminal "man scanf" eingibt kriegt man ausführliche Infos über die Funktion und was sie macht. Geht unter Windows auch wenn man WSL benutzt, ansonsten gibts die auch im Internet. Teilweise muss man zusätzlich noch die Kategorie angeben, z.B. bei "read" oder "printf" gibt es nämlich auch einen Bash-Befehl der genauso heißt, da muss man dann "man 2 read" (2 für system calls) oder "man 3 printf" (3 für clib functions) benutzen. Alternativ krietg man je nach Konfiguration auch angezeigt dass es mehrere Einträge gibt und muss dann halt den richtigen auswählen.
@AnikaMilano2 жыл бұрын
In Ghidra kannst du auch einfach Rechtsklick auf ein Hexadezimal wert klicken und das umwandeln.
@CREOLESCREAM4 жыл бұрын
Wow, ich hab null Ahnung von programmieren, aber das leuchtet selbst mir ein. Super erklärt. 👌🏻
@MalcomJPrince4 жыл бұрын
Gut erklärt, jetzt wird es bald mehr Cra-cks und Key-gens usw geben 🤣🤣🤣✌️ Die deutsche scene hat eh nachgelassen, da Top Talente Angst haben 🤷♂️
@heapspray4 жыл бұрын
Für sowas ist das Tutorial nicht gedacht. Das ist illegal.
@Joe.o04 жыл бұрын
Mega interessantes Video!
@paulbieringer39414 жыл бұрын
Cool
@lukas-vaelinalsorna18344 жыл бұрын
Kostenloser Decompiler is schon je geile nummer, muss man echt sagen
@friedrichii...5823 жыл бұрын
Bei mir kommt folgender Fehler wenn ich auf die a.exe datei klicke: Error in plugin event listener. Weiß jemand was ich da tun kann. Hab schon weil ich dachte dass es was mit Java zu tun hat komplett Java neu installiert.
@analebanane5084 жыл бұрын
Könntest du mal einen Beispielcode dazu bereitstellen, den du bewusst nicht in deinen Videos behandelst und wo wir bestimmte Inhalte (Strings rausfiltern müssen, weil da steht n Passwort zu nem Gewinnspiel oder wie hier n Intwert für das Passwort der SW) rauskriegen müssen? Dann könnten wir für uns so üben. Hab deinen Githubaccount gesehen aber wusste adhoc nicht, ob ich mir da was nehmen darf ^^ Bin da immer bisschen vorsichtig ^^
@TheMorpheusTutorials4 жыл бұрын
Ja, warts ab 😂
@analebanane5084 жыл бұрын
@@TheMorpheusTutorials Ja tut mir leid, aber deine Serie mit Ghidra kommt perfekt. Habe durch einen Arveitskollegen erst kürzlich erfahren, wie cool Reverseengineering ist und wollte das dann ausprobieren und Zack! Dein erstes Video zu Ghidra. Hat einfach gepasst. Jetzt hab ich Bock und Blut geleckt ^^. Habs auch schon zum Laufen gebracht. Bei Windows kann man übrigens auch einfach den Spass Gui starten. (Doppelklick auf die Batch)
@yasyasmarangoz35774 жыл бұрын
Wunderschön😍
@yasyasmarangoz35774 жыл бұрын
Danke fürs Herz!
@danielma28244 жыл бұрын
he super video aber was macht man wenn man die main nicht findet bei andere crackme?. und gibt es auch so extra plugs wie bei x32dbg das xAnalyzer?
@knorkecheck25274 жыл бұрын
Wenn man in dem Reverse Engineering C-Code das == in != (Ungleichheit) ändert und zu einer neuen Exe (Binary) compiliert, dann ist das Passwort 1234 oder auch dieser Hex-Wert total egal. Dann ist das richtige Passwort, jede andere Eingabe, außer eben 1234. Dann wäre 1234 das einzige falsche Passwort ;) Ich schätze mal, so wurden zu C64 und Amiga Zeiten die Spiele "passwortbefreit"
@yunix8983 жыл бұрын
Ich bin der meinung das er sowieso schlechte tutorials bringt und auf hacker tut.
@UndercoverDog2 жыл бұрын
Nein, soweit ich weiß hat man alle Check Funktionen(wie den PW Check, btw ka ob man die so nennt) umgeschrieben, dass sie immer true zurückgeben
@UndercoverDog2 жыл бұрын
@@yunix898 nein, 1) er zeigt in diesem Part hier gerade nur mal ganz grob und vereinfacht ghidra 2) er hat Informatik (ich weiß nicht welche Bereiche, hat er aber im Video über den Bundestrojaner erwähnt) studiert und nur ein kleiner Teil seines Kanals ist über hacking
@flowfian4 жыл бұрын
Kannst du uns noch die easy.c datei zur Verfügung stellen?
@NoName-ui5ou4 жыл бұрын
den code sieht man bei 13:18, aber download wre cool
@Duke_Raoul Жыл бұрын
Hmm, wenn ich es mit gcc unter Linux compiliere gehts einwandfrei. Wenn ich es jedoch mit Visual Studio(c++) compiliere, hab ich bei Exports keine main, warum ?
@saschavloggt62324 жыл бұрын
Andere Frage - kann man auf die Art auch Dateiformate reversen? (Beispielsweise sowas wie OGG, WebM, FLAC, ... um mal bei den ohnehin offenen Formaten zu bleiben)
@Erarnitox4 жыл бұрын
Kann man, wenn du damit programme reversed die diese dateiformate exportieren. Also da dann eben die export funktion des programmes in ghidra reversen, das gibt dann aufschluss darüber wie das dateiformat funktioniert.
@RubyX_Coded4 жыл бұрын
Werden wir am Ende des Tutorials ganze Spiele von Konsolen in den Quellcode zurück übersetzen können? Wie es ja z.B. mit Super Mario 64 gemacht wurde? 👀 Eine nice Reihe auf jeden Fall und sowas wollte ich tatsächlich schon immer lernen, danke! ✌🏻
@RubyX_Coded4 жыл бұрын
Wurde ja per Reverse Engineering gemacht, lol.
@itsvale99084 жыл бұрын
@@RubyX_Coded Da hast du prinzipiell recht, sowas nimmt aber Dimensionen von Reverse Engineering an, die dir eine Tutorialreihe wie diese nicht beibringen kann. Für sowas musst du dich intensiv mit den Schichten der Abstraktion beschäftigen, die eine Spielekonsole zusammensetzen und brauchst zudem Jahre an Übung, um ein Verständnis für moderne Optimierungen durch Compiler aufzubauen. Software Reversing hat nicht das primäre Ziel, ein Programm in lesbaren Quelltext zurückzuübersetzen, sondern zu offenbaren, wie ein Programm funktioniert. Code zu rekonstruieren ein noch weitaus schwierigerer Ansatz, gerade wenn die Spiele nicht mehr in C, sondern C++ geschrieben wurden.
@RubyX_Coded4 жыл бұрын
@@itsvale9908 Okay, danke für die ausführliche Antwort. hab tatsächlich nicht gedacht, dass das nochmal in eine komplett andere Richtung funktioniert samt ne eigene Dimension hat. Hast du denn irgendwie nen Ansatz wie ich das lernen könnte?
@Erarnitox4 жыл бұрын
@@RubyX_Coded ist diese reihe hier wahrscheinlich ein gute anfang. Zudem dann eben die technologie lernen, mit der das was du reversen willst gebaut wurde. Wenn man selbst ganz genau weiss wie man es selbst programmieren kann und auch den unterbau versteht, fällt einem das reversen deutlich leichter. Dazu kannst du dir ja anfangs open source dinge vornehmen um übung zu bekommen und kannst dann auch immer überprüfen wie es tatsächlich gemacht wurde. Ist auf jeden fall sehr aufwändig und im normalfall kein projekt für nur wenige monate. Ich finde auch das online tool "compiler comapare" recht cool. Da kann man online den asm output von einem compiler den man ausgewählt hat anschauen. Z.b. hat man ne vermutung wie der source aussehen könnte und gibt dann z.b. eine for schleife in das online tool ein und lässt es mit dem compiler der verwendet wurde compilieren und schaut ob der resultierende asm code wirklich mit dem übereinstimmt was ghidra sagt. Als kleine anmerkung noch: ghidra ist auch ziemlich gut im c++ code analysieren, aber ist wirklich etwas aufwändiger als pures c
@RubyX_Coded4 жыл бұрын
@@Erarnitox danke dir^^ werde mich mal umschauen und auch das Projekt weiterverfolgen.
@mk52574 жыл бұрын
Wie geht man vor, wenn man die Programmiersprache der Exe nicht kennt?
@alexander32934 жыл бұрын
Nun ja bei interpretierten Sprachen ists ja eh easy (just throw it into dnSpy, ferflower, usw) und der rest generiert eh maschienencode "die programmiersprache" ist also eh immer z.b. x86 binary. egal ob ich jetzt nen rust programm oder nen c programm hab.
@heapspray4 жыл бұрын
wäre cool wenn du die materialien irgendwo zum download bereitstellst :)
@flok.77354 жыл бұрын
13:00
@oj00244 жыл бұрын
Für alle die probleme mit ghidra auf nem window manager, haben versucht mal `wmname compiz`.
@oj00244 жыл бұрын
Vom Humm: `_JAVA_AWT_WM_NONREPARENTING=1` geht auch
@saschavloggt62324 жыл бұрын
Also mein Taschenrechner macht das noch einfacher. Einmal bevor man irgendwas eingibt auf das Hexadezimalsystem umschalten, 4D2[Enter], und dann auf das Dezimalsystem umschalten. Ergebnis: 1234
@sylus1214 жыл бұрын
funktioniert das auch mit jars ? 😅
@Erarnitox4 жыл бұрын
Nein, für java byte code gibt es aber sehr viele tools um sie zu decompilen. Einfach mal nach java decompiler suchen. Btw. Um an die class datein zu kommen, einfach das jar unzippen.
@Ragnarek724 жыл бұрын
Hi! there is an opportunity to take an inexpensive D-Link ANT70-1400N. It has several connectors (it can work with several spatial streams). Will the evil twin attack work (if you connect 2 adapters to it). Or do I need two antennas for each adapter?
@adrianhillmann37414 жыл бұрын
Ich weiß... Dumme Frage Sind auch EXE Dateien im Tutorial vorhanden? Uhm... Ich frag für'n Freund.