App installieren
How to install the app on iOS
Follow along with the video below to see how to install our site as a web app on your home screen.
Anmerkung: This feature may not be available in some browsers.
Du verwendest einen veralteten Browser. Es ist möglich, dass diese oder andere Websites nicht korrekt angezeigt werden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Du solltest ein Upgrade durchführen oder ein alternativer Browser verwenden.
Die schlimmsten Hacks die ihr gemacht habt?
- Ersteller i_hasser
- Erstellt am
Hi
Tja, es gibt ja viele Wege nach Rom. Einige sind zwar lang aber gut ausgebaut, andere sind schön kurz führen aber durch Sümpfe, Moore und Treibsand
Was habt ihr schon so alles verbrochen?
Ich fang einfach mal an - ich hab QBasic mit Assembler verbunden. Aber nicht etwa per Lib, sondern per CALL ABSOLUTE
Der Assemblercode lag dabei in einem String
Tja, es gibt ja viele Wege nach Rom. Einige sind zwar lang aber gut ausgebaut, andere sind schön kurz führen aber durch Sümpfe, Moore und Treibsand
Was habt ihr schon so alles verbrochen?
Ich fang einfach mal an - ich hab QBasic mit Assembler verbunden. Aber nicht etwa per Lib, sondern per CALL ABSOLUTE
Der Assemblercode lag dabei in einem String
Zwen
Grand Admiral Special
- Mitglied seit
- 06.01.2002
- Beiträge
- 7.122
- Renomée
- 24
- Prozessor
- eine elektronische Schaltung, die Befehle ausführt
- Mainboard
- die zentrale Platine eines Computers
- Kühlung
- damit wird thermische Energie entzogen
- Speicher
- speichert auszuführenden Programme oder Programmteile
- Grafikprozessor
- wandelt Daten um, dass der Monitor sie als Bild wiedergeben kann
- Display
- Ausgabegerät zur Darstellung von visueller Information
- HDD
- Speichermedium, gewährleistet nichtflüchtige Speicherung
- Optisches Laufwerk
- ermöglicht den Zugriff auf optische Datenträger
- Soundkarte
- verarbeitet analoge und digitale Audiosignale
- Gehäuse
- eine feste Hülle die den Inhalt schützend umgibt
- Netzteil
- Baugruppe zur Energieversorgung
- Betriebssystem
- Sammlung von Computerprogrammen
- Webbrowser
- Software zur Darstellung von Webseiten
- Verschiedenes
- was nicht in das Kategorienschema passt
?Original geschrieben von intel_hasser
QBasic, Assembler, Lib, CALL ABSOLUTE, Assemblercode, String
Das ist ziemlich... unsauber
Irgendwann war ich mal zu Faul in C eine neue struct zu erstellen, musste auf einen Bereich zugreifen in dem verschiedene Datentypen nacheinander kamen.
Also hab ich das ungefähr so gelößt:
1. Wert *( (long int*) ptr)
2. Wert *( (char*) ((long int*) ptr + 1))
usw.
Das sah auch etwas komisch aus
Ich hab es auch mal geschafft eine Umrechnungsroutine von LBA in CHS in Assembler zu schreiben, ohne auch nur einen Speicherzugriff zu tätigen. Und das war 16bit Assembler, also nix eax, ebx ...
Irgendwann war ich mal zu Faul in C eine neue struct zu erstellen, musste auf einen Bereich zugreifen in dem verschiedene Datentypen nacheinander kamen.
Also hab ich das ungefähr so gelößt:
1. Wert *( (long int*) ptr)
2. Wert *( (char*) ((long int*) ptr + 1))
usw.
Das sah auch etwas komisch aus
Ich hab es auch mal geschafft eine Umrechnungsroutine von LBA in CHS in Assembler zu schreiben, ohne auch nur einen Speicherzugriff zu tätigen. Und das war 16bit Assembler, also nix eax, ebx ...
- Mitglied seit
- 16.11.2001
- Beiträge
- 21.665
- Renomée
- 1.249
- Standort
- München
- Aktuelle Projekte
- World Community Grid
- Lieblingsprojekt
- Folding@Home
- Meine Systeme
- AMD Ryzen 9 5950X
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASUS TUF Gaming X570-Pro [WI-FI]
- Kühlung
- be quiet! Shadow Rock 3
- Speicher
- 4x 16GB DDR4-3200 Corsair Vengeance LPX
- Grafikprozessor
- ASRock Radeon RX 550 Phantom Gaming Aktiv 2GB
- Display
- LG 27UL850-W, 27"
- SSD
- Samsung 980 PRO 2TB, Samsung 840 EVO 500GB
- HDD
- Seagate Barracuda 7200.14 3TB SATA3
- Optisches Laufwerk
- Samsung SH-S183A SATA schwarz (im externen Gehäuse)
- Gehäuse
- be quiet! Silent Base 802 schwarz
- Netzteil
- be quiet! Straight Power 11 Platinum 550W
- Tastatur
- Logitech G613 Lightspeed
- Maus
- Logitech M510
- Betriebssystem
- Ubuntu Linux 22.04
- Webbrowser
- Vivaldi
- Internetanbindung
-
▼100 MBit
▲40 MBit
Hey, das kommt mir bekannt vor. Um bei Visual Basic 6.0 Assembler nutzen zu können, reserviere ich beim Programmstart Speicher, schreibe dort den Code fertig codiert rein und springe das ganze dann mit dem CallWindowProc-API bei Bedarf an. Der Trick ist allerdings nicht von mir.Original geschrieben von intel_hasser
Ich fang einfach mal an - ich hab QBasic mit Assembler verbunden. Aber nicht etwa per Lib, sondern per CALL ABSOLUTE
Der Assemblercode lag dabei in einem String
- Mitglied seit
- 16.11.2001
- Beiträge
- 21.665
- Renomée
- 1.249
- Standort
- München
- Aktuelle Projekte
- World Community Grid
- Lieblingsprojekt
- Folding@Home
- Meine Systeme
- AMD Ryzen 9 5950X
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASUS TUF Gaming X570-Pro [WI-FI]
- Kühlung
- be quiet! Shadow Rock 3
- Speicher
- 4x 16GB DDR4-3200 Corsair Vengeance LPX
- Grafikprozessor
- ASRock Radeon RX 550 Phantom Gaming Aktiv 2GB
- Display
- LG 27UL850-W, 27"
- SSD
- Samsung 980 PRO 2TB, Samsung 840 EVO 500GB
- HDD
- Seagate Barracuda 7200.14 3TB SATA3
- Optisches Laufwerk
- Samsung SH-S183A SATA schwarz (im externen Gehäuse)
- Gehäuse
- be quiet! Silent Base 802 schwarz
- Netzteil
- be quiet! Straight Power 11 Platinum 550W
- Tastatur
- Logitech G613 Lightspeed
- Maus
- Logitech M510
- Betriebssystem
- Ubuntu Linux 22.04
- Webbrowser
- Vivaldi
- Internetanbindung
-
▼100 MBit
▲40 MBit
Goil! Wo?Original geschrieben von [ab]noname
Es gibt sogar einen Inline Assembler für VB 6.0 als Plugin
skyphab
Grand Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 13.832
- Renomée
- 86
- Standort
- 8002 Zürich
- Mein Laptop
- MacBook Air 11.6" Intel i7 2ghz, 8gb Ram, 256GB SSD
- Prozessor
- iMac Intel Core i7 2.8Ghz
- Speicher
- 16 GB
- Grafikprozessor
- ATI Radeon HD 4850
- Display
- 27", 2560 x 1440
- HDD
- 1 TB
- Betriebssystem
- Mac OS X
ah, ich weiß noch was vom gymi dv-unterricht in einer klassenarbeit.
anstatt in [a..z] oder sowas zu nehmen, habe ich lauter ifs gemacht
was suboptimale laufzeit bedeutet, habe ich dann an den eigenen fingern spüren können
jochen 'if if if if if if if if if if if if if if if if if if if if if if if if if if' skyphab
anstatt in [a..z] oder sowas zu nehmen, habe ich lauter ifs gemacht
was suboptimale laufzeit bedeutet, habe ich dann an den eigenen fingern spüren können
jochen 'if if if if if if if if if if if if if if if if if if if if if if if if if if' skyphab
Ach ja, die guten alten Zeiten
Wisst ihr wie viele Segmentregister der i386 hat?
6.
Und wisst ihr, wie viele man davon im Realmode braucht?
3.
Das lässt doch Platz für wunderbare Hacks. Wenn man mal kein Register hat wirds eben schnell nach ES geschoben, das haut schon hin. Notfalls kann man auch noch die Indexregister (2) missbrauchen.
Wisst ihr wie viele Segmentregister der i386 hat?
6.
Und wisst ihr, wie viele man davon im Realmode braucht?
3.
Das lässt doch Platz für wunderbare Hacks. Wenn man mal kein Register hat wirds eben schnell nach ES geschoben, das haut schon hin. Notfalls kann man auch noch die Indexregister (2) missbrauchen.
mj
Technische Administration, Dinosaurier, ,
- Mitglied seit
- 17.10.2000
- Beiträge
- 19.529
- Renomée
- 272
- Standort
- Austin, TX
- Mein Laptop
- 2,4kg schwer
- Prozessor
- eckig... glaub ich
- Mainboard
- quadratisch, praktisch, gut
- Kühlung
- kühler?
- Speicher
- ja
- Grafikprozessor
- auch
- Display
- viel bunt
- HDD
- ist drin
- Optisches Laufwerk
- ist auch drin (irgendwo)
- Soundkarte
- tut manchmal tuuut
- Gehäuse
- mit aufkleber!
- Netzteil
- so mit kabel und so... voll toll
- Betriebssystem
- das eine da das wo dingenskirchen halt, nech?
- Webbrowser
- so ein teil da... so grün und so
- Verschiedenes
- nunu!
Dinge dieser Art sind meine schlimmsten Hacks: Der Mißbrauch von Registern in Assembler. Außerdem hab ich den FPU-Stack zum ablegen von Daten genutzt die ich hernach wieder mit der ALU weiterverarbeitet habeOriginal geschrieben von intel_hasser
Das lässt doch Platz für wunderbare Hacks. Wenn man mal kein Register hat wirds eben schnell nach ES geschoben, das haut schon hin. Notfalls kann man auch noch die Indexregister (2) missbrauchen.
Und was ich auch schon öfters gebracht habe: Werte, die eigentich mit der ALU berechnet werden sollten mit der FPU durchrechnen, da dies auf einigen Prozessoren (beispielsweise K7) schneller geht - auch eine Sache, für die ich eigentlich gesteinigt gehöre.
- Mitglied seit
- 16.11.2001
- Beiträge
- 21.665
- Renomée
- 1.249
- Standort
- München
- Aktuelle Projekte
- World Community Grid
- Lieblingsprojekt
- Folding@Home
- Meine Systeme
- AMD Ryzen 9 5950X
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASUS TUF Gaming X570-Pro [WI-FI]
- Kühlung
- be quiet! Shadow Rock 3
- Speicher
- 4x 16GB DDR4-3200 Corsair Vengeance LPX
- Grafikprozessor
- ASRock Radeon RX 550 Phantom Gaming Aktiv 2GB
- Display
- LG 27UL850-W, 27"
- SSD
- Samsung 980 PRO 2TB, Samsung 840 EVO 500GB
- HDD
- Seagate Barracuda 7200.14 3TB SATA3
- Optisches Laufwerk
- Samsung SH-S183A SATA schwarz (im externen Gehäuse)
- Gehäuse
- be quiet! Silent Base 802 schwarz
- Netzteil
- be quiet! Straight Power 11 Platinum 550W
- Tastatur
- Logitech G613 Lightspeed
- Maus
- Logitech M510
- Betriebssystem
- Ubuntu Linux 22.04
- Webbrowser
- Vivaldi
- Internetanbindung
-
▼100 MBit
▲40 MBit
Ich find's lustig, dass gerade intel_hasser, der sich des öfteren mal über den Programmierstil anderer Leute aufregt, solche düsteren Hacks anwendet...
- Mitglied seit
- 16.11.2001
- Beiträge
- 21.665
- Renomée
- 1.249
- Standort
- München
- Aktuelle Projekte
- World Community Grid
- Lieblingsprojekt
- Folding@Home
- Meine Systeme
- AMD Ryzen 9 5950X
- BOINC-Statistiken
- Folding@Home-Statistiken
- Prozessor
- AMD Ryzen 9 5950X
- Mainboard
- ASUS TUF Gaming X570-Pro [WI-FI]
- Kühlung
- be quiet! Shadow Rock 3
- Speicher
- 4x 16GB DDR4-3200 Corsair Vengeance LPX
- Grafikprozessor
- ASRock Radeon RX 550 Phantom Gaming Aktiv 2GB
- Display
- LG 27UL850-W, 27"
- SSD
- Samsung 980 PRO 2TB, Samsung 840 EVO 500GB
- HDD
- Seagate Barracuda 7200.14 3TB SATA3
- Optisches Laufwerk
- Samsung SH-S183A SATA schwarz (im externen Gehäuse)
- Gehäuse
- be quiet! Silent Base 802 schwarz
- Netzteil
- be quiet! Straight Power 11 Platinum 550W
- Tastatur
- Logitech G613 Lightspeed
- Maus
- Logitech M510
- Betriebssystem
- Ubuntu Linux 22.04
- Webbrowser
- Vivaldi
- Internetanbindung
-
▼100 MBit
▲40 MBit
Danke!
Nochmal wegen meiner CallWindowProc-Methode: Die AMD64-CPUs hat doch dieses NX-Feature, welches mit WinXP SP2 dann auch genutzt wird. Dabei wird ja verhindert, das Daten ausgeführt werden. Dadurch werden einige Programmiertricks unmöglich, z. B. muss am ATL-Framework einiges geändert werden. Ich habe mir gerade die Frage gestellt, ob mein CallWindowProc-Trick dann noch funktioniert. Wahrscheinlich nicht, oder? Hmmm, das ließe sich sicher irgendwie verkraften - bspw. mit dem geposteten Plugin. Allerdings baue ich gerade an einem neuen Hack. Dabei muss ich mit einem jmp-Befehl ein Win-API umleiten (das jmp wird an die Adresse des APIs geschrieben und leitet auf meinen eigenen Code weiter).
Wenn das mit NX eh nicht mehr funzzt, muss ich mir gleich etwas anderes ausdenken. Deshalb wollte ich mal eure Einschätzung der Lage hören.
Nochmal wegen meiner CallWindowProc-Methode: Die AMD64-CPUs hat doch dieses NX-Feature, welches mit WinXP SP2 dann auch genutzt wird. Dabei wird ja verhindert, das Daten ausgeführt werden. Dadurch werden einige Programmiertricks unmöglich, z. B. muss am ATL-Framework einiges geändert werden. Ich habe mir gerade die Frage gestellt, ob mein CallWindowProc-Trick dann noch funktioniert. Wahrscheinlich nicht, oder? Hmmm, das ließe sich sicher irgendwie verkraften - bspw. mit dem geposteten Plugin. Allerdings baue ich gerade an einem neuen Hack. Dabei muss ich mit einem jmp-Befehl ein Win-API umleiten (das jmp wird an die Adresse des APIs geschrieben und leitet auf meinen eigenen Code weiter).
Wenn das mit NX eh nicht mehr funzzt, muss ich mir gleich etwas anderes ausdenken. Deshalb wollte ich mal eure Einschätzung der Lage hören.
Ray
Grand Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 3.141
- Renomée
- 20
- Standort
- An der Spree
- Mein Laptop
- Kein Notbuch
- Prozessor
- Intel Core2Quad Q9650@3.8, AMD Ryzen 9 under test
- Mainboard
- DFI LANPARTY LT X48-T2R + MIPS DFI LANparty P35/X38/X48 Series Freezer Set Nickel
- Kühlung
- EK-Supreme
- Speicher
- 4 x 2 GB OCZ PC2 8500 C5 Reaper@500
- Grafikprozessor
- XFX 8800 GTS(G92) 512 + EK-FC8800 GT/GTS(g92)
- Display
- TFT HP w2408h, 1920x1200
- SSD
- Samsung 840 Pro 256 GB
- HDD
- 2 x WD Black 1TB
- Optisches Laufwerk
- Samsung SH-D163A, Samsung SH-S183A
- Soundkarte
- Creative X-FI Xtreme Gamer Fatality Pro
- Gehäuse
- Modified Lian Li PC201B
- Netzteil
- Seasonic S12 550W
- Betriebssystem
- Win7U-64
- Webbrowser
- FireFox
- Verschiedenes
- Thermochill PA120.3 Triple Radiator , Liang DDC , 11 years old mainboard, still running!
Die schlimmsten Hacks hab ich mittels selbstmodifizierendem Code in Assembler für schnelle Grafikroutinen (VGA mit 16 Farben) unter Turbo-Pascal (DOS) gemacht. Z.B. in einer doppelten Schleife zum Kopieren/Verschieben von rechteckigen Bildschirmausschnitten sind mir die Register ausgegangen und ich musste in der inneren Schleife auf eine variable Bitposition im Speicher rotieren. Z.B. ROR AX,CL war nicht mehr möglich, da das CL-Reg schon anderwertig gebraucht wurde. Also am Anfang der Routine kurz mal den Befehl ROR AX, Nummer an die entsprechende Stelle in den Code gepatcht...
Die Grafikbibliothek ist voll mit solchen Stellen.
Als Student vor 14 Jahren hatte ich halt noch Zeit für solchen Extrem-Optimising Quatsch.
Ciao,
Ray
Die Grafikbibliothek ist voll mit solchen Stellen.
Als Student vor 14 Jahren hatte ich halt noch Zeit für solchen Extrem-Optimising Quatsch.
Ciao,
Ray
Ray
Grand Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 3.141
- Renomée
- 20
- Standort
- An der Spree
- Mein Laptop
- Kein Notbuch
- Prozessor
- Intel Core2Quad Q9650@3.8, AMD Ryzen 9 under test
- Mainboard
- DFI LANPARTY LT X48-T2R + MIPS DFI LANparty P35/X38/X48 Series Freezer Set Nickel
- Kühlung
- EK-Supreme
- Speicher
- 4 x 2 GB OCZ PC2 8500 C5 Reaper@500
- Grafikprozessor
- XFX 8800 GTS(G92) 512 + EK-FC8800 GT/GTS(g92)
- Display
- TFT HP w2408h, 1920x1200
- SSD
- Samsung 840 Pro 256 GB
- HDD
- 2 x WD Black 1TB
- Optisches Laufwerk
- Samsung SH-D163A, Samsung SH-S183A
- Soundkarte
- Creative X-FI Xtreme Gamer Fatality Pro
- Gehäuse
- Modified Lian Li PC201B
- Netzteil
- Seasonic S12 550W
- Betriebssystem
- Win7U-64
- Webbrowser
- FireFox
- Verschiedenes
- Thermochill PA120.3 Triple Radiator , Liang DDC , 11 years old mainboard, still running!
Mach mal halblang! Das glaubst Du ja wohl selber nichtOriginal geschrieben von intel_hasser
Heute geht sowas garnicht mehr. Der 386er (und alles danach) hat eine Prefetch Queue, die das Ändern von (je nach CPU) ~20 Byte im nachfolgenden Code unwirksam macht.
( Es sei denn, der Code zwischen der Stelle, an dem der Patch durgeführt wird und die Patch-Stelle selbst sind weit genug voneinander entfernt ... )
Damals lief das mit einem 386er, dann mit nem 486er unter DOS.
Und der Code funktioniert immer noch in einer DOS-Box unter WinXP mit einem Barton.
Original geschrieben von Ray
Mach mal halblang! Das glaubst Du ja wohl selber nicht
( Es sei denn, der Code zwischen der Stelle, an dem der Patch durgeführt wird und die Patch-Stelle selbst sind weit genug voneinander entfernt ... )
Damals lief das mit einem 386er, dann mit nem 486er unter DOS.
Und der Code funktioniert immer noch in einer DOS-Box unter WinXP mit einem Barton.
Kann sein, dass der Code bei dir weit genug auseinander lag (vor allem Sprünge dürften das Problem umgehen).
Aber ist tatsache so, die Prefetch Queue macht das ändern von ~20 Byte (je nach CPU, beim 486er ist die Queue länger als beim 386er) im nachfolgenden ausgeführten Code unwirksam. Das ist auch die einzige Methode solche Änderungen zu erkennen, indem man einen Codeblock erstellt der sich selbst umändert (zb. vom Hochzählen eines Registers zu einem NOP). Kann natürlich sein, dass die heutigen CPUs eine Erkennungsroutine haben, aber ein paar Befehle vor dem IP sollte man trotzdem nicht ändern - auf dem 486er geht das zu 100% in die Hose
da kann ich mich auch noch an was erinnern
habe in Delphi Strings statt in einem 2 Dimensionalen array, in einem invisblen StringGrid gespeichert
das kam davon von nicht erst lernen wollen sondern sofort los coden.
habe in Delphi Strings statt in einem 2 Dimensionalen array, in einem invisblen StringGrid gespeichert
das kam davon von nicht erst lernen wollen sondern sofort los coden.
EiRoGGe
Grand Admiral Special
- Mitglied seit
- 11.11.2001
- Beiträge
- 4.219
- Renomée
- 7
- Standort
- Leipzig
- Folding@Home-Statistiken
- Mein Laptop
- IBM Thinkpad T60
- Prozessor
- Intel Core i7-2600K @ 4x 4000MHz @ 1,144V
- Mainboard
- ASUS P8Z68-V, Sockel 1155
- Kühlung
- Thermalright HR-02 Macho (semi-passiv)
- Speicher
- 4x Kingston 4GB DDR3-1333 CL9
- Grafikprozessor
- Intel HD 3000
- Display
- ASUS PA246Q, 1920x1200
- HDD
- Crucial m4 128GB, 2x Hitachi Z5K320 320GB
- Optisches Laufwerk
- Pioneer DVR-212BK
- Soundkarte
- Realtek HD
- Gehäuse
- Fractal Define R3
- Netzteil
- HuntKey Jumper 300G @ Enermax T.B.Silence @ 5V
- Betriebssystem
- Windows 7 Professional x64
- Webbrowser
- Mozilla Firefox
Original geschrieben von skfink
da kann ich mich auch noch an was erinnern
habe in Delphi Strings statt in einem 2 Dimensionalen array, in einem invisblen StringGrid gespeichert
das kam davon von nicht erst lernen wollen sondern sofort los coden.
das erinnert mich an zahlreiche unsichtbare memo-felder um logdateien zu schreiben bis ich auf die tatsache gestoßen bin dass stringlisten denselben zweck erfüllen
Tom24
Grand Admiral Special
- Mitglied seit
- 14.01.2001
- Beiträge
- 5.401
- Renomée
- 7
Ich musste mal was im Borland C Builder schreiben, das war eine Form in der etwa 30 Eingabefelder nacher eine Zusammengesetzte Variable ergaben, weil son anderes Stück Borland Mist das erwartete.
Naja und weil man in Borland Zusammengesetzte Variablen nicht nach ANSI C Standard angrabschen kann und den Namen der Einegabefelder nicht dynamisch bilden kann, musste ich für jedes Eingabefeld eine Zeile schreiben, wie er die Daten da rausholt, und in die Variable schreibt.
Nur weil Borland es nicht für nötig hält sich an Standards zu halten, musste ich da sonen 30 Zeiler für den Quatsch hinklarren, in ner Schleife wären 5 Zeilen gewesen, wenn überhaupt... und trivialer dazu, und die Fehlersuche danach hätt ich mir auch sparen können.
Ziemlich beschränktes Stück Code allgemein, extrem unflexibel und blähte die wirklich triviale Funktion unnötig zu einem Kothaufen auf
...danke Borland, danke an die die Borland benutzen.
Naja und weil man in Borland Zusammengesetzte Variablen nicht nach ANSI C Standard angrabschen kann und den Namen der Einegabefelder nicht dynamisch bilden kann, musste ich für jedes Eingabefeld eine Zeile schreiben, wie er die Daten da rausholt, und in die Variable schreibt.
Nur weil Borland es nicht für nötig hält sich an Standards zu halten, musste ich da sonen 30 Zeiler für den Quatsch hinklarren, in ner Schleife wären 5 Zeilen gewesen, wenn überhaupt... und trivialer dazu, und die Fehlersuche danach hätt ich mir auch sparen können.
Ziemlich beschränktes Stück Code allgemein, extrem unflexibel und blähte die wirklich triviale Funktion unnötig zu einem Kothaufen auf
...danke Borland, danke an die die Borland benutzen.
Fruchtnektar
Admiral Special
Hmm wenn ich hacken mit cracken und manipulieren gleichsetze, war der schlimmste Hack den ich jemals gemacht habe die Windows Uhr zurückzustellen um meine Shareware länger verwenden zu können 8)
So gesehen habe ich mit einem Hack (Windoze) gearbeitet
So gesehen habe ich mit einem Hack (Windoze) gearbeitet
Ähnliche Themen
- Antworten
- 0
- Aufrufe
- 52K
- Antworten
- 0
- Aufrufe
- 151K
- Antworten
- 0
- Aufrufe
- 103K
- Antworten
- 0
- Aufrufe
- 142K