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 - Meta

#881
Hola:

Lo estoy siguiendo al detalle, el n3 el enlce por ahora no funciona.

Muchas gracias mi muy distinguido amigo.
#882
Hola:

Estoy siguiendo el tutorial, en el n3el enlace para descargar el nuevo juego para hacer pruebas, no descarga.
http://www.mediafire.com/download/hat2ts8d3por4a7/moneybag_tutorial.zip

De paso he leído que no se puede mucho usar el C# para extraer datos. Hice un ejemplo tonto como puedes ver aquí.



Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Leer_RAM
{
    public partial class Form1 : Form
    {
        string Despedir;

        public Form1()
        {
            InitializeComponent();
        }

        // Si pulsas el botón, empieza el contador.
        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Start();
            Despedir = "START";
            label3.Text = (Despedir);
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int Valor = progressBar1.Value; // Guarda el valor actual.
            progressBar1.Increment(1); // Incrementa a 1.
            label1.Text = Valor.ToString(); // Muestra el valor del incremento del ProgressBar.

            // Si el valor llega a 100.
            if (Valor == 100)
            {
                progressBar1.Value = 0; // Empieza desde 0.
            }
        }

        private void button1_Click(object sender, EventArgs e)
        {
            timer1.Stop();
            Despedir = "STOP";
            label3.Text = (Despedir);
        }
    }
}


El que quiera que le enví el proyecto completo me envía en privado su e-mail.
En esta ocasión, quiero encontrar la variable STOP o START, tambien el de los números de progressBar y cosas así para hacer pruebas.

Por lo que veo, es muy complejo usar el C# para hacer prácticas simples, tal vez me va mejor usar Visual C++ 2010 y a 32 bits nativo, nada del CLR que se mete FramWork por medio. Quiero decir esto que usa sistemas de protección cambiando la zonas de memoria de las variables para no encontrarlas y modificarlas.

Mi idea de todo esto es, un juego de coches, simuladores de aviones o helicópteros donde aparecen números como el cuentakilómetros, lo pueda ver en C# hecho por nosotros. Con ello puedo pasar los datos al USB o puerto serie mediante PIC o Arduino en una pantalla LCD o de Led de 7 segmentos.

Un ejemplo.
[youtube=640,360]http://www.youtube.com/watch?v=q2kz9ZPRDss[/youtube]

La parte de la electrónica me encarga yo y mostraré el proyecto final a todo detalle.
[youtube=640,360]http://www.youtube.com/watch?v=xe44cRdmuX8[/youtube]

Un cordial saludo.

Edito:
Datos que puede ser interés para aumentar tutorial sobre Trainers de Cheat Engine. en mi caso, prefiero hacerlo desde C#.
http://www.youtube.com/watch?v=0_aX56v9ie0

Ver otro vídeo con Blasck Op II aunmentando dinero en modo Zombie con un trainer bajo Visual Basic .net
http://www.youtube.com/watch?v=xSUJupVnHP0

Aquí hay un tema creado con el trainer del CE. Debería estar aquí todo junto, pero bueno.
http://foro.elhacker.net/programacion_visual_basic/programar_un_trainer_en_vb6_gui_profesional-t380649.0.html;msg1817856#msg1817856
#883
Hola:

Quiero hacer una prueba sencilla para lograr un objetivo. Intentar leer en la memoria RAM unos valores de las variables que no conoces, localizar esa variable, crear tu aplicación aunque sea en C# capaz de leer sus valores. Hay que crear dos proyectos. Uno como hice abajo, lo que hace es con un timer incrementar el valor del componente progressBar y mostrar su valor en label1.

Como muestra en la imagen de abajo, se ha incluido en el Form1, un lable, un button, un timer y progressBar.


Su código fuente es:
Código (csharp) [Seleccionar]
using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using System.Windows.Forms;

namespace Leer_RAM
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        // Si pulsas el botón, empieza el contador.
        private void button2_Click(object sender, EventArgs e)
        {
            timer1.Start();
        }

        private void timer1_Tick(object sender, EventArgs e)
        {
            int Valor = progressBar1.Value; // Guarda el valor actual.
            progressBar1.Increment(1); // Incrementa a 1.
            label1.Text = Valor.ToString(); // Muestra el valor del incremento del ProgressBar.

            // Si el valor llega a 100.
            if (Valor == 100)
            {
                progressBar1.Value = 0; // Empieza desde 0.
            }
        }
    }
}


Este programa se recomienda ejecutarlo directamente del .exe compilado, no usando Visual Express 2013. Supuestamente no tengo idea del código fuente del .exe de arriba, tener claro que no lo conoces, se los dejo para dar ideas. Ahora hay que crear otro proyecto desde cero, puedes usar C++ que es más rápido a la hora de intercambiar información, para dejarlo más fácil ya que estamos aprendiendo, usaremos C#, y los que quieran VB .net.

Para leer los valores del archivo.exe, hay que verlo desde un descompilador o algún programa que lea en tiempo real el proceso. Aquí hay uno, es muy utilizado para cambiar vidas infinitas a los juegos de PC. Se logra buscar esa variable, se le suma nuevos valores y tiene más vida, en nuestro caso no trataremos este tema, se tratará de localizar dicha variable y ver como cambian sus estados. Luego crear un progrma a parte que lea dichas variables y mostrarla en un label.

Cheat Engine
http://www.cheatengine.org/?referredby=CE63

Puedes usar otro programa y también recomendarlo si parece interesante.

La idea principal es, ser capaz de localizar esas variables, hacer una aplicación que los lea y muestre en un form1 con C# o otro lenguaje que más te guste.

El ejemplo que puse arriba quiero sacar los valores que muestra en label1, que es el mismo del progressBar1.

En un juego de Rally, quiero sacar el cuentakilómetros indicado en pantalla a mi propia aplicación, pero esto es otra historia mucha más adelante. Por ahora me conformo en entender lo más básico.

¿Parace fácil?

Un cordial saludo.
#884
Cita de: WINTX en  6 Marzo 2014, 22:38 PM
es el típico agarrado que te cobra por todo..

Soy técnico, si me llamas, te haré un trabajo y cobraré, no estudié electrónica para hacer favores, sino ganarme la vida. Bajo mi punto de vista, eres el típico cliente agarrado que trabajemos gratis.  ;D

Si eres un buen amigo o conocido y estoy en rato libre, a lo mejor escapas, ajajja.  ;)

Respecto al tema, no se si es legal o no.

Un saludo.
#885
Electrónica / Re: Arduino Innovaciòn
6 Marzo 2014, 15:15 PM
Cita de: Inter-ard en  5 Marzo 2014, 21:09 PM
Buenas tardes amigos, quisiera preguntarles sobre qué puedo aprender más en Arduino. Pues me interesa aprender cosas nuevas.
Saludos. :D


Hola:

¿Buscas algo en particular?
Para coger ideas, pon Proyectos o ARduino en youtube. Así empecé con los PIC.

Un saludo.
#886
Hola:

Presento un mini tutorial para resetear los contadores de la impresora especialmente este caso la Brother MFC-440CN.
http://electronica-pic.blogspot.com.es/2014/03/resetear-contador-impresora-brother-mfc.html

PDF.
https://drive.google.com/file/d/0B6HKwsbbpgrLTm1mUF9UVWtnMkE/edit?usp=sharing

XPS.
https://drive.google.com/file/d/0B6HKwsbbpgrLLU5WbVJkaTZTM00/edit?usp=sharing

Cualquier sugerencia para su mejora, será muy bienvennida.

Un saludo y gracias por leer hasta aquí. ;)
#887
Hola:

Hay personas que hacen con un PIc16F84A que se puede hacer como si fuera un PLC.

http://www.msebilbao.com/tienda/product_info.php?products_id=454

Arduino ya que es una placa con AVR incluido de la firma de Atmel, que puede hacer de PLC fácilmente.
http://www.youtube.com/watch?v=qhy5UtIzZfo

PLC está muy bien desarrollado sobre todo para que no se cuelgue como Windows y evita grander interferencias en la electrónica.

Un saludo.
#888
Cita de: noopynoob en 28 Febrero 2014, 02:46 AM
porque no abren un nuevo tema en vez de revivir uno de noviembre?

x64Core, gracias por las respuestas. Lo he solucionado. Ahora me falta el otro ordenador que perdió el formato, no se puede leer nada y me pide formatear, jaajjajjaaj.

noopynoob


¿Qué te puedo contar?
He hecho lo que preguntas y las respuestas de los usuarios han sido esta.

¿Por qué no buscas en el foro si hay preguntas ya hechas y así no creas los mismos temas?

Deja de quejarse que no tiene argumento ni validación a la pregunta sino perder el tiempo a los demás.
Mejor revivir que repetir una y otra vez. ;)

Un saludo.
#889
Hola:

Me ha lelgado una variante nueva del virus este. No hay manera de ponerlo a modo seguro en Windows XP 32 bits porque al hacerlo, se reinicia siempre el PC.

Puse Ubuntu 10.04 y veo el disco duro. He borrado archivos temporales por si acaso, pero el virus sigue ahí. Al menos por ahora veo las fotos.

En otro ordenador he perdido hasta el formato y las fotos y en este no quiero que pase lo mismo. No se si al perder el formato al final existe la forma de recuperarlas, ahora me centro en este que me tiene negro. Los vídeos que veo en youtube no ayudan porque no se reinicia solo el modo seguro que a mi si.

¿Qué hay que hacer?

Un saludo.
#890
Electrónica / Re: Ayuda con un proyecto!
26 Febrero 2014, 21:40 PM
Hola

Ya que algunos usuarios me piden código, se los paso por ahora en asm para el PIC16F88. Ahor funciona todo. Cuando pueda, presento lomismo para el lenguaje C bajo XC8.

Código (asm) [Seleccionar]
list    P=16F88        ; Procesador.
include <p16F88.inc>   ; Definición de las etiquetas del PIC.
__CONFIG _CONFIG1, _FOSC_INTOSCIO & _WDTE_OFF & _PWRTE_ON & _MCLRE_ON & _BOREN_ON & _LVP_OFF & _CPD_OFF & _WRT_OFF & _CCPMX_RB3 & _CP_OFF
__CONFIG _CONFIG2, _FCMEN_ON & _IESO_ON
;***************************************
;Declaracion de variables y constantes
;***************************************
#define p1          PORTA,4     ; Pulsador 1.
#define p2          PORTA,3     ; Pulsador 2.
#define p3          PORTA,2     ; Pulsador 3.
#define p4          PORTA,1     ; Pulsador 4.
#define motor       PORTB,7     ; Motor DC.
#define led1        PORTB,6     ; Diodo Led 1.
#define led2        PORTB,5
#define led3        PORTB,4
#DEFINE Altavoz     PORTB,3     ; Altavoz.
#DEFINE Zumbador    PORTB,2     ; Zumbador piezoeléctrico.

ctte_5_min      equ    .5         ; constante para 5 minutos
ctte_10_min     equ    .10        ; constante para 10 minutos
ctte_20_min     equ    .20        ; constante para 20 minutos
ctte_min        equ    .60        ; para 1 minuto
ctte_timer      equ    .16        ; para 1 segundo
carga_timer     equ    .12        ;

variables       udata    0x20
cont_timer      RES 1
cont_seg        RES 1        ; contador de segundos
cont_min        RES 1            ; contador de minutos
tiempo_fijado   RES 1
PDel0           RES 1
PDel1           RES 1
W_TEMP          RES 1
STATUS_TEMP     RES 1
PCLATH_TEMP     RES 1
RAM             RES 1
RAM_1           RES 1
RAM_2           RES 1
RAM_3           RES 1
RAM_4           RES 1
RAM_5           RES 1
RAM_6           RES 1
;**************************************
    org     0x00
    goto    configuracion
    org     0x04
;**********************************************************************
;    Rutinas de interrupciones
;**********************************************************************
rutina_de_interrupcion
PUSH
    MOVWF   W_TEMP
    SWAPF   STATUS,W
    CLRF    STATUS
    MOVWF   STATUS_TEMP
    MOVF    PCLATH,W
    MOVWF   PCLATH_TEMP
    CLRF    PCLATH

    btfss   INTCON,TMR0IF        ;verifica si es interrupción temporizada
    goto    salida_timer0        ;sale de la rutina de interrupción
    movlw   carga_timer          ;
    movwf   TMR0                 ;carga al timer0 para reiniciar cuenta
    movfw   cont_timer           ;
    xorlw   ctte_timer           ;compara si llego al segundo
    btfss   STATUS,Z
    goto    salida_timer0        ;sale de la rutina de interrupción si no es 1 segundo
    clrf    cont_timer           ;
    incf    cont_seg             ;se incrementa cada segundo
    movfw   cont_seg
    xorlw   ctte_min             ;compara si es un minuto
    btfss   STATUS,Z
    goto    salida_timer0        ;sale de la rutina de interrupción
    clrf    cont_seg
    incf    cont_min             ;se incrementa cada minuto
salida_timer0
    incf    cont_timer
    bcf     INTCON,TMR0IF
POP
    MOVF    PCLATH_TEMP,W
    MOVWF   PCLATH
    SWAPF   STATUS_TEMP,W
    MOVWF   STATUS
    SWAPF   W_TEMP,F
    SWAPF   W_TEMP,W
    retfie
;***********************************************
;Subrutinas
;***********************************************
reiniciar_tiempo
    movlw   carga_timer
    movwf   TMR0
    clrf    cont_timer
    clrf    cont_seg
    clrf    cont_min
    banksel OPTION_REG
    bcf     OPTION_REG,T0CS    ; timer0 inicia la cuenta
    banksel PORTA
    bsf     INTCON,GIE         ; interrupciones habilitadas
    bsf     motor
    return
;*************************************************************
pulsador1
    call    retardo_10ms
    btfsc   p1
    return
    ;***********************************************************
    btfss   p1      ; espera hasta que se suelte el pulsador
    goto    $-1     ;
    ;***********************************************************
    movlw   ctte_5_min
    movwf   tiempo_fijado
    clrf    PORTB
    call    reiniciar_tiempo
    call    PitidoCorto
    bsf     led1
    return
;*************************************************************
pulsador2
    call    retardo_10ms
    btfsc   p2
    return
    ;***********************************************************
    btfss   p2      ; espera hasta que se suelte el pulsador
    goto    $-1     ;
    ;***********************************************************
    movlw   ctte_10_min
    movwf   tiempo_fijado
    clrf    PORTB
    call    reiniciar_tiempo
    call    PitidoCorto
    bsf     led2
    return
;*************************************************************
pulsador3
    call    retardo_10ms
    btfsc   p3
    return
    ;***********************************************************
    btfss   p3      ; espera hasta que se suelte el pulsador
    goto    $-1     ;
    ;***********************************************************
    movlw   ctte_20_min
    movwf   tiempo_fijado
    clrf    PORTB
    call    reiniciar_tiempo
    call    PitidoCorto
    bsf     led3
    return
;*************************************************************
pulsador4
    call    retardo_10ms
    btfsc   p4
    return
    ;***********************************************************
    btfss   p4      ; espera hasta que se suelte el pulsador
    goto    $-1     ;
    ;***********************************************************
    call    detener_tiempo
    call    Pitido
    return
;*************************************************************
detener_tiempo
    clrf    PORTB
    banksel OPTION_REG
    bsf     OPTION_REG,T0CS    ; timer0 detenido
    banksel PORTA
    bcf     INTCON,GIE        ; interrupciones desactivadas
;*************************************************************
retardo_10ms
    movlw   .8
    movwf   PDel0
PLoop1
    movlw   .249
    movwf   PDel1
PLoop2
    clrwdt
    clrwdt
    decfsz  PDel1,1
    goto    PLoop2
    decfsz  PDel0,1
    goto    PLoop1
PDelL1
    goto    PDelL2
PDelL2
    clrwdt
    return
;******************************************************
; Subrutinas "PitidoLargo", "Pitido" y "PitidoCorto"
;*******************************************************
PitidoLargo
    bsf     Altavoz
    bsf     Zumbador
    call    Retardo_500ms
;******************************************************
Pitido
    bsf     Altavoz
    bsf     Zumbador
    call    Retardo_200ms
;******************************************************
PitidoCorto
    bsf     Altavoz
    bsf     Zumbador
    call    Retardo_20ms
    bcf     Altavoz
    bcf     Zumbador
    return
;**************************************************
Retardo_500ms
    movlw   0x03
    movwf   RAM
    movlw   0x18
    movwf   RAM_1
    movlw   0x02
    movwf   RAM_2
Retardo_500ms_0
    decfsz  RAM, f
    goto    $+2
    decfsz  RAM_1, f
    goto    $+2
    decfsz  RAM_2, f
    goto    Retardo_500ms_0
    goto    $+1
    return
;******************************************************
Retardo_200ms
    movlw   0x3E
    movwf   RAM_3
    movlw   0x9D
    movwf   RAM_4
Retardo_200ms_0
    decfsz  RAM_3, f
    goto    $+2
    decfsz  RAM_4, f
    goto    Retardo_200ms_0
    goto    $+1
    nop
    return
;******************************************************
Retardo_20ms
    movlw   0x9E
    movwf   RAM_5
    movlw   0x10
    movwf   RAM_6
Retardo_20ms_0
    decfsz  RAM_5, f
    goto    $+2
    decfsz  RAM_6, f
    goto    Retardo_20ms_0
    goto    $+1
    nop
    return
;**********************************************
configuracion
;**********************************************
;   configuracion del oscilador interno
;**********************************************
    banksel OSCCON  ;bank 1
    movfw   OSCCON
    iorlw   0x60    ;oscilador interno a 4Mhz
    movwf   OSCCON
    banksel PORTA   ;bank 0
;**********************************************
; Configuración de puertos de entrada y salida
;**********************************************
    clrf    PORTA       ;porta=0
    clrf    PORTB       ;portb=0
    banksel ANSEL       ;bank 1
    clrf    ANSEL       ;puertos i/o digitales
    movlw   0xff        ;w=255
    movwf   TRISA       ;porta como entradas
    clrf    TRISB       ;portb como salidas
;***********************************************
;Configuraciond de las interrupcion temporizada
;***********************************************
    movlw   b'11110111' ;prescaler asignado a timer0, prescaler=256
    movwf   OPTION_REG
    banksel INTCON
    movlw   b'00100000' ;
    movwf   INTCON      ;interrupciones globales desactivados e interrupción timer0 activado
    clrf    TMR0
;**********************************************
    clrf    cont_min
    movlw   0xff
    movwf   tiempo_fijado
bucle
    btfss   p1
    call    pulsador1
    btfss   p2
    call    pulsador2
    btfss   p3
    call    pulsador3
    btfss   p4
    call    pulsador4
    movfw   cont_min
    xorwf   tiempo_fijado,W
    btfss   STATUS,Z
    goto    bucle
    incf    cont_min
    call    detener_tiempo
    call    PitidoLargo         ;************************************
    goto    bucle
;***********************************************************
    end


Un saludo.