Themabewertung:
  • 4 Bewertung(en) - 3.5 im Durchschnitt
  • 1
  • 2
  • 3
  • 4
  • 5
Reverse Engineering der NLT II
@LLM & siebenstreich:

* Das überflüssige Zeichen '\0' wurde aus dem String entfernt. Strings haben die abschließende 0 "automatisch".
  Wenn man einen C-String als Char-Array schreibt, ist die abschließende '\0' per Hand einzufügen.

*  Um schnellere Programme zu erhalten, haben die Compilerbauer damals einen Trick benutzt:
    Bsp: Zugriff auf Element array[i - 10].

    Normalerweise würde man erst (i - 10) berechnen, diesen Wert mit der Größe eines Elements multiplizieren, die Startadresse des Arrays addieren und dann den Wert aus dem Array auslesen.

    Da zur Compilezeit schon Informationen vorhanden sind, kann die Adresse von array[-10] schon im Voraus berechnet werden.
    Anschließend wird i * Elementgröße berechnet und zur Adresse von array[-10] addiert und der Wert ausgelesen.
    Nutzen: Die Berechnung von (i - 10) wurde eingespart.
    Nachteil: Es tauchen Speicheradressen im Binary auf, welche NICHT den Anfangsadressen von Arrays entsprechen.

    So war das früher!

  Unter dem Link von LLM sieht der Assemblerkundige an der Ausgabe von Clang, dass bei test1() direkt der Wert ausgelesen wird.
  Bei test2() werden die Flags in einer lokalen Variable zwischengespeichert.

  Stellt man auf den GCC um, wird bei test1() eine Adresse (x + 48) berechnet und der Wert mit dem Offset +4 ausgelesen.
  Bei test2() wird eine Adresse (x + 52) berechnet und der Wert ohne Offset ausgelesen.

  Test: (x + 48 + 4) ?= (x + 52) => (x + 52) == (x + 52) => PASST!

Nur zu Info: Wenn sich an den "neueren Binaries" etwas ändert ist das in Ordnung.
Zu GCC habe ich sehr großes Vertrauen, da dieser Compiler seit 1987 zum Bauen sämtlicher Linux-Distributionen benutzt wird.
Im Gegensatz zum BCC wird der allerdings noch aktiv weiterentwickelt.

Clang/LLVM ist seit mindestens 2000 verfügbar, kann Aufgrund des neugedachten Ansatzes wesentlich besser optimieren.
Da Clang mittlerweile auch Einzug in die Produkte der vermeintlich Großen gehalten hat (M$, Embarcadero) ist klar,
dass in diesen Unternehmen bzgl. der Weiterentwicklung von Compilern Stillstand herrscht.
So wie ich das wahrnehme sind MSVC und Delphi "nur noch" etablierte IDE's und Debugger.

Benchmark: Phoronix Clang vs. GCC
Fehlermeldungen: Clang, GCC, MSVC

@siebenstreich: Mehrfach benutzte Variablen würde ich jetzt noch nicht umbenennen. Der richtige Weg wäre diese später aufzusplitten, den Scope zu reduzieren und sie dann richtig zu benennen.
Zitieren


Nachrichten in diesem Thema
Reverse Engineering der NLT II - von Crystal - 28.06.2017, 15:52
RE: Reverse Engineering der NLT II - von Shihan - 28.06.2017, 18:33
RE: Reverse Engineering der NLT II - von aeyol - 29.06.2017, 10:01
RE: Reverse Engineering der NLT II - von Shihan - 19.07.2017, 11:51
RE: Reverse Engineering der NLT II - von Shihan - 20.07.2017, 09:50
RE: Reverse Engineering der NLT II - von Wetzer - 02.08.2017, 21:25
RE: Reverse Engineering der NLT II - von Mirko - 02.10.2017, 17:38
RE: Reverse Engineering der NLT II - von Shihan - 03.10.2017, 10:57
RE: Reverse Engineering der NLT II - von Mirko - 03.10.2017, 13:58
RE: Reverse Engineering der NLT II - von Mirko - 04.10.2017, 18:04
RE: Reverse Engineering der NLT II - von Mirko - 07.10.2017, 23:01
RE: Reverse Engineering der NLT II - von Mirko - 08.10.2017, 10:39
RE: Reverse Engineering der NLT II - von Mirko - 10.10.2017, 08:22
RE: Reverse Engineering der NLT II - von gaor - 10.10.2017, 08:55
RE: Reverse Engineering der NLT II - von Shihan - 10.10.2017, 10:17
RE: Reverse Engineering der NLT II - von Mirko - 10.10.2017, 18:46
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 15:43
RE: Reverse Engineering der NLT II - von gaor - 14.10.2017, 17:37
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 18:01
RE: Reverse Engineering der NLT II - von gaor - 14.10.2017, 18:28
RE: Reverse Engineering der NLT II - von Mirko - 14.10.2017, 19:13
RE: Reverse Engineering der NLT II - von Mirko - 15.10.2017, 21:09
RE: Reverse Engineering der NLT II - von Mirko - 27.10.2017, 22:03
RE: Reverse Engineering der NLT II - von Shihan - 28.10.2017, 12:31
RE: Reverse Engineering der NLT II - von Mirko - 28.10.2017, 17:32
RE: Reverse Engineering der NLT II - von Mirko - 02.11.2017, 20:08
RE: Reverse Engineering der NLT II - von Mirko - 02.11.2017, 23:57
RE: Reverse Engineering der NLT II - von Wetzer - 20.12.2017, 02:33
RE: Reverse Engineering der NLT II - von Shihan - 20.12.2017, 10:42
RE: Reverse Engineering der NLT II - von Shihan - 20.12.2017, 12:05
RE: Reverse Engineering der NLT II - von gaor - 22.03.2018, 15:07
RE: Reverse Engineering der NLT II - von gaor - 22.03.2018, 19:55
RE: Reverse Engineering der NLT II - von gaor - 23.03.2018, 00:02
RE: Reverse Engineering der NLT II - von gaor - 23.03.2018, 23:38
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 09:33
RE: Reverse Engineering der NLT II - von Hindro - 24.03.2018, 16:55
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 17:42
RE: Reverse Engineering der NLT II - von gaor - 24.03.2018, 19:37
RE: Reverse Engineering der NLT II - von Hindro - 24.03.2018, 23:34
RE: Reverse Engineering der NLT II - von Shihan - 26.03.2018, 10:13
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 12:33
RE: Reverse Engineering der NLT II - von Shihan - 26.03.2018, 12:47
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 18:36
RE: Reverse Engineering der NLT II - von Hindro - 26.03.2018, 20:51
RE: Reverse Engineering der NLT II - von gaor - 26.03.2018, 22:48
RE: Reverse Engineering der NLT II - von Hindro - 27.03.2018, 10:13
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 11:08
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 13:28
RE: Reverse Engineering der NLT II - von Hindro - 27.03.2018, 15:33
RE: Reverse Engineering der NLT II - von Shihan - 27.03.2018, 17:38
RE: Reverse Engineering der NLT II - von Mirko - 27.03.2018, 20:20
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 12:18
RE: Reverse Engineering der NLT II - von aeyol - 31.03.2018, 12:26
RE: Reverse Engineering der NLT II - von Shihan - 31.03.2018, 13:34
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 15:19
RE: Reverse Engineering der NLT II - von Shihan - 01.04.2018, 16:51
RE: Reverse Engineering der NLT II - von gaor - 31.03.2018, 16:42
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 17:00
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 20:24
RE: Reverse Engineering der NLT II - von Hindro - 31.03.2018, 20:33
RE: Reverse Engineering der NLT II - von Hindro - 01.04.2018, 12:44
RE: Reverse Engineering der NLT II - von Hindro - 01.04.2018, 21:45
RE: Reverse Engineering der NLT II - von Shihan - 02.04.2018, 18:48
RE: Reverse Engineering der NLT II - von Shihan - 18.04.2018, 14:49
RE: Reverse Engineering der NLT II - von gaor - 18.04.2018, 15:28
RE: Reverse Engineering der NLT II - von Shihan - 18.04.2018, 16:59
RE: Reverse Engineering der NLT II - von aeyol - 18.04.2018, 19:18
RE: Reverse Engineering der NLT II - von Mirko - 18.04.2018, 19:37
RE: Reverse Engineering der NLT II - von Shihan - 19.04.2018, 09:35
RE: Reverse Engineering der NLT II - von Shihan - 20.04.2018, 10:08
RE: Reverse Engineering der NLT II - von Tobi - 21.04.2018, 10:59
RE: Reverse Engineering der NLT II - von Shihan - 22.04.2018, 11:33
RE: Reverse Engineering der NLT II - von gaor - 23.04.2018, 14:25
RE: Reverse Engineering der NLT II - von Shihan - 23.04.2018, 15:49
RE: Reverse Engineering der NLT II - von gaor - 25.04.2018, 21:44
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 13:18
RE: Reverse Engineering der NLT II - von Shihan - 25.04.2018, 14:59
RE: Reverse Engineering der NLT II - von gaor - 26.04.2018, 08:09
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 14:41
RE: Reverse Engineering der NLT II - von gaor - 26.04.2018, 17:42
RE: Reverse Engineering der NLT II - von Shihan - 26.04.2018, 18:37
RE: Reverse Engineering der NLT II - von Shihan - 27.04.2018, 10:51
RE: Reverse Engineering der NLT II - von gaor - 27.04.2018, 11:11
RE: Reverse Engineering der NLT II - von Shihan - 27.04.2018, 11:26
RE: Reverse Engineering der NLT II - von gaor - 27.04.2018, 12:48
RE: Reverse Engineering der NLT II - von aeyol - 30.04.2018, 11:45
RE: Reverse Engineering der NLT II - von Shihan - 06.07.2018, 09:08
RE: Reverse Engineering der NLT II - von gaor - 12.07.2019, 09:49
RE: Reverse Engineering der NLT II - von gaor - 12.07.2019, 15:48
RE: Reverse Engineering der NLT II - von Shihan - 24.07.2019, 09:22
RE: Reverse Engineering der NLT II - von aeyol - 16.03.2020, 13:12
RE: Reverse Engineering der NLT II - von Shihan - 17.03.2020, 09:07
RE: Reverse Engineering der NLT II - von Shihan - 17.03.2020, 16:33
RE: Reverse Engineering der NLT II - von gaor - 17.01.2021, 16:08
RE: Reverse Engineering der NLT II - von gaor - 17.01.2021, 16:44
RE: Reverse Engineering der NLT II - von gaor - 22.01.2021, 12:58
RE: Reverse Engineering der NLT II - von gaor - 23.01.2021, 13:54
RE: Reverse Engineering der NLT II - von gaor - 24.01.2021, 18:13
RE: Reverse Engineering der NLT II - von gaor - 24.01.2021, 20:44
RE: Reverse Engineering der NLT II - von aeyol - 26.01.2021, 22:41
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 12:40
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 14:43
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 18:00
RE: Reverse Engineering der NLT II - von aeyol - 27.01.2021, 20:22
RE: Reverse Engineering der NLT II - von gaor - 08.02.2021, 21:25
RE: Reverse Engineering der NLT II - von gaor - 09.02.2021, 20:22
RE: Reverse Engineering der NLT II - von gaor - 12.02.2021, 10:10
RE: Reverse Engineering der NLT II - von gaor - 12.02.2021, 10:54
RE: Reverse Engineering der NLT II - von gaor - 14.02.2021, 14:45
RE: Reverse Engineering der NLT II - von gaor - 15.02.2021, 21:08
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 11:01
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 14:40
RE: Reverse Engineering der NLT II - von gaor - 20.02.2021, 22:37
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 12:07
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 17:10
RE: Reverse Engineering der NLT II - von gaor - 17.04.2021, 22:28
RE: Reverse Engineering der NLT II - von gaor - 18.04.2021, 07:47
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 08:52
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 18:38
RE: Reverse Engineering der NLT II - von NRS - 26.04.2021, 20:54
RE: Reverse Engineering der NLT II - von NRS - 27.04.2021, 10:10
RE: Reverse Engineering der NLT II - von NRS - 27.04.2021, 13:21
RE: Reverse Engineering der NLT II - von aeyol - 01.03.2023, 19:03
RE: Reverse Engineering der NLT II - von Shihan - 02.03.2023, 13:07
RE: Reverse Engineering der NLT II - von Shihan - 05.03.2023, 12:18
RE: Reverse Engineering der NLT II - von Shihan - 07.03.2023, 20:38
RE: Reverse Engineering der NLT II - von Shihan - 18.03.2023, 12:30
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 12:43
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 16:11
RE: Reverse Engineering der NLT II - von Shihan - 25.03.2023, 16:36
RE: Reverse Engineering der NLT II - von Shihan - 30.03.2023, 14:03
RE: Reverse Engineering der NLT II - von Luigi - 11.04.2023, 23:40
RE: Reverse Engineering der NLT II - von aeyol - 01.11.2023, 20:57
RE: Reverse Engineering der NLT II - von aeyol - 01.11.2023, 22:44
RE: Reverse Engineering der NLT II - von aeyol - 02.11.2023, 15:23
RE: Reverse Engineering der NLT II - von aeyol - 03.11.2023, 10:50
RE: Reverse Engineering der NLT II - von aeyol - 03.11.2023, 11:17
RE: Reverse Engineering der NLT II - von Shihan - 28.07.2024, 10:58
RE: Reverse Engineering der NLT II - von Shihan - 28.07.2024, 13:59
RE: Reverse Engineering der NLT II - von Shihan - 28.07.2024, 19:45
RE: Reverse Engineering der NLT II - von Shihan - 29.07.2024, 10:01
RE: Reverse Engineering der NLT II - von Shihan - 05.08.2024, 09:51
RE: Reverse Engineering der NLT II - von llm - 10.08.2025, 10:56
RE: Reverse Engineering der NLT II - von llm - 11.08.2025, 07:24
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 11:39
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 13:59
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 16:18
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 18:36
RE: Reverse Engineering der NLT II - von llm - 13.08.2025, 07:30
RE: Reverse Engineering der NLT II - von llm - 12.08.2025, 20:26
RE: Reverse Engineering der NLT II - von llm - 14.08.2025, 07:09
RE: Reverse Engineering der NLT II - von llm - 14.08.2025, 10:01
RE: Reverse Engineering der NLT II - von llm - 14.08.2025, 15:06
RE: Reverse Engineering der NLT II - von llm - 15.08.2025, 07:03
RE: Reverse Engineering der NLT II - von llm - 16.08.2025, 15:23
RE: Reverse Engineering der NLT II - von llm - 16.08.2025, 15:27
RE: Reverse Engineering der NLT II - von llm - 16.08.2025, 19:59
RE: Reverse Engineering der NLT II - von llm - 18.08.2025, 07:30
RE: Reverse Engineering der NLT II - von llm - 19.08.2025, 07:01
RE: Reverse Engineering der NLT II - von llm - 19.08.2025, 13:07
RE: Reverse Engineering der NLT II - von llm - 19.08.2025, 13:16
RE: Reverse Engineering der NLT II - von llm - 27.08.2025, 18:29
RE: Reverse Engineering der NLT II - von Shihan - 27.08.2025, 19:29
RE: Reverse Engineering der NLT II - von Shihan - 31.08.2025, 10:18
RE: Reverse Engineering der NLT II - von llm - 01.09.2025, 09:30
RE: Reverse Engineering der NLT II - von Shihan - 01.09.2025, 10:03
RE: Reverse Engineering der NLT II - von Shihan - 02.09.2025, 08:58
RE: Reverse Engineering der NLT II - von llm - 02.09.2025, 11:27
RE: Reverse Engineering der NLT II - von Shihan - 02.09.2025, 12:05
RE: Reverse Engineering der NLT II - von llm - 05.09.2025, 13:18
RE: Reverse Engineering der NLT II - von llm - 11.09.2025, 07:07
RE: Reverse Engineering der NLT II - von Shihan - 16.09.2025, 09:13
RE: Reverse Engineering der NLT II - von Shihan - 30.09.2025, 08:47
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 09:21
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 09:34
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 11:34
RE: Reverse Engineering der NLT II - von llm - 17.10.2025, 09:11
RE: Reverse Engineering der NLT II - von Shihan - 15.10.2025, 12:46
RE: Reverse Engineering der NLT II - von llm - 17.10.2025, 14:36
RE: Reverse Engineering der NLT II - von Shihan - 20.10.2025, 09:44
RE: Reverse Engineering der NLT II - von llm - 21.10.2025, 16:04
RE: Reverse Engineering der NLT II - von llm - 27.10.2025, 09:36
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 12:11
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 12:27
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 14:13
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 14:26
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 14:29
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 16:21
RE: Reverse Engineering der NLT II - von llm - 31.10.2025, 17:02
RE: Reverse Engineering der NLT II - von llm - 02.11.2025, 15:46
RE: Reverse Engineering der NLT II - von llm - 03.11.2025, 13:00
RE: Reverse Engineering der NLT II - von llm - 04.11.2025, 14:48
RE: Reverse Engineering der NLT II - von llm - 06.11.2025, 11:34
RE: Reverse Engineering der NLT II - von llm - 06.11.2025, 15:49
RE: Reverse Engineering der NLT II - von llm - 07.11.2025, 12:49
RE: Reverse Engineering der NLT II - von llm - 07.11.2025, 13:21
RE: Reverse Engineering der NLT II - von llm - 07.11.2025, 16:06
RE: Reverse Engineering der NLT II - von Shihan - 10.11.2025, 11:21
RE: Reverse Engineering der NLT II - von Shihan - 10.11.2025, 12:32
RE: Reverse Engineering der NLT II - von Shihan - 10.11.2025, 16:35
RE: Reverse Engineering der NLT II - von llm - 11.11.2025, 08:38
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 08:20
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 10:21
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 11:27
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 12:00
RE: Reverse Engineering der NLT II - von llm - 12.11.2025, 18:04
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 07:35
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 08:44
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 08:50
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 10:56
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 14:35
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 18:15
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 16:00
RE: Reverse Engineering der NLT II - von llm - 13.11.2025, 18:16
RE: Reverse Engineering der NLT II - von HenneNWH - Vor 4 Stunden



Benutzer, die gerade dieses Thema anschauen: 19 Gast/Gäste