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ú

Mensajes - Solid Water

#141
Utiliza memcpy o strcpy.
Yo creo que tienes un problema en las rutas y podrías probar hardcodearlas bien.
Por otro lado la falla de apertura de archivos podrías dividirla para saber cual de los 2 falla.

También te faltaría verificar que no sea un directorio.

Saludos
#142
Hola Frijolito, para esas cosas sobre windows se suele utilizar cheat engine, en cheat engine puedes buscar un valor en la memoria, por ejemplo supongamos que tienen 244 de vida, buscas el valor 244 para que te devuelva la posición de memoria y modificarlo por 800, o cosas como esta.
Además cheat engine trae una función para speed hack.
Puedes encontrar tutoriales para iniciarte, como por ejemplo buscando como hackear el solitario de windows usando cheat engine.

En cuanto a linux no se que programa se use, pero busca "Alternativas a cheat engine en linux" y tal vez encuentres algo.

Por lo general son los juegos single player como tu dices, más bien los que no se conectan a un servidor, te explico en un juego normal los valores estan en tu memoria, pero en un juego en linea los valores suelen estar además de en la memoria en el servidor, por lo que aunque modifiques el valor en el cliente, el programa trabaja con el valor en el servidor, eso se hace justamente para evitar este tipo de ataques, poniendo la información sensible del lado del servidor, aunque puede que se les escape una que otra cosa.

Saludos.

#143
Hola no estoy en mi pc, pero seguramente este código te sirva.
Obtiene los nombres de los archivos de un directorio, y si no son un directorio sino un archivo, te crea el link a href, eso puedes cambiarlo por un boton que funcione onClick o lo que tu desees.
Lo modifique un poco para que haga eso, pero no pude probarlo no estoy en mi pc.

Código: php

<?php
$directorio = opendir("/ruta/de_los_archivos/");
while ($archivo = readdir($directorio)) //obtenemos un archivo y luego otro sucesivamente
{
    if (is_dir($archivo))//verificamos si es o no un directorio
    {
        //Si es un directorio no hacemos nada
    }
    else
    {
        echo "<a href='" . $directorio . $archivo . "'>" . $directorio . $archivo . </a>";
    }
}
?>


PD: Como te dicen también puedes darle permisos a la carpeta y acceder con el navegador.
Si tienes diferencias entre la ruta absoluta y la virtual del server (la que aparecería en la web), solo hardcodea la ruta en el href.

echo "<a href='/RutaVirtual/" . $archivo . "'>" $archivo . </a>";

Saludos,
#144
No sé pero ahora estoy dudando si en realidad buscaba lo que ustedes decían.
Le dejo un link de programación web con c++ lo cual no es nada recomendable ya que es un lenguaje que se compila y no esta diseñado para eso.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos,
#145
Están confundiendo que el quiere crear un servidor tipo apache u otros, no hacer una web en c++, lo cual es posible hacerla en casi cualquier lenguaje solo debe poder manejar cgi, aunque sería bueno tener bibliotecas para templates, etc.
#146
Sabes justo estaba modificando mi dominio y note que el WWW se lo puse utilziando 'A' en lugar de CNAME.
#147
Hola del mismo modo que creas la regla CNAME para agregar el www. supongo que puedes agregar otros prefix.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos,
#148
Hola 79137913, podrías explicarnos cual es el problema al utilizar un timmer?
#149
No lo probé estoy del cel pero a primera vista te falta cerrar una comilla en un write decinos si después de eso te sigue dando error.

Saludos
#150
Puedes sacarle la sd y ponersela a otro telefono si es que tienes sd. Así recuperaras todos los datos menos los del almacenamiento interno. También puedes comprar lector de tarjetas que son baratos. Es una pena si no pusiste que las fotos de la camara se guarden en sd que es lo que se hace para ahorrar espacio. También puedes sacarle el chip para recuperar tu línea y algunos contactos. Saludos
#151
Por lo que dices creo que estas en linux.
Casi todos los linux traen perl instalado.
Solo abres el nano o el vim y creas un script como este con extension .pl
para ejecutarlo utilizas el comando perl nombre_de_archivo.pl

Código: perl

#!/usr/bin/perl

use strict;

my $respuesta = qx("curl -v http://url");

while($respuesta ne "cadena de salida certera"){

     system("comando que levanta el server");
     my $respuesta = qx("curl -v http://url");
}

exit;


Hay otra forma de guardar la salida del comando en lugar de qx que si no me equivoco es utilizando estas comillas ´´.
Me gustaría darte más información pero no tengo mi web online donde tengo mis códigos.
Si no te gusta que sea tan forzoso y ejecute el comando mil veces solo cambia el while por un if, y programalo You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

También por si la salida no es siempre la misma pero es parecida, puedes utilizar expresiones regulares para saber si la cadena de resultado contiene X palabra.

Saludos,
#152
Python / Re:¿Hacking con API's o redes sociales?
Enero 07, 2019, 04:57:05 PM
Tal vez debes escapear la barra usando doble barra \\

Saludos,
#153
Dudas y pedidos generales / Re:Sustraer código
Enero 02, 2019, 10:35:50 PM
Si la aplicación está en .net puedes leer el código CIL usando ILdasm que sería el código intermedio al cual la aplicación es compilada.

Citar
Common Intermediate Language (CIL, pronunciado "sil" o "kil") (anteriormente llamado Microsoft Intermediate Language o MSIL) es el lenguaje de programación legible por humanos, de más bajo nivel en el Common Language Infrastructure y en You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login Framework. Los lenguajes del .NET Framework compilan a CIL. CIL es un lenguaje ensamblador orientado a objetos , y está basado en pilas. Es ejecutado por una máquina virtual. CIL fue conocido originalmente como Microsoft Intermediate Language (MSIL) durante las versiones de prueba de los lenguajes .NET. Debido a esto, CIL es frecuentemente llamado MSIL o IL. Es posible ejecutar este lenguaje en plataformas GNU/Linux gracias al Proyecto Mono, que implementa una maquina virtual similar a la de .NET pero de software libre.

De otro modo puedes pasarla a C# usando el reflector como te dicen o el dotpeek.

Te dejo un ejemplo editando un CIL:

Abrimos Visual Studio >> Project >> new >> elegimos console application en C# y lo llamamos: Practicando dotNet.

Escribimos un hola mundo:
Código: csharp

namespace Practicando_dotNet
{
class Program
{
static void Main()
{
System.Console.WriteLine("Hola mundo");
System.Console.ReadKey();
}
}
}


Le damos a Build >> build solution y lo guardamos.

Bueno dentro de la ruta donde lo guardamos en el directorio bin\Debug estará el .exe generado.

Ahora lo que haremos será abrir el .exe con el IL Disassembler.

Para abrirlo puedes encontrar el programa en inicio sobre la pestaña de Visual Studio o en su respectivo directorio, también puedes ejecutarlo desde Microsoft Visual Studio Command Prompt escribiendo:

Cd Ruta\Del_Directorio\Debug

Ildasm "Practicando dotNet.exe"




Veremos que allí esta el código MSIL de nuestro void main();

Bueno damos file >> dump y volcamos el contenido en una carpeta (elegimos un nombre con extension .iL).

Ahora ya podemos editarlo. abrimos el archivo con un editor de texto, buscamos el "Hola mundo"(Puedes usar Ctrl + F) y lo cambiamos por "Modificando CIL" y lo guardamos.

Volvemos a la prompt de VS y escribimos:

ILasm Ruta\Nombre_Del_Archivo.il

Para ensamblarlo.

Si abrimos el .exe veremos que el String ha cambiado con éxito.

Saludos
#154
Underc0de / Re:Participá y ganá la remera de Underc0de!
Diciembre 11, 2018, 02:48:15 PM
Alguien tiene noticias de esto? sortearon en la fan page o algo así?
#155
Si el programa esta hecho en .net puedes usar DotPeek para convertir el .exe a código C# y así inspeccionarlo.
En otro caso es posible que puedas verlo con un editor hexadecimal si no esta encriptado, aunque no tengo muchos conocimientos sobre esto último, pero seguramente alguien pueda ayudarte.
De otro modo podrías usar un buen firewall de esos que te dicen que el programa está intentando acceder a internet y permitirle o denegarle el acceso.
También podrías ejecutarlo en una VM y chequear con netstat -na si está realizando alguna conexion permanente.

Saludos,
#156
Antes que nada debemos tener en cuenta que si los movimientos ya son predecibles se puede utilizar una macro como macro scheduler que haga lo mismo en todos los Ordenadores.
También hay programas macro que graban tus movimientos y entonces luego puedes replicarlos.

Ahora si lo que queremos es que se mueva lo que se mueva se replique en las otras PC y hacerlo por nuestro propio software, sin grabar nada y lo más parecido a "en tiempo real", a mi se me ocurre lo siguiente:

Deberías tener un programa que hookee el mouse:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Entonces luego por cada evento del mouse sea movimiento o click, envías una petición a un webservice que corra en las otras PC y mueva el mouse o haga clicks en las mismas coordenadas.
Yo hice por ejemplo un programa para mover el mouse desde el teclado, el cual lo mueve por coordenadas y hace clicks:

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Me pregunto si habrá una forma más facil.

#157
C# - VB.NET / Mouse Mover
Diciembre 04, 2018, 09:55:37 AM
Este es un programita que hice hace muchos años, se los dejo tal cual lo postié en aquellos tiempos:

En mi casa solamente tengo un mouse y muchas veces me traen gabinetes para reparaciones (tengo otro teclado y monitor) pero debo estar moviendo el mouse de un PC al otro y a veces falla el Plug & Play y quedo solo con el teclado, en fín no es que no me agraden los shortcuts pero a veces me veo limitado para hacer algunas cosas o me lleva más tiempo de lo deseado.
Por eso hice este programa para manejar el mouse desde el teclado. Como usarlo:

W-A-S-D: Para las direcciones.
E: RightClick.
Q: LeftClick.
P: Apagar/prender (para poder seguir usando el teclado como tal).
R: Subir sensibilidad.
F: Bajar sensibilidad.

La clase globalKeyboardHook. cs, la tomé de You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login y su autor es StormySpike.
Lo único que le hice a ésta, fué borrarle la captura de Key_Up, ya que no iba a utilizarlo.

Form1.cs:
Código: csharp
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using System.Runtime.InteropServices;
using Utilities;

namespace key_preview {
        public partial class Form1 : Form {
                globalKeyboardHook gkh = new globalKeyboardHook();

        MouseMover MM = new MouseMover();

        [DllImport("user32.dll", CharSet = CharSet.Auto, CallingConvention = CallingConvention.StdCall)]
        public static extern void mouse_event(int dwFlags, int dx, int dy, int cButtons, int dwExtraInfo);

        private const int MOUSEEVENTF_LEFTDOWN = 0x02;
        private const int MOUSEEVENTF_LEFTUP = 0x04;
        private const int MOUSEEVENTF_RIGHTDOWN = 0x08;
        private const int MOUSEEVENTF_RIGHTUP = 0x10;

                public Form1() {
                        InitializeComponent();
                }

        bool flag = true;

                private void Form1_Load(object sender, EventArgs e) {
                       
            gkh.HookedKeys.Add(Keys.W);
            gkh.HookedKeys.Add(Keys.A);
            gkh.HookedKeys.Add(Keys.S);
            gkh.HookedKeys.Add(Keys.D);
            gkh.HookedKeys.Add(Keys.Q);
            gkh.HookedKeys.Add(Keys.E);
            gkh.HookedKeys.Add(Keys.R);
            gkh.HookedKeys.Add(Keys.F);
            gkh.HookedKeys.Add(Keys.D);
            gkh.HookedKeys.Add(Keys.P);


                        gkh.KeyDown += new KeyEventHandler(gkh_KeyDown);
               

                }



                void gkh_KeyDown(object sender, KeyEventArgs e) {

            if (flag == true)
            {
                switch (e.KeyCode)
                {
                    case Keys.W:
                        MM.arriba();
                        break;

                    case Keys.S:
                        MM.abajo();
                        break;

                    case Keys.A:
                        MM.izquierda();
                        break;

                    case Keys.D:
                        MM.derecha();
                        break;

                    case Keys.F:
                        MM.bajarsens();
                        break;

                    case Keys.R:
                        MM.subirsens();
                        break;

                    case Keys.Q:
                        mouse_event(MOUSEEVENTF_LEFTDOWN | MOUSEEVENTF_LEFTUP, Cursor.Position.X, Cursor.Position.Y, 0, 0);

                        break;

                    case Keys.E:
                        mouse_event(MOUSEEVENTF_RIGHTDOWN | MOUSEEVENTF_RIGHTUP, Cursor.Position.X, Cursor.Position.Y, 0, 0);

                        break;
                }
            }

            if (e.KeyCode == Keys.P)
            {
                if (flag == true)
                {
                    flag = false;
                }
                else
                {
                    flag = true;
                }

            }
           
                        e.Handled = true;
                }

   
        }
}



globalKeyboardHook. cs:
Código: csharp

using System;
using System.Collections.Generic;
using System.Text;
using System.Runtime.InteropServices;
using System.Windows.Forms;

namespace Utilities {
        /// <summary>
        /// A class that manages a global low level keyboard hook
        /// </summary>
        class globalKeyboardHook {
                #region Constant, Structure and Delegate Definitions
                /// <summary>
                /// defines the callback type for the hook
                /// </summary>
                public delegate int keyboardHookProc(int code, int wParam, ref keyboardHookStruct lParam);

                public struct keyboardHookStruct {
                        public int vkCode;
                        public int scanCode;
                        public int flags;
                        public int time;
                        public int dwExtraInfo;
                }

                const int WH_KEYBOARD_LL = 13;
                const int WM_KEYDOWN = 0x100;         
                const int WM_SYSKEYDOWN = 0x104;
                #endregion

                #region Instance Variables
                /// <summary>
                /// The collections of keys to watch for
                /// </summary>
                public List<Keys> HookedKeys = new List<Keys>();
                /// <summary>
                /// Handle to the hook, need this to unhook and call the next hook
                /// </summary>
                IntPtr hhook = IntPtr.Zero;
                #endregion

                #region Events
                /// <summary>
                /// Occurs when one of the hooked keys is pressed
                /// </summary>
                public event KeyEventHandler KeyDown;
                /// <summary>
                /// Occurs when one of the hooked keys is released
                /// </summary>
       
                #endregion

                #region Constructors and Destructors
                /// <summary>
                /// Initializes a new instance of the <see cref="globalKeyboardHook"/> class and installs the keyboard hook.
                /// </summary>
                public globalKeyboardHook() {
                        hook();
                }

                /// <summary>
                /// Releases unmanaged resources and performs other cleanup operations before the
                /// <see cref="globalKeyboardHook"/> is reclaimed by garbage collection and uninstalls the keyboard hook.
                /// </summary>
                ~globalKeyboardHook() {
                        unhook();
                }
                #endregion

                #region Public Methods
                /// <summary>
                /// Installs the global hook
                /// </summary>
                public void hook() {
                        IntPtr hInstance = LoadLibrary("User32");
                        hhook = SetWindowsHookEx(WH_KEYBOARD_LL, hookProc, hInstance, 0);
                }

                /// <summary>
                /// Uninstalls the global hook
                /// </summary>
                public void unhook() {
                        UnhookWindowsHookEx(hhook);
                }

                /// <summary>
                /// The callback for the keyboard hook
                /// </summary>
                /// <param name="code">The hook code, if it isn't >= 0, the function shouldn't do anyting</param>
                /// <param name="wParam">The event type</param>
                /// <param name="lParam">The keyhook event information</param>
                /// <returns></returns>
                public int hookProc(int code, int wParam, ref keyboardHookStruct lParam) {
                        if (code >= 0) {
                                Keys key = (Keys)lParam.vkCode;
                                if (HookedKeys.Contains(key)) {
                                        KeyEventArgs kea = new KeyEventArgs(key);
                                        if ((wParam == WM_KEYDOWN || wParam == WM_SYSKEYDOWN) && (KeyDown != null)) {
                                                KeyDown(this, kea) ;
                                        }
                                        if (kea.Handled)
                                                return 1;
                                }
                        }
                        return CallNextHookEx(hhook, code, wParam, ref lParam);
                }
                #endregion

                #region DLL imports
                /// <summary>
                /// Sets the windows hook, do the desired event, one of hInstance or threadId must be non-null
                /// </summary>
                /// <param name="idHook">The id of the event you want to hook</param>
                /// <param name="callback">The callback.</param>
                /// <param name="hInstance">The handle you want to attach the event to, can be null</param>
                /// <param name="threadId">The thread you want to attach the event to, can be null</param>
                /// <returns>a handle to the desired hook</returns>
                [DllImport("user32.dll")]
                static extern IntPtr SetWindowsHookEx(int idHook, keyboardHookProc callback, IntPtr hInstance, uint threadId);

                /// <summary>
                /// Unhooks the windows hook.
                /// </summary>
                /// <param name="hInstance">The hook handle that was returned from SetWindowsHookEx</param>
                /// <returns>True if successful, false otherwise</returns>
                [DllImport("user32.dll")]
                static extern bool UnhookWindowsHookEx(IntPtr hInstance);

                /// <summary>
                /// Calls the next hook.
                /// </summary>
                /// <param name="idHook">The hook id</param>
                /// <param name="nCode">The hook code</param>
                /// <param name="wParam">The wparam.</param>
                /// <param name="lParam">The lparam.</param>
                /// <returns></returns>
                [DllImport("user32.dll")]
                static extern int CallNextHookEx(IntPtr idHook, int nCode, int wParam, ref keyboardHookStruct lParam);

                /// <summary>
                /// Loads the library.
                /// </summary>
                /// <param name="lpFileName">Name of the library</param>
                /// <returns>A handle to the library</returns>
                [DllImport("kernel32.dll")]
                static extern IntPtr LoadLibrary(string lpFileName);
                #endregion
        }
}


MouseMover.cs
Código: csharp

using System;
using System.Collections.Generic;
using System.Text;
using System.Windows.Forms;
using System.Drawing;


namespace Utilities
{
    class MouseMover
    {
        private int sens;

        public MouseMover()
        {
            this.sens = 20;
        }

        public void derecha()
        {
            Cursor.Position = new Point(Cursor.Position.X + sens, Cursor.Position.Y);   
        }

        public void izquierda()
        {
            Cursor.Position = new Point(Cursor.Position.X - sens, Cursor.Position.Y);
        }

        public void arriba()
        {
            Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y - sens);
        }

        public void abajo()
        {
            Cursor.Position = new Point(Cursor.Position.X, Cursor.Position.Y + sens);
        }

        public void subirsens()
        {
           
         if (this.sens < 300)
            {
                this.sens = sens + 40;
            }
        }

        public void bajarsens()
        {

            if (this.sens == 20)
            {
                this.sens = 10;
            }
            else
            {
                this.sens = 20;
            }
           
        }

    }
}

}


Form1.Designer
Código: csharp

namespace key_preview {
        partial class Form1 {
                /// <summary>
                /// Required designer variable.
                /// </summary>
                private System.ComponentModel.IContainer components = null;

                /// <summary>
                /// Clean up any resources being used.
                /// </summary>
                /// <param name="disposing">true if managed resources should be disposed; otherwise, false.</param>
                protected override void Dispose(bool disposing) {
                        if (disposing && (components != null)) {
                                components.Dispose();
                        }
                        base.Dispose(disposing);
                }

                #region Windows Form Designer generated code

                /// <summary>
                /// Required method for Designer support - do not modify
                /// the contents of this method with the code editor.
                /// </summary>
                private void InitializeComponent() {
            this.SuspendLayout();
            //
            // Form1
            //
            this.AutoScaleDimensions = new System.Drawing.SizeF(6F, 13F);
            this.AutoScaleMode = System.Windows.Forms.AutoScaleMode.Font;
            ths.ClientSize = new System.Drawing.Size(292, 266);
            this.KeyPreview = true;
            this.Name = "Form1";
            this.Text = "Form1";
            this.Load += new System.EventHandler(this.Form1_Load);
            this.ResumeLayout(false);

                }

                #endregion

    }
}


Saludos,
#158
Hola deberías corroborar que el update table realmente se esté realizando correctamente.
Una forma sería abrir la base de datos y chequear que la base de datos este siendo actualizada.
En caso de que la DB se actualicé el problema estaría en que seguís usando el mismo DataSet en vez de volver a cargarlo con un select a los datos actualizados.

Algo que seguramente te serviría mucho en proyectos como este es debuggiar, para así poniendo break points con f9 y pasandolos con f10 vas viendo que datos tienen tus variables, datasets, etc e incluso que string sql se genera, te recomiendo que empieces a ponerte canchero con eso.

Saludos,
#159
Supongo que lo que tu quieres es no usar select nombre_tabla as nombre_sin_espacios si no que quieres cambiarlo en la DB.

Para eso deberías utilizar ALTER TABLE.

You are not allowed to view links. You are not allowed to view links. Register or Login or You are not allowed to view links. Register or Login

Saludos,
#160
Frijolito le arreglé varias cosas, ya no crashea y funciona el cifrado, lo que no está devolviendo, es el filesize.
Pero el código corre y cifra.
Lo del FileSize te toca a vos.

Código: c

#include <stdio.h>
#include <stdlib.h>
#include <sys/types.h>
#include <sys/stat.h>
#include <dirent.h>
#include <string.h>
#include <errno.h>

void Direc();
void FileSize(char  fileN[200]);
void Cifrar(char fileN[200]);

int main(){

        Direc();
        return 0;
}

void Cifrar(char fileN[200]){


        char c;
        int clave;

        clave = rand()% 255 + 0;


        FILE *file;
        file = fopen(fileN, "rb+");

        int i = 0;
        while((c = fgetc(file)) != EOF){
                fseek(file, i, SEEK_SET);
                i++;
                fputc((c ^ clave), file);
        }
        i = 0;
        fclose(file);
        printf("   Crifrado. \n");

}

void Direc(){

        char ndir[200];
        char *p=getenv("USER");

        printf(" [>>] Introduca el directorio: \n");
        printf("  %s~$: ",p);
        scanf("%s", ndir);

        printf("%s\n",ndir);

        DIR *dir;
        struct dirent *ent;
        dir = opendir(ndir);

        if(dir == NULL){
                printf("  [>>] Error al buscar el directorio \n");
        }

        while((ent = readdir(dir)) != NULL){
                if((strcmp(ent->d_name, ".") != 0) && (strcmp(ent->d_name, "..") !=0) ){

                        printf("%s", ent->d_name);
                        strcat(ndir,ent->d_name);       
                        FileSize(ndir);
               }

        }
}

void FileSize(char fileN[200]){

        long ftam = -1;
        FILE *file;
        file = fopen("fileN", "r");

        if(file){
                fseek(file, 0L, SEEK_END);
                ftam = ftell(file);
                fclose(file);
                printf("%30s (%ld bytes)",fileN, ftam);
        }else{
                printf("no file \n");
        }
        Cifrar(fileN);
}


Después si querés hablamos por MP.

Saludos,