Test Foro de elhacker.net SMF 2.1

Programación => .NET (C#, VB.NET, ASP) => Programación General => Programación Visual Basic => Mensaje iniciado por: WHK en 16 Septiembre 2009, 01:18 AM

Título: que hace Mod en vb6?
Publicado por: WHK en 16 Septiembre 2009, 01:18 AM
estaba observando unas funciones de un código de vb6 y queria pasarlo a php pero hay cosas que no entiendo bien como por ejemplo esto:
Código (vb) [Seleccionar]
Chr(Len(pck) Mod 256)

crh  convierte decimales a string y len es el tamaño del string de pck pero mod 256? que hace mod? le da limite o le hace alguna operación aritmética?
Título: Re: que hace Mod en vb6?
Publicado por: raul338 en 16 Septiembre 2009, 01:24 AM
Mod te devuelve el resto de una division

ejemplo:
5 / 2 = 2
5 Mod 2 = 1 (Resto de 5 / 2)

en PHP se usa con el signo "%"

VB
5 Mod 2

PHP
5 % 2

Cortito, pero espero que te sirva  ;D
Título: Re: que hace Mod en vb6?
Publicado por: WHK en 16 Septiembre 2009, 01:26 AM
si, muchas gracias   :D
y cuando hago \ es lo mismo que dividir / ?
Chr(Len(pck) \ 256)
supongo que quiere decir divide ya que division para mi es / no \
Título: Re: que hace Mod en vb6?
Publicado por: Novlucker en 16 Septiembre 2009, 01:29 AM
Divide ... pero solo retorna la parte entera ... 29\6 = 4

Saludos
Título: Re: que hace Mod en vb6?
Publicado por: WHK en 16 Septiembre 2009, 01:36 AM
o sea que sería
Código (php) [Seleccionar]
$valor = (int)(29 / 6);

y cuando me dice
Chr("&H" & numero)

&H supongo que se refiere al valor hexadecimal no? pero si no hay valor significa que es \x00 o me equivoco?
Título: Re: que hace Mod en vb6?
Publicado por: Novlucker en 16 Septiembre 2009, 01:47 AM
Perdón .. he corregido ... 29\6=4 ... da la parte entera .. y te lo había dejado como si redondeara  :P

Exacto .. es el valor hexadecimal, y si no hay nada debería de tirar error no debería de funcionar, a menos que numero valga 0

Saludos
Título: Re: que hace Mod en vb6?
Publicado por: WHK en 16 Septiembre 2009, 01:55 AM
bueno así quedó, gracias:

Código (vb) [Seleccionar]
Public Function data(YahooID As String) As String
   data = Header("57", "1À€" & YahooID & "À€")
End Function

Public Function Header(ByVal PacketType As String, ByVal pck As String) As String
   Header = "YMSG" & Chr(0) & Chr(13) & String(2, 0) & Chr(Len(pck) \ 256) & Chr(Len(pck) Mod 256) & Chr(0) & Chr("&H" & PacketType) & String(8, 0) & pck
End Function


Código (php) [Seleccionar]
<?php
function data($yahoo_id){
 return 
head('57''1À€'.$yahoo_id.'À€');
}

function 
head($tipo_paquete$paquete){
 return 
  
"YMSG\x00\x0D\x00\x00".
  
ord((int)(strlen($paquete) / 256)).
  
ord(strlen($paquete) % 256).
  
"\x00".
  
ord($tipo_paquete).
  
str_repeat("\x00"8).
  
$paquete;
}
?>
Título: Re: que hace Mod en vb6?
Publicado por: Novlucker en 16 Septiembre 2009, 02:13 AM
Y eso donde iría? Chat Yahoo?  :P

Saludos
Título: Re: que hace Mod en vb6?
Publicado por: WHK en 16 Septiembre 2009, 02:56 AM
esque hace tiempo hize un cliente de yahoo chat pero el módulo bass del login no lo habia hecho yo y quería pasarlo a php pero en modo consola usando stdin para obtener los strings similar al zinc de linux pero de codigo manipulable sin la necesidad de compilar. Para el cifrado de YMSG12ENCRYPT.dll lo quiero solucionar descompilandolo o haciendo un servicio online donde puedas enviar los datos y te devuelve el string en modo de base64 o hexadecimal directamente, algo asi como una api.
Título: Re: que hace Mod en vb6?
Publicado por: Novlucker en 16 Septiembre 2009, 03:01 AM
AAah! imaginé que era para el cliente, pero no entendia a que iba el php, ahora si  :P

Saludos