Enfin le projet PROXS à terme !!!

Vous avez développé un logiciel en PureBasic et vous souhaitez le faire connaitre ?
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

J’ai trouvé une méthode pour contourner ça (méthode de bricoleur) :lol:

Code : Tout sélectionner

If KeyboardPushed(#PB_Key_LeftControl) Or KeyboardPushed(#PB_Key_RightControl)
cop$ = GetClipboardText()
SetClipboardText(cop$)
EndIf
If (KeyboardPushed(#PB_Key_LeftControl) And KeyboardPushed(#PB_Key_V)) Or (KeyboardPushed(#PB_Key_RightControl) And KeyboardPushed(#PB_Key_V))
cop$ =  GetClipboardText()
EndIf
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

J’ai ajouté des menus à l’éditeur, et corrigé le bug du Copier/Coller.
La nouvelle version est téléchargeable sur le site.
C’est la version 0.2 beta 3.
http://proxs.new.fr/
:idea:
Avatar de l’utilisateur
venom
Messages : 3136
Inscription : jeu. 29/juil./2004 16:33
Localisation : Klyntar
Contact :

Message par venom »

ha!!!! je je préfère de loin cette interface la plus claire et plus connu des logiciels de nos jours :wink: .


@++
Windows 10 x64, PureBasic 5.73 x86 & x64
GPU : radeon HD6370M, CPU : p6200 2.13Ghz
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

ok ! maintenant ça marche !!

presque !! :lol:

en effet a partir de l'editeur si je charge le shootemup de demo
j'apuis sur F5 , et j'attends, j'attends j'attends j'attends j'attends j'attends

toujours pas de jeux qui se lance !!

je decide de quitter par Ctrl+alt+Del , et la , bisard, le jeu decide de se lancer ....
(je vais vérifier un truc , temps que j'y pense... (c'est peut etre mon Firewall qui bloque , mais je ne vois pas poiurquoi...enfin je vais voir ça ...)) :)

ben non !! c'est pas le firewall
c'est curieux, ça le fait seulement au premier lancement, par la suite si je relance, il demarre bien a chaque fois !! 8O
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

@Dobro
Est-ce que t’as Kaspersky ?
Si oui ! , ben… j’ai remarqué que le processus avp.exe de Kaspersky bloquer parfois l’exécution du programme au premier lancement et tourné à 99% !!(Mais que rarement)
Je pense que Kaspersky n’aime pas trop les liaisons entre programmes ?!
Car l’Editeur crée une liaison avec le noyau pour lui envoyer des données.
Sinon, ça fait partie des mystères de PureBasic.
:?
Dernière modification par Mytic le mar. 18/sept./2007 22:25, modifié 1 fois.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

oublie !! ça ne le fais plus 8O 8O :lol: :lol:

tout est ok pour moi :D
Dernière modification par Backup le mar. 18/sept./2007 22:26, modifié 1 fois.
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

Dobro a écrit :oublie !! ça ne le fais plus 8O 8O :lol: :lol:

tout est ok pour moi :D
OK :D
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

faudra que tu m'explique en detail comment tu peux "compiller" un prg :D
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

Dobro a écrit :faudra que tu m'explique en detail comment tu peux "compiller" un prg :D
Techniquement ce n’est pas de la vraie compilation que je fais !
En gros le compilateur agi comme cela :
-Il charge le noyau
-Le divise en 3 parties.
-la partie d’interprétation reste intacte
-la partie icône est remplacée par une icône.
-après l’icône le code taper par l’utilisateur est crypter et codé puis injecté.
-injection des données Qui concernes le code (taille, type de formatage, langue, etc…) et la clef de cryptage elle-même cryptée.
-Assemblage en mémoire.
-Création de l’exécutable.
:idea:
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Mytic a écrit :
Dobro a écrit :faudra que tu m'explique en detail comment tu peux "compiller" un prg :D
Techniquement ce n’est pas de la vraie compilation que je fais !
En gros le compilateur agi comme cela :
-Il charge le noyau
-Le divise en 3 parties.
-la partie d’interprétation reste intacte
-la partie icône est remplacée par une icône.
-après l’icône le code taper par l’utilisateur est crypter et codé puis injecté.
-injection des données Qui concernes le code (taille, type de formatage, langue, etc…) et la clef de cryptage elle-même cryptée.
-Assemblage en mémoire.
-Création de l’exécutable.
:idea:
hum ! je comprends :)

tu reprend dans le code "compilé" (exe) l'interpreteur auquel tu injecte (en zone data ?) le prg "Proxs" , mais cette interpreteur saute dans la zone injecté...

tu as crée le principe tout seul ou bien a tu utilisé un code du forum anglais, ou autre ?? si oui lequel Svp :) ??

serai interressé pour reprendre le principe avec mon pureGolo
(a voir ... )
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

@Dobro
Ben…
Je ne sais pas si cette méthode existe ?!
Mais l’idée et la façon de procéder viennent de moi.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Mytic a écrit :@Dobro
Ben…
Je ne sais pas si cette méthode existe ?!
Mais l’idée et la façon de procéder viennent de moi.
chapeau bas !!

j'ai vu des codes concernant l'injection sur le forum anglais, c'est pour ça que j'ai pensé que tu t'etais inspiré :D

Bravo encore !!

je vais reflechir a la chose dans mon coin, c'est comme ça que j'apprends le mieux :D

Merci ... :)

ceci a du t'aider , je pense
http://www.purebasic.fr/french/viewtopi ... =injection
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

Je vais essayer de retirer la partie de compilation de mon programme pour que je la post !
Comme ça, elle te donnera des idées pour ton programme.
Backup
Messages : 14526
Inscription : lun. 26/avr./2004 0:40

Message par Backup »

Merci :D

utilise tu WriteProcessMemory pour l'injection

BOOL WINAPI WriteProcessMemory(
__in HANDLE hProcess,
__in LPVOID lpBaseAddress,
__in LPCVOID lpBuffer,
__in SIZE_T nSize,
__out SIZE_T* lpNumberOfBytesWritten
);

Parameters

hProcess

A handle to the process memory to be modified. The handle must have PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process.
lpBaseAddress

A pointer to the base address in the specified process to which data is written. Before data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for write access, and if it is not accessible, the function fails.
lpBuffer

A pointer to the buffer that contains data to be written in the address space of the specified process.
nSize

The number of bytes to be written to the specified process.
lpNumberOfBytesWritten

A pointer to a variable that receives the number of bytes transferred into the specified process. This parameter is optional. If lpNumberOfBytesWritten is NULL, the parameter is ignored.

Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is 0 (zero). To get extended error information, call GetLastError. The function fails if the requested write operation crosses into an area of the process that is inaccessible.
Remarks

WriteProcessMemory copies the data from the specified buffer in the current process to the address range of the specified process. Any process that has a handle with PROCESS_VM_WRITE and PROCESS_VM_OPERATION access to the process to be written to can call the function. Typically but not always, the process with address space that is being written to is being debugged.

The entire area to be written to must be accessible, and if it is not accessible, the function fails.


et ReadProcessMemory ???? pour l'interpretation ??
BOOL WINAPI ReadProcessMemory(
__in HANDLE hProcess,
__in LPCVOID lpBaseAddress,
__out LPVOID lpBuffer,
__in SIZE_T nSize,
__out SIZE_T* lpNumberOfBytesRead
);

Parameters

hProcess

A handle to the process with memory that is being read. The handle must have PROCESS_VM_READ access to the process.
lpBaseAddress

A pointer to the base address in the specified process from which to read. Before any data transfer occurs, the system verifies that all data in the base address and memory of the specified size is accessible for read access, and if it is not accessible the function fails.
lpBuffer

A pointer to a buffer that receives the contents from the address space of the specified process.
nSize

The number of bytes to be read from the specified process.
lpNumberOfBytesRead

A pointer to a variable that receives the number of bytes transferred into the specified buffer. If lpNumberOfBytesRead is NULL, the parameter is ignored.

Return Value

If the function succeeds, the return value is nonzero.

If the function fails, the return value is 0 (zero). To get extended error information, call GetLastError.

The function fails if the requested read operation crosses into an area of the process that is inaccessible.
Remarks

ReadProcessMemory copies the data in the specified address range from the address space of the specified process into the specified buffer of the current process. Any process that has a handle with PROCESS_VM_READ access can call the function. Typically but not always, the process with address space that is being written to is being debugged.

The entire area to be read must be accessible, and if it is not accessible, the function fails.



:)
Mytic
Messages : 466
Inscription : mer. 25/juil./2007 0:13

Message par Mytic »

@Non ! Pourquoi ? Je ne vois pas l’utilité.
Une variable c’est aussi une mémoire, Donc pourquoi se compliquer la vie alors qu’on peut faire simple.

[Edit] Quand tu dis injection, tu parles de la compilation ou l’exécution ?
Répondre