Funktionen/Variablen/usw. in Blitzbasic exe
Übersicht

Gehe zu Seite Zurück 1, 2, 3 Weiter
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Jopp aber ein button das garnet funzen soll bzw. das garnet da is wäre im programm ja dann in einem bereich drin, welcher von der Compiler Direktive so behandelt wird, dass er garnie kompiliert wird -> garnet da zum gecrackt werden.
const Demo = False if Demo ;Hier kommt demospezifische Init else ;Hier kommt vollversionspezifische Init endif ;regulären code ausführen if Demo ;demospezifischen Code ausführen else ;Vollversionspezifschen Code ausführen endif Dann gibts nix von der vollversion was man in der demo hacken könnte und umgekehrt, wie es in C ja auch läuft mittels den Direktiven. Wie TheShadow ja geschrieben hat: 1000x effizienter als nachher rumzuschleiern, weil das wird eh gecrackt über kurz oder lang. Oder denkst du blizzard schreibt im compilierten Code "hier sind alle minimapdaten im speicher, bitte auslesen für maphack" ![]() |
||
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
Hubsi |
![]() Antworten mit Zitat ![]() |
---|---|---|
Ich hab mir jetzt nicht alles haarklein durchgelesen, aber es wird wohl Otto-Normaluser in diesem Leben nicht mehr gelingen irgendwas an irgendeiner Exe zu ändern. Und was ein echter Coder ist, weiß wieviel Arbeit und Herzblut in einem Proggie stecken kann und crackt es schon deshalb nicht. | ||
Den ganzen Doag im Bett umanandflagga und iaz daherkema und meine Hendl`n fressn... |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
http://www.s-a-ve.com/faq/Anti-Cracking-Tips-1.txt
http://www.s-a-ve.com/faq/Anti-Cracking-Tips-2.htm |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
Aber es schreckt zumindest direkte HexCracker ab also die standardmässige "spielstand-cheater-gemeinde" ![]() |
||
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
Bei Spielen kann man ganz lustige sachen machen. Z.B. wenn falsche Serial eingegeben wurde, dann akzeptiert das Spiel es - jedoch kommen wärend des Spiels immer neue Fehler rein - bis das Spiel unspielbar wird oder ein level nicht mehr gelöst werden kann... Irgendwann evtl. noch eine Meldung ausgeben: "ätsch ätsch serial-nummer war falsch - bitte registrieren"
![]() all zu schwer ist es nun auch nicht ein Prog unknackbar zu machen keinen Code der Vollversion in Shareware einbauen - und fertig. Serial-Prüfung ist sowieso unsicher... |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
generell benutzt man MD5 (nicht mehr so sicher) oder SHA1-Algorithmen um Hash-Wertre aus Strings zu erhalten, die dann mit einem "Schlüssel" verglichen werden sollen. Selbst wenn man so einen Hash-Wert im Speicher finden sollte, könnte man das original-Passwort nicht mehr rekonstruieren. Bleibt nur das Problem: Wenn man den "Schlüssel" durch einen eigenen generierten ersetzt, dann schaltet man damit das Programm frei. Darum sollen "Schlüssel"-Strings nicht hartcodiert werden... sondern total versteckt werden | ||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
![]() |
Vertex |
![]() Antworten mit Zitat ![]() |
---|---|---|
Hi!
Also habe auch nochmal geschaut, und die Konstanten, Funktionen, Datas und Globalen folgen nach dem String "__MAIN". Dieser ist in der Regel erst nach ca. 1 MB in der Exe zu finden. Schlimm ist es, dass sich der Code zu einem gewissen Teil nachkonstruieren lässt. Zitat: _fgraphics
_fbackbuffer _fsetbuffer _fcls _fcolor _frect _fwaitkey _fend und der Originalcode dazu: Code: [AUSKLAPPEN] Graphics 640, 480, 32, 2
SetBuffer BackBuffer() Cls Color 255, 0, 0 Rect 0, 0, 640, 480 WaitKey End mfg olli |
||
![]() |
regaa |
![]() Antworten mit Zitat ![]() |
---|---|---|
woher willst du denn wissen was graphics rect und color für parameter bekommen? | ||
UltraMixer Professional 3 - Download
QB,HTML,CSS,JS,PHP,SQL,>>B2D,B3D,BP,BlitzMax,C,C++,Java,C#,VB6 , C#, VB.Net |
dubitat |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
kann man die exe nicht irgendwie verschlüssel und mit einem internen packer in ein bankfield speichern(schritt fr schritt?) damit wäre es doch massiv erschwert wenn man 2 routinen macht aber nur 1 richtig ist ![]() |
||
Erare humanum est - Irren ist Menschlich |
xperience2003Betreff: elim of angels/bytebandits |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
zu dem ganzen thema kann ich nur eines sagen ![]() es wird nie einen perfecten schutz geben ich war früher mal ein ganz böser schlingel, zb. für die handbuchabfrage vom spiel "Lure of the Temptress" habe ich 18 sekunden gebraucht ...und die hatten sich solche mühe gegeben , muhhahhaaarrr ![]() dan wurde das speicherbild neucompiliert und fertig war der crack was ich damit sagen will: man braucht sich nix vormachen, ist ein prog im speicher dann ist es hilflos ausgesetzt ![]() haben will bekommt man diese. mit fast jedem disassembler lassen sich abfragen und andere "schutzmechanismen" überspringen ...im wahrsten sinne des wortes (jmp) wenn man also ein game in blitz als shareware weggeben will und dem anwender den freischaltcode schicken muß, nach bestellung, ist es doch irgentwo egal, ob der die mail mit dem freischaltcode bekommt oder ne mail mit der vollversion exe sprich ich veröffentliche garnich erst das komplette prog sondern nur ne demo tips gegen cheating: ist zwar mit blitz etwas eingeschrängt , aber einiges kann man machen -der "lebensvariable" einen wert hinzuadieren , zb leben=1233 (= 3 leben) wenn leben =1230 dann tot so werden die ganzen cheatprog-user schonmal ihre lebensanzahl nich so leicht cheaten können -alle minuten apptitle "immer anderer name" so nockt man schonmal alle trainer und sämtliche lamer-cheat pogramme aus hehe (weil diese den task nicht mehr finden) wie man eine exe "bearbeitet": is ist natürlich kein prob eine upx-gepackte exe zu entpacken und zwar mit "upx -d prgrammname.exe" aaaaber man kann das unterbinden indem man einfach seine exe mit upx packt und anschließend diese mit einem hexeditor öffnet man findet dann gleich irgentwo am anfang sowas wie "upx 1.21" "UPX0" und "UPX1" diese strings sind die erkennungsvariablen für das upx programm ...genau, weil es strings sind, kann man sie ohne bedenken mit irgentwas ersetzen , und upx entpackt nicht mehr sondern sagt: file is modified/protected/hacked ...was ich persönlich sehr niedlich finde hehe ![]() ---aber wie gesagt , einer der sich mit sowas auskennt, sprich cracker, dem wäre das auch egal... , aber vor möchtegern crackern und cheatern seit ihr damit sicher ![]() ....um das ganze noch zu verfeinern, hehe ![]() bei kleinen games sind anti-cheating functionen irgentwo egal, wer sich das spiel versauen will, solls machen ...aber man kann ja......: beispiel wirtschafts-simulation -die "geldvariable" aufteilen in zehntausender,tausender und hunderter stellen ...das rafft kein cheatprog -die "geldvariable" auf 3 variablen verteilen einen pointer für die "aktuelle" richtige variable und in die anderen müll schreiben alle paar secunden ...das rafft kein cheatprog -die variable auslesen und testen ...in der finalversion des spieles: also das spiel ist fertig und durchgerechnet von den werten her, und jetz teste ich, ob der spieler von einer secunde/minute auf die andere plötzlich einen ZU grossen geldwert hat ...das muß natürlich genau berechnet sein, und man muß toleranzen haben... aber wenn spieler nach 1 minute spiel 1 million gold hat dann ist was faul..... (...ich persönlich würde den spieler mit dem löschen aller spielstände oder zumindest derben beschimpfungen auf dem bilschirm belohnen... hehe ![]() xperience alias elim of the untouchable bytebanditz/angels |
||
- Zuletzt bearbeitet von xperience2003 am So, Mai 30, 2004 0:49, insgesamt 2-mal bearbeitet
Dreamora |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
wo sich doch die cracker immer verstecken *ggg* | ||
OJay |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
alles, was du da oben beschreibst wurde schon mit oberen tipps (ts links) und der upx-shell abgedeckt.
das trainer-programme sich das spiel immer wieder neu über den fenstertitel holen wahr mir neu...ich dachte es gibt sowas wie windowhandles ![]() die methode in shareware nur wirklich das zu implementieren, was wirklich nötig ist, und das vollspiel als eigenes paket vertreiben ist dabei sicherlich die sicherste methode...und wenn das spiel sich nicht allzuweit verbreitet wird man es wohl auch nicht soo schnell in irgendwelchen p2p verzeichnissen finden ![]() |
||
xperience2003Betreff: .. |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
@ojay
apptitle ändert nich nur den string, der als fenstertitel steht sondern sogar den task/prozess-namen, auf den die meisten cheatproggs und trainer zugreifen..und die finden den handle nichmehr die melden dann "prozess nicht gefunden" oder ähnliches und man hat gewonnen ![]() |
||
lettorTrepuS |
![]() Antworten mit Zitat ![]() |
|
---|---|---|
-aus Sicherheitsgründen gelöscht- Diese Information ist mit Ihrer Sicherheitsfreigabe leider nicht erhältlich, Bürger. | ||
![]() |
TheShadowModerator |
![]() Antworten mit Zitat ![]() |
---|---|---|
ST - BB ist kein Interpreter! Der Code wird schon vernünftig übersetzt. MarkSibly hat mal selbt einen Compiler-Code veröffentlich - zugegeben sehr sehr simplen - und unbrauchbaren... aber der weiß schon was er tut.
Gucke mal in anderen Progs was da drin steht. Z.B. habe ich mir Wings3D angeguckt - da steht sowas drin: CreateProcessA, free, malloc, set_app_type, atexit, fclose etc... Api-Funktionen, C++ Libraryfunktionen wahrscheinlich sogar Variablennamen ... Wurde wohl mit MinGW kompiliert... aber scheinbar ist es auch ein Interpreter... nur ein sehr schneller ![]() char blub[]="Das ist ein Text" Das ist ein einfaches C++Beispiel. Der Text wird in der exe hartcodiert. Beim starten wird Prog in den Speicher geladen und es existriert eine "Memoryadresse" wo der Text beginnt. Blub-Pointer wird dann einfach auf diese Adresse gesetzt. So ähnlich macht das BB mit den Variablen oder gar Konstanten auch... und dein toller Schutz mit Registry, Datum und MD5 ist sinnlos - irgendwo in der exe wird das hier stehen: vollversion=........... ;ermittelt ob das Vollversion ist IF vollversion=1 THEN ...... Es muss nur vollversion überbrückt werden - normalerweise setzt ein Cracker die Variable auf 1 und schon ist es IMMER vollversion - da braucht er keine Registry, MD5, Datum etc.... |
||
AMD64 3500+ | GeForce6600GT 128MB | 1GB DDR | WinXPsp2 |
Gehe zu Seite Zurück 1, 2, 3 Weiter
Übersicht


Powered by phpBB © 2001 - 2006, phpBB Group