limite de caractères data.s

Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

limite de caractères data.s

Message par jmg49 »

Bonjour,

J'ai une DataSection avec du data de type string, y a t il une limite pour entrer les données ? , par exemple, concernant un tableau de bytes , cela va donner :

Code : Tout sélectionner

Data.b $fc,$e8,$82,$00,$00,$00,$60,$89,$e5,$31,$c0,$64,$8b,$50,$30
Data.b ....suite des bytes 


dans ce cas j'ai 15 entrées par ligne

si je veux faire du data.s , peut on tout mettre sur une seule ligne ? dans mon cas elle est très longue
Data.s "PPYA4444444444QATAXAZAPA3QADAZABARALAYAIAQAIAQAPA5AAAPAZ1AI1AIAIAJ11AIAIAXA58AAPAZABABQI1AIQIAIQI1111AIAJ........et ce n'est pas fini......."
j'ai pas l'impression que cela fonctionne , vaut il mieux séparer les caractères par blocs ? => "IREPTGOD","ZERTYU",
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: limite de caractères data.s

Message par jmg49 »

ok , merci bien, le mieux est de tester, je fais un retour dès que ...
nico
Messages : 3702
Inscription : ven. 13/févr./2004 0:57

Re: limite de caractères data.s

Message par nico »

Si ton code source n'est pas destiné a être partagé, il vaut mieux passer par un fichier et faire un includebinary, cela réduira proportionnellement le temps de compilation et ce sera plus aisé de naviguer dans ton code source.
Avatar de l’utilisateur
microdevweb
Messages : 1802
Inscription : mer. 29/juin/2011 14:11
Localisation : Belgique

Re: limite de caractères data.s

Message par microdevweb »

Avec les nouvelles fonctions Json, il facile maintenant de placer les data dans des structures / list / map de les sauvegardé sur un fichier avec n'importe quel extension et de les chargés au lancement de l'exe.
Windows 10 64 bits PB: 5.70 ; 5.72 LST
Work at Centre Spatial de Liège
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: limite de caractères data.s

Message par jmg49 »

microdevweb a écrit :Avec les nouvelles fonctions Json, il facile maintenant de placer les data dans des structures / list / map de les sauvegardé sur un fichier avec n'importe quel extension et de les chargés au lancement de l'exe.
oula , ça c'est pas mal du tout, aurais tu un code d'exemple pour intégrer les data depuis un fichier ? avec l'aide des fonctions json je ne m'en sort pas !
Avatar de l’utilisateur
falsam
Messages : 7324
Inscription : dim. 22/août/2010 15:24
Localisation : IDF (Yvelines)
Contact :

Re: limite de caractères data.s

Message par falsam »

jmg49 a écrit :aurais tu un code d'exemple pour intégrer les data depuis un fichier ? avec l'aide des fonctions json je ne m'en sort pas !
Bonjour jmg.
Un tuto sur ce sujet :
- La création d'une chaîne JSON avec la fonction CreateJSON()
- L'insertion d'une liste chaînée dans une chaine avec JSON avec la fonction InsertJSONList()
- La sauvegarde d'une chaîne JSON dans un fichier avec la fonction SaveJSON()
- Download d'un ficher JSON avec la fonction LoadJSON() et ExtractJSONList()

:arrow: http://www.purebasic.fr/french/viewtopi ... 21&t=14511
Configuration : Windows 11 Famille 64-bit - PB 6.20 x64 - AMD Ryzen 7 - 16 GO RAM
Vidéo NVIDIA GeForce GTX 1650 Ti - Résolution 1920x1080 - Mise à l'échelle 125%
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: limite de caractères data.s

Message par jmg49 »

merci pour tous ces liens, je vais jetter un oeil attentif ,

est il possible par ce moyen là de "remplir automatiquement" des data.b dans une datasection ? par exemple , importer depuis un fichier une chaine "$32,$45,$ff,$89" dans la data section ?
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: limite de caractères data.s

Message par G-Rom »

La datasection est par définition "juste lisible" , une solution consiste à alloué un espace dans ta datasection , récupéré l'adresse via "?label" & écrire dedans , mais je ne vois pas l’intérêt
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: limite de caractères data.s

Message par jmg49 »

moi oui, ex : un fichier .txt qui contient des une suite de caractères Base64

dans notre code on récupère la chaine de caractères, application de la fonction b64decode et intégration dans des data.b , on mets le contenu dans le registre EAX en asm et call

résultat, une charge virale encodée en b64 dans le fichier .txt , décodée et exécutée sans détections anti virales (sous réserve ! , l'heuristique peut bloquer) ,

( ça ma semble similaire au RunPe qui couplé à une routine d'encryption/décryption va décrypter et exécuter un tableau de bytes directement en mémoire, )

j'ai déjà rencontré un cas similaire mais avec les bytes écrits sous forme de char dans le registre Windows.....récupérés par un prog tiers et exécutés, mais contrairement au RunPE pas d'appel d'API suspect (CreateProcess_ ; GetThreadContext_ ;WritePocessMemory ....etc)
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: limite de caractères data.s

Message par G-Rom »

Code : Tout sélectionner

; ecriture
*pointeur = ?Memory 
PokeB(*pointeur,10)
PokeB(*pointeur+1,11)
PokeB(*pointeur+2,12)
PokeB(*pointeur+3,13)

;lecture
Restore Memory 
For i = 0 To 3
  Read.b value
  Debug value 
Next 

;datasection
DataSection
  Memory:
  Data.b 0,0,0,0
  
EndDataSection
voila le principe, a toi d'agrandir la datasection, attention , c'est pas dynamique.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: limite de caractères data.s

Message par G-Rom »

une datasection est un tableau à une dimension. il n'est pas read only , on peu écrire dedans.
G-Rom
Messages : 3641
Inscription : dim. 10/janv./2010 5:29

Re: limite de caractères data.s

Message par G-Rom »

la DataSection est une Zone , une Section , du point de vue Assembleur
je connais tout cela , ca reste une zone contigüe , donc comme un tableau 1D.
meme s'il est vrais qu'on peut écrire dedans , comme je le pense, c'est pas fait pour ...
je suis d'accord.

Code : Tout sélectionner

mais bon , puisqu'il s'agit apparemment de faire un virus , tout est permis (meme sur ce forum, alors que je pensait le sujet plutot sensible au passage ;) )
il n'y a pas de code malveillant et il y en aura pas.
jmg49
Messages : 153
Inscription : mer. 26/févr./2014 8:53

Re: limite de caractères data.s

Message par jmg49 »

:) non le but n'est pas de faire un virus, ça je sais déjà très bien le faire, c'est mon travail, c'est plutôt comment mettre en place des mesures de protections pour justement bloquer ce type de nouvelles attaques par des règles à injecter dans les IDS, on ne bloque que ce que l'on connait....le PureBasic offre d'énormes possibilité pour les programmeurs d'applications normales mais aussi malheureusement pour les malwares de par sa nouveauté de syntaxe inconnue des antivirus, coder différemment avec des techniques non utilisées est un point faible des antivirus....
j'ai pu recenser à ce jour, en Purebasic : un crypteur d'exécutable, un cheval de troie, et plusieurs codes de RunPe qui sont utilisés essentiellement pour ce genre "d'activités" ,
ce pourquoi je fais ceci, une fois mon code optimisé et fonctionnel, je récuperèrerai la trame tcp générée par le malware et pourrait l'injecter dans nos ids, protégeant le réseau ,

maintenant, vous avez votre point de vue en fonction de ce que vous développez et moi aussi, je ne vous ai jamais demandé de m'aider à développer un virus, malgré tout des codes malveillants il y en a sur ce forum, par contre ce n'est pas à la portée du premier venu pour les utiliser,

je ne veux pas provoquer de tensions, je sais que le sujet est sensible, me concernant, j'ai appris la programmation essentiellement avec les malwares, VB6 ,Delphi , c++ , et on peut remonter à l'assembleur Z80, aujourd'hui j'ai la chance d'avoir pu en faire ma profession, maintenant, on peut en discuter en messages privés, mes demandes seront surtout donc orientée vers cette direction plutôt que de savoir comment afficher des gadgets.....
Répondre