Register for your free account! | Forgot your password?

Go Back   elitepvpers > Coders Den > General Coding
You last visited: Today at 22:59

  • Please register to post and access all features, it's quick, easy and FREE!

Advertisement



Array auslesen und mit Offset verschlüsseln?

Discussion on Array auslesen und mit Offset verschlüsseln? within the General Coding forum part of the Coders Den category.

Reply
 
Old   #1
 
Sogma's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 670
Received Thanks: 137
Question Array auslesen und mit Offset verschlüsseln?

Hallo, ich programmiere hobbymäßig und habe mich mal an eine simple Cäsar-Verschlüsselung gesetzt. Das ganz ist in C geschrieben, und benötigt immernoch eine Eingabe des "Klartextes" - welcher verschlüsselt wird, und die des Offsets.
Falls ihr euch den Code ansehen wollt spoilere ich ihn hier mal vorsichtshalber.

Das Ganze ist eine MSDOS Anwendung

So jetzt zu dem eigentlichen Problem das ich habe. Mit einer Art dieser Encryption wollte ich nun gerne ein Array aus einer .exe auslesen, Diesen wieder verschlüsseln.
Die Executeable ist aber leider in Assembly geschrieben, heißt das Verfahren klappt nicht mit meinem Code.Außerdem wollte ich gerne das Eingeben von Offset und Text raus hauen, also dass er sich den Text selbst holt und das Offset schon vorgegeben ist.

Kann mir freundlicherweise jemand dabei helfen?

Lg Sogma
Sogma is offline  
Old 02/26/2013, 16:48   #2

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
Willst du das Array während der Laufzeit auslesen oder ist irgendwo in der .exe ein Array, das du auslesen willst?
Während der Laufzeit: ReadProcessMemory nutzen, Daten verändern und mit WriteProcessMemory wieder in den Speicher an Stelle des Arrays reinschreiben.
Ansonsten: Ein FILE mit der .exe initialisieren. Irgendwo in der .exe ist ja der .DATA Part (oder war es doch .TEXT? ) und da ist dann (in der Theorie zumindest) das Array. Dann beginnt das Array bei (address of FILE) + (array-Part in der FILE). Darauf nen Zeiger oder wie auch immer und du hast den Content.

Wie meinst du das mit dem Offset?
snow is offline  
Thanks
1 User
Old 02/26/2013, 17:34   #3
 
Sogma's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 670
Received Thanks: 137
Danke erstmal. Also das Offset ist zum Beispiel abc, der Text wie im Beispiel 1234abcd5678efgh - dann wird gerechnet: 1+a, 2+b, 3+c, 4+a ... usw. Und daraus ergibt sich die Verschlüsselung.

Wenn ich die Exe mit nem HEX Editor öffne steht dort folgendes:
Code:
007CE080  31 32 33 34 61 62 63 64  35 36 37 38 65 66 67 68  1234abcd5678efgh
Das 1234... will ich nun auslesen, und mit der Methode oben direkt verschlüsseln.
Sogma is offline  
Old 02/26/2013, 19:01   #4

 
snow's Avatar
 
elite*gold: 724
Join Date: Mar 2011
Posts: 10,480
Received Thanks: 3,319
007CE080 ist meines Wissens nach die Adresse innerhalb der .exe, evtl. musst du da noch was draufrechnen oder abziehen, das weiß ich so grade nicht.

Die 31, 32 etc. sind die ASCII-Zeichen in Hexadezimal, das müsstest du direkt so auslesen können (%x speichert dir einen Integer im Hexadezimalformat) und zum Array hinzufügen können. Einen char kannst du ja auch über den ASCII-Wert definieren (das wäre hier dann z.B. 49, das ist als char '1').

Da kannst du ja dann über eine Schleife lösen:
while (nochnichtfertig) {

array[i] = asciiwert[adresse + i];
++i;
}

Zu der Verschlüsselung: Die kenne ich nicht, aber sehe ich richtig, dass du im Prinzip +a, +b, +c, +a, +b, +c usw. anwendest? Dann kannst du das über 'a' + (i % 3); lösen, somit hast du in jedem 3. Schritt ein 'a', nach jedem 3. + 1 Schritt ein 'b' und nach jedem 3. + 2 Schritt ein 'c'. Modulo ftw.

Joa, so sollte das so ganz grob passen.
snow is offline  
Old 02/26/2013, 19:19   #5
 
Sogma's Avatar
 
elite*gold: 0
Join Date: Mar 2010
Posts: 670
Received Thanks: 137
Wenn du dir den Code im Spoiler anguckst dann sieht das da auch so aus. Ich möchte Das jetzt jedoch in Assembly haben, denn in der IDA-Anicht von meiner Exe sieht da sganze so aus:

Code:
007CE080                 db  31h ; 1
007CE081                 db  32h ; 2
007CE082                 db  33h ; 3
007CE083                 db  34h ; 4
007CE084                 db  61h ; a
007CE085                 db  62h ; b
007CE086                 db  63h ; c
007CE087                 db  64h ; d
007CE088                 db  35h ; 5
007CE089                 db  36h ; 6
007CE08A                 db  37h ; 7
007CE08B                 db  38h ; 8
007CE08C                 db  65h ; e
007CE08D                 db  66h ; f
007CE08E                 db  67h ; g
007CE08F                 db  68h ; h
Sogma is offline  
Reply


Similar Threads Similar Threads
Skillspeed Offset auslesen
02/01/2012 - Last Chaos - 13 Replies
Guten Abend! Ich habe heute nach langem wieder einmal versucht die Offsets für den Skillspeed heraus zu finden. Dabei habe ich den Trick mit dem Waffen wechseln verwendet, wie auf einem von KD´s Video beschrieben. Tutorial Doch als ich, wie in dem Video bei 0:57, auf "find out what this adress writes" ging, bekam ich immer eine Meldung, dass LC nicht mehr funktioniere. (Fehlermeldung des Bildes folgt) Kann man dies irgendwie umgehen oder gibt es eine andere Methode diesen Offset...
[VB|Memory] Array of Byte auslesen
11/01/2011 - .NET Languages - 0 Replies
....
WoW Offset auslesen
07/30/2011 - World of Warcraft - 0 Replies
Gibt es eine Möglichkeit in .NET ein WoW Offset auszulesen? MfG Dragonfly
[AutoIT->Delphi] Pointer + Offset auslesen !
02/05/2011 - Nostale - 4 Replies
Hi, ich habe folgendes AutoIT Script und bekomme es einfach nicht für Delphi umgeschrieben. Mit Memory Read/Write in Delphi habe ich leider keinerlei Erfahrung, deshalb bitte ich euch um eine funktionierende Funktion. AutoIT ist zwar recht easy aber spackt mal wieder rum, NosTale stürzt grundlos ab. :D Folgender Code: #include <Pointer.au3> #RequireAdmin $open = _MemoryOpen(ProcessExists("NostaleX.dat" )) Global $base = 0x0020AC93



All times are GMT +1. The time now is 22:59.


Powered by vBulletin®
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
SEO by vBSEO ©2011, Crawlability, Inc.
This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

Support | Contact Us | FAQ | Advertising | Privacy Policy | Terms of Service | Abuse
Copyright ©2024 elitepvpers All Rights Reserved.