erklärung bitte .__.

10/25/2010 22:12 Hackerfreak1#1
Also ..
ich habe mal eine frage an "die großen" :D


könnt ihr mir mal einen source code hier reinstellen [ könnt gerne die Adressenrausnehmen oder zensieren ;)]
und mir einfach mal erklären was was bedeutet.. ?

ich habe schon so gut wie alles gelesen und selber macht aber checke es immer noch net .. einfach mal erklären ..

Am besten wäre es auch wen ihr es schrit für schrit amchen würdet..

Also angefanen mit z.b Speedhack => erklären
dan z.b

hp hack => erklären ..

Also immer ein hack so nach dem anderem weil sonst wird das zu viel :'D

Dan können wir ja mal mit Speedhack anfangen ..

nehmt ein spiel eurer wahl zur erklärung :'D

Danke schon mal für die erklärungen :3 :handsdown:
10/25/2010 22:52 lolkop#2
1. bliebiges tool zum durchsuchen des speichers starten (zb. tsearch, cheatengine, mhs, odbg, ida, winhex, ....)
2. adresse deines problems suchen + finden
3. wenn adresse = dynamisch, beliebigen debugger starten (zb siehe obere liste)
4. wenn 3. dann alle notwendigen pointer suchen
5. speicherbereich/wert bzw codecave mit autoit überschreiben/einfügen
10/25/2010 22:54 ZaZiZu#3
Quote:
Originally Posted by Hackerfreak1 View Post
Also ..
ich habe mal eine frage an "die großen" :D


könnt ihr mir mal einen source code hier reinstellen [ könnt gerne die Adressenrausnehmen oder zensieren ;)]
und mir einfach mal erklären was was bedeutet.. ?

ich habe schon so gut wie alles gelesen und selber macht aber checke es immer noch net .. einfach mal erklären ..

Am besten wäre es auch wen ihr es schrit für schrit amchen würdet..

Also angefanen mit z.b Speedhack => erklären
dan z.b

hp hack => erklären ..

Also immer ein hack so nach dem anderem weil sonst wird das zu viel :'D

Dan können wir ja mal mit Speedhack anfangen ..

nehmt ein spiel eurer wahl zur erklärung :'D

Danke schon mal für die erklärungen :3 :handsdown:
[Only registered and activated users can see links. Click Here To Register...]

da steht alles, was man wissen muss. einige tutorials sogar auf deutsch


aber zuerst sollte man überhaupt wissen wie gut(wenn überhaupt) du dich mit AutoIt und/oder Hacking(cheatEngine oder so) auskennst


Es wird sicherlich niemand hier seitenweise skripts reinstellen mit erklärungen und drum und dran

beste lernmethode ist es sich das erstmal selber anzuschauen..wenn man das gefühl hat man checkt da gar nix, dann müsste man von ganz klein anfangen
wenn man das gefühl hat man checkt einige formeln nicht, dann schaut man sich diese in hilfsdateien/hilfsseiten an
wenn man das gefühl hat man checkt den sinn nicht, dann denkt man nach, nutzt hier die suchfunktion, und erst wenn dann sich immer noch nix ändert, aber auch erst dann fragt man hier im forum (den mittleren teil tut eh keiner, tbh. ich auch nicht)



die meisten hier sind eigentlich ziemlich hilfsbereit, wenn die wissen, dass man sich angestrengt hat :)



€dit: @lolkop:
du verlangst nicht echt von ihm, dass er das gleich versteht ^^?
ich wette gleich kommen die fragen: was ist dynamisch, wie erkenne ich das, was wäre das nicht-dynamische, wie löse ich da das problem...usw
10/25/2010 22:55 Hackerfreak1#4
Quote:
Originally Posted by lolkop View Post
1. bliebiges tool zum durchsuchen des speichers starten (zb. tsearch, cheatengine, mhs, odbg, ida, winhex, ....)
2. adresse deines problems suchen + finden
3. wenn adresse = dynamisch, beliebigen debugger starten (zb siehe obere liste)
4. wenn 3. dann alle notwendigen pointer suchen
5. speicherbereich/wert bzw codecave mit autoit überschreiben/einfügen


sowas habe ich schon mal gelesen..

Aber bitte wörter erklären.. xD

z.b pointer..
:D

Sorry :)
10/25/2010 22:57 Hackerfreak1#5
Quote:
Originally Posted by ZaZiZu View Post
[Only registered and activated users can see links. Click Here To Register...]

da steht alles, was man wissen muss. einige tutorials sogar auf deutsch


aber zuerst sollte man überhaupt wissen wie gut(wenn überhaupt) du dich mit AutoIt und/oder Hacking(cheatEngine oder so) auskennst


Es wird sicherlich niemand hier seitenweise skripts reinstellen mit erklärungen und drum und dran

beste lernmethode ist es sich das erstmal selber anzuschauen..wenn man das gefühl hat man checkt da gar nix, dann müsste man von ganz klein anfangen
wenn man das gefühl hat man checkt einige formeln nicht, dann schaut man sich diese in hilfsdateien/hilfsseiten an
wenn man das gefühl hat man checkt den sinn nicht, dann denkt man nach, nutzt hier die suchfunktion, und erst wenn dann sich immer noch nix ändert, aber auch erst dann fragt man hier im forum (den mittleren teil tut eh keiner, tbh. ich auch nicht)



die meisten hier sind eigentlich ziemlich hilfsbereit, wenn die wissen, dass man sich angestrengt hat :)
[..] Okay Danke :D :D

Dan starte ich ma meine brain.exe ..xD

und denken + suchen = Gecheckt ;D ?
10/25/2010 22:59 lolkop#6
Quote:
Originally Posted by Hackerfreak1 View Post
sowas habe ich schon mal gelesen..

Aber bitte wörter erklären.. xD

z.b pointer..
:D

Sorry :)
sry war davon ausgegangen, das du der englischen sprache mächtig bist, oder schonmal eine suchmaschiene benutzt hast...
aber will ja mal nicht so sein und nehme dir die arbeit ab.

[Only registered and activated users can see links. Click Here To Register...]
10/25/2010 23:01 Hackerfreak1#7
Quote:
Originally Posted by lolkop View Post
sry war davon ausgegangen, das du der englischen sprache mächtig bist, oder schonmal eine suchmaschiene benutzt hast...
aber will ja mal nicht so sein und nehme dir die arbeit ab.

[Only registered and activated users can see links. Click Here To Register...]



...Also ganz dumm bin ich auch nicht ...


ich wuste nicht das ich das bei leo suchen kann o.o ?
vill is das wieder i so ne prog abkürzer was weiß ich sprache ? -.-
10/25/2010 23:16 MoepMeep#8
Quote:
Originally Posted by lolkop View Post
sry war davon ausgegangen, das du der englischen sprache mächtig bist, oder schonmal eine suchmaschiene benutzt hast...
aber will ja mal nicht so sein und nehme dir die arbeit ab.

[Only registered and activated users can see links. Click Here To Register...]
Ich glaube kaum, dass ihm Zeiger weiterhilft ;D
10/25/2010 23:26 lolkop#9
... die programmiersprachen von heute sind eig allgemein so geschrieben, dass man sie mit einfachen englischkenntnissen direkt lesen kann ...

und ja ein pointer ist ein zeiger... wenn du dich jetzt fragst wozu ein zeiger gut ist, hier die antwort: er zeigt auf etwas.
die ziele auf die er zeigt, können alles mögliche sein... eine funktion, eine variable, ein array, eine adresse, einen wert, einen speicherbereich, oder was auch immer die programmierer von deinem target prozess sich einfallen lassen haben.

natürlich zeigen zeiger im speicher immer auf adressen. wichtig ist hierbei nur was sich hinter dieser adresse befindet...

stell dir vor du schickst einen brief an ein riesn unternehmen. dort soll dieser eine gewisse person erreichen. ist ja schön wenn du den brief an die dir bekannte adresse schickst. aber damit der brief wirklich da ankommt, wo er auch hin soll, musst du schon noch "zu händen ..." mit in den brief packen.

und so ist das auch mit pointern. es kommt selten vor, das ein pointer direkt auf eine andere adresse / einen anderen wert verweist.
meist zeigen pointer auf speicherbereiche in denen sehr viele daten stehen.

der pointer zeigt allerdings nur auf den anfangspunkt des speicherbereichs.
jetzt kommen die offsets (zu deutsch abstände) ins spiel.

um das ganze mal anschaulich zu machen hier ein kleines beispiel...

stell dir vor der pointer zeigt auf ein array von adressen (anderen pointern)
adressen sind (in der regel) 4 byte groß (zb 0xFF00FF00) das würde im code des programms dann etwa so aussehen:
Code:
int array[x] = [0x12345678, 0x87654321, 0x12348765, ....]
jetzt zeigt dein zeiger genau auf den anfang des arrays. du willst aber adresse nummer 3 haben, und weist jede adresse ist 4 byte lang...

wenn du dem pointer folgst bist du bei adresse nr1. wenn jetzt jetzt zur aktuellen adresse 4 addierst, bist du bei adresse nur 2. addierst du nochmals 4 bist du bei adresse nur 3.
==>ziel erreicht.

wir wissen also wir müssen zu unserer adresse auf die der pointer zeigt, das offset 8 addieren.

wie würde das noch programmiertechnisch aussehen?
Code:
; angenommen wir haben eine funktion lese($adresse) die uns den inhalt einer speicheradresse ausgiebt.
; zunächst läsen wir den pointer ein, der auf den speicherbereich zeigt.
$pointer = lese($pointer_adresse)
; jetzt haben wir in pointer unsere start adresse des array stehen.
; hierauf addieren wir 8, und lesen die von uns gesuchte adresse ein
$gesucht = lese($pointer + 8)
; in unserem beispiel würde nun in $gesucht 0x12348765 (in dezimal 305432421) stehen.
ob das eingelesene jetzt noch ein weiterer pointer ist, der auf einen weiteren pointer/wert/speicherbereich/... zeigt steht, ist ja hier nicht weiter wichtig.
diese schritte müsste man solange wiederholen, bis wir unser endgültiges ziel erreicht haben.
10/26/2010 13:09 Hackerfreak1#10
Quote:
Originally Posted by lolkop View Post
... die programmiersprachen von heute sind eig allgemein so geschrieben, dass man sie mit einfachen englischkenntnissen direkt lesen kann ...

und ja ein pointer ist ein zeiger... wenn du dich jetzt fragst wozu ein zeiger gut ist, hier die antwort: er zeigt auf etwas.
die ziele auf die er zeigt, können alles mögliche sein... eine funktion, eine variable, ein array, eine adresse, einen wert, einen speicherbereich, oder was auch immer die programmierer von deinem target prozess sich einfallen lassen haben.

natürlich zeigen zeiger im speicher immer auf adressen. wichtig ist hierbei nur was sich hinter dieser adresse befindet...

stell dir vor du schickst einen brief an ein riesn unternehmen. dort soll dieser eine gewisse person erreichen. ist ja schön wenn du den brief an die dir bekannte adresse schickst. aber damit der brief wirklich da ankommt, wo er auch hin soll, musst du schon noch "zu händen ..." mit in den brief packen.

und so ist das auch mit pointern. es kommt selten vor, das ein pointer direkt auf eine andere adresse / einen anderen wert verweist.
meist zeigen pointer auf speicherbereiche in denen sehr viele daten stehen.

der pointer zeigt allerdings nur auf den anfangspunkt des speicherbereichs.
jetzt kommen die offsets (zu deutsch abstände) ins spiel.

um das ganze mal anschaulich zu machen hier ein kleines beispiel...

stell dir vor der pointer zeigt auf ein array von adressen (anderen pointern)
adressen sind (in der regel) 4 byte groß (zb 0xFF00FF00) das würde im code des programms dann etwa so aussehen:
Code:
int array[x] = [0x12345678, 0x87654321, 0x12348765, ....]
jetzt zeigt dein zeiger genau auf den anfang des arrays. du willst aber adresse nummer 3 haben, und weist jede adresse ist 4 byte lang...

wenn du dem pointer folgst bist du bei adresse nr1. wenn jetzt jetzt zur aktuellen adresse 4 addierst, bist du bei adresse nur 2. addierst du nochmals 4 bist du bei adresse nur 3.
==>ziel erreicht.

wir wissen also wir müssen zu unserer adresse auf die der pointer zeigt, das offset 8 addieren.

wie würde das noch programmiertechnisch aussehen?
Code:
; angenommen wir haben eine funktion lese($adresse) die uns den inhalt einer speicheradresse ausgiebt.
; zunächst läsen wir den pointer ein, der auf den speicherbereich zeigt.
$pointer = lese($pointer_adresse)
; jetzt haben wir in pointer unsere start adresse des array stehen.
; hierauf addieren wir 8, und lesen die von uns gesuchte adresse ein
$gesucht = lese($pointer + 8)
; in unserem beispiel würde nun in $gesucht 0x12348765 (in dezimal 305432421) stehen.
ob das eingelesene jetzt noch ein weiterer pointer ist, der auf einen weiteren pointer/wert/speicherbereich/... zeigt steht, ist ja hier nicht weiter wichtig.
diese schritte müsste man solange wiederholen, bis wir unser endgültiges ziel erreicht haben.
Ha :D ! Danke genau so etwas meinte ich :) Das is n thx wert :D ! Danke :DD