begin process at 2012 02 13 23:03:47
  Trouver un code source :
 
dans
 
Accueil > Forum > 

Archive Visual Basic & VB.NET

 > 

Archives Visual Basic

 > 

J'AI BESOIN D'AIDE !!!! :)

 > 

Convertir un code C++ en VB...


Derniers messages déposésPoser une question dans le forum ou lancer une discussion

Convertir un code C++ en VB...

mardi 2 mai 2006 à 00:33:44 | Convertir un code C++ en VB...

Ahweb

Salut !

Voilà je dois utiliser le code suivant dans un serveur en VB6 pour décrypter/encrypter :

--------------------------
struct RC4STATE {
unsigned char l1, l2, s[256];
};

//
// Used for v3.3+ clients to initialize RC4
//
const unsigned char rc4_init_v33[16] = {
0x057, 0x04F, 0x049, 0x036, 0x0A, 0x0FE, 0x022, 0x007,
0x0DF, 0x0B3, 0x036, 0x099, 0x097, 0x02B, 0x05A, 0x0E1
};

//
// Used for v3.3+ worlds to initialize RC4
//
const unsigned char rc4_init_world_v33[16] = {
0x058, 0x059, 0x0A1, 0x0F5, 0x06F, 0x0B8, 0x075, 0x0C4,
0x0E0, 0x04E, 0x042, 0x080, 0x020, 0x00C, 0x09E, 0x088
};

//
// Initialize p using init which is init_len bytes long
//
void rc4_init(struct RC4STATE *p, const unsigned char *init, int init_len)
{
unsigned char tmp = 0;
int i, j = 0;

p->l1 = 0;
p->l2 = 0;
for (i = 0; i < 256; i++) {
p->s[i] = i;
}

for (i = 0; i < 256; i++) {
unsigned char tmp2 = p->s[i];
tmp = tmp2 + init[j] + tmp;
p->s[i] = p->s[tmp];
p->s[tmp] = tmp2;
if (++j >= init_len) {
j = 0;
}
}
}

//
// Get next byte in keystream from p
//
unsigned char rc4_get_key(struct RC4STATE *p)
{
unsigned char tmp;
p->l1++;
p->l2 += p->s[p->l1];
tmp = p->s[p->l2];
p->s[p->l2] = p->s[p->l1];
p->s[p->l1] = tmp;
return p->s[(p->s[p->l1] + p->s[p->l2]) & 0x0ff];
}

//
// Skip keys in the keystream from p
//
void rc4_skip_keys(struct RC4STATE *p, unsigned short skip)
{
while (skip-- > 0) {
rc4_get_key(p);
}
}
--------------------------

Si quelqu'un pouvait me le convertir en VB ou le mettre en DLL utilisable sous vB, je le remercierai infiniment !
Si vous voulez plus d'informations sur la méthode utilisée pour crypter, demandez-moi. Le cryptage est celui utilisé par ActiveWorlds :-)

Je vous remercierai en vous offrant une bannière de  1 mois (voir plus) sur mon forum de bientôt 3000 utilisateurs.
mardi 2 mai 2006 à 11:36:09 | Re : Convertir un code C++ en VB...

BruNews

Administrateur CodeS-SourceS
[ Lien ]

Le zip fait 695 octets et la dll 2.5 Ko

rc4_init(), rc4_get_key() et rc4_skip_keys() sont exportées.

Annonce quand tu auras pris le zip, j'enlève au maxi dans 3 jours.

ciao...
BruNews, MVP VC++
mardi 2 mai 2006 à 11:46:56 | Re : Convertir un code C++ en VB...

NHenry

Membre Club Administrateur CodeS-SourceS
Bonjour

struct RC4STATE {
unsigned char l1, l2, s[256];
};

Type RC4STATE
l1 as byte
l2 as byte
s(0 to 255) as byte
End Type

void rc4_skip_keys(struct RC4STATE *p, unsigned short skip)
{
}
Sub rc4_skip_keys(byref p as RC4STATE, byval skip as integer)
'Code
End Sub



Il est plus facile de batiser kk1 que de la convertir. (surtout en programmation)
Une question se pose sur le forum, pas en privé
NHenry (VB6, VBA excel, VB.NET, C++, C#.Net)
mardi 2 mai 2006 à 12:25:51 | Re : Convertir un code C++ en VB...

Ahweb

Merci beaucoup, BruNews, tu me décharges d'un poids important :)

Nhenry, le code n'est aps de moi
mardi 2 mai 2006 à 12:59:57 | Re : Convertir un code C++ en VB...

Ahweb

Ok alors voilà j'utilise ceci pour accéder à rc4_init
Public Declare Function rc4_init Lib "C:\Documents and Settings\Aweb\Mes documents\VB\AWserv\rc4.dll" () As String

Puis je fais
MsgBox rc4_init

Et VB plante.

Sauriez-vous m'indiquer les moyens d'utiliser cette DLL ?
Je me sers de ce tutoriel http://edais.mvps.org/Tutorials/CDLL/ mais malheureusement ce n'est pas assez clair pour moi
mardi 2 mai 2006 à 13:43:37 | Re : Convertir un code C++ en VB...

BruNews

Administrateur CodeS-SourceS

rc4_init() ne retourne ni String ni quoi que ce soit et de plus elle prend 3 paramètres.

Je sens que là on part de trop loin alors je lache l'affaire.
NHenry t'a préparé plus haut le 'type' VB qui remplace la struct C, vois avec un pro du VB pour la suite.

ciao...
BruNews, MVP VC++



Cette discussion est classée dans : char, tmp, unsigned, init, rc4


Répondre à ce message

Sujets en rapport avec ce message

[CRC - 8 CRC - 16] [ par akuvido ] Bonjour,J'essaie de le resoudre un probleme depuis deja 2 semaines sans resultats ...Je dois pour un projet, Créer une commnication seriel entre un pc unsigned char* en VB [ par moun2004 ] Bonjour,Je suis en train de réaliser une interface en VB6.0 pour une DLL en C mais les unsigned char* n'héxiste pas en VB.En C:struct IMAGE {    short Truc de fou :Pointeurs qui ne marchent pas ac des cases vides [ par toddis ] Bonjour,Voilà je suis en train de faire un driver modbus et pour cela j'ai crée une fonction qui calcule le lrc ( controle de validité du message).Le Truc de fou :Pointeurs qui ne marchent pas ac des cases vides [ par toddis ] Bonjour,Voilà je suis en train de faire un driver modbus et pour cela j'ai crée une fonction qui calcule le lrc ( controle de validité du message).Le Message précédent (La galère). En clair [ par defluc ] Bonjour Cela fait des semaines que je bloque sur des erreurs lors de l'activation d'une table de type Ttascii constituée d'un fichier .txt : - EdbE Problème de trauction de c++ en vb [ par zgezou ] Bonjour,          je suis nouveau en programmation et j'aimerais savoir comment traduire du C++ en VB. En fait j'ai besoin d'utiliser des fonctions se Traduction du C++ vers VB [ par zgezou ] Bonjour,          je suis nouveau en programmation et j'aimerais savoir comment traduire du C++ en VB. En fait j'ai besoin d'utiliser des fonctions se problème de compatibilité... [ par bumbo ] Bonjour, dans mon prog, j'ai une erreur, je comprend ce que c'est mais je ne connais pas le solution. Je m'explique: au départ dans form1 j'ai une pi creation de colonne d'un datagrid [ par trexor ] Bonjour, J'ai plusieurs tables et j'aimerais afficher les enregistrments d'un champ dans plusieurs colonnes. Mais je n'arriva pas a creer des colonnes Convertion C to VB [ par Rudy3212 ] Best Pig Voila j'ai une source en c et j'aimerai pouvoir l'utiliser dans vb, soi en la convertissant mais je ne suis pas assez fort pour sa, ou alors


Nos sponsors


Sondage...

Comparez les prix

CalendriCode

Février 2012
LMMJVSD
  12345
6789101112
13141516171819
20212223242526
272829    

Consulter la suite du CalendriCode

 
Développement réalisé par Nicolas SOREL (Nix) avec l'aide de : Cyril DURAND et Emmanuel (EBArtSoft), Merci à Vincent pour ses précieux conseils.
CodeS-SourceS.com© Toute reproduction même partielle est interdite sauf accord écrit du Webmaster
CodeS-SourceS.com© est une marque déposée tous droits réservés

Google Coop CodeS-SourceS Google Coop CodeS-SourceS
Temps d'éxécution de la page : 0,577 sec (4)

Nous contacter | Annoncer sur CodeS-SourceS | Mentions légales