elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Rompecabezas de Bitcoin, Medio millón USD en premios


  Mostrar Mensajes
Páginas: 1 2 3 [4] 5 6 7 8 9 10
31  Programación / Programación Visual Basic / Re: Controlar aplicacion desde la tuya propia en: 10 Diciembre 2010, 06:05 am
Si yo le puedo enviar comandos a la aplicación para pinchar con el raton pero si luego la aplcación me devuelve algo... como puedo filtrar este algo? si es en uno de los controles? el control es una ventana que pone Dialog Window y es parecido a una shell... yo lo que quiero es enviar desde VB6 comandos a esta "shell"  y recibir la salida y poder procesarla, estoy viendo que con sendkeys y sendmessage me puedo defender pero no se por que me da que no es una manera... limpia de hacerla jeje... existe una manera de enviarle un comando con sendmessage y  recibir el contenido del control de la ventana dialog window? Un saludo y perdona las molestas!
32  Programación / Programación Visual Basic / Controlar aplicacion desde la tuya propia en: 10 Diciembre 2010, 01:22 am
Existe alguna manera de conseguir los valores de la ventana de otra aplicación? Me refiero hacer poco con
Hndl = FindWindow(vbNullString, "Clips 6.3")
 Hndl = FindWindowEx(Hndl, 0, "Dialog "BUTTON", "&silencio")

recogiendo con findwindowEx podía coger el valor de un check button, existe la manera de poder escribir en la ventana de otro programa o ejecutar sus short cuts o  ejecutar un menu? Si alguien pudiera ayudarme se lo agradeceria...Gracias!
33  Programación / Programación C/C++ / Libreria OpenCV Deteccion de cubo de rubik en imagen en: 3 Diciembre 2010, 20:52 pm
Hola gente, se me está planteando un problema, necesito hacer una practica para la universidad y no encuentro donde tengo el problema...
se rata de pasarle imagenes donde en algun lugar de la imagen existe un cubo de rubik en cualquier anguloy cualquier cara de color las cuales pueden ser (rojo,verde,azul... y creo que con estos colores valdria para la deteccion). se plantea el problema de la siguiente manera. Hay que hacer un algoritmo de crecimiento de regiones el cual se encarga de meter en una lista de regiones todas aquellas que encuentra un pixel coincidente con otro porque tienen el color parecido. Bueno les entrego mi codigo y me dicen que hago mal, creo que me quedo sin memoria, nuestro profesor dijo que teniamos que usar la STL por lo mismo, yo no la uso por que no se usarla . a ver si me pueden ayudar unpoquito enfocar por donde puedo ir. les dejo mi codigo:

Código
  1. #include <cstdlib>
  2. #include <iostream>
  3. #include <cv.h>
  4. #include <highgui.h>
  5. #include <stdio.h>
  6. #include <math.h>
  7.  
  8.  
  9.  
  10.  
  11. struct Tpixel
  12. {      
  13.       int b;//Cantidad de AZUL
  14.       int g;//Cantidad de Verde
  15.       int r;//Cantidad de rojo
  16.       int i;//Coordenadas en i
  17.       int j;//Coordenadas en j
  18.       };
  19.  
  20. struct Timagen
  21. {
  22.       Tpixel *pixels;
  23.       int anchura;
  24.       int altura;
  25.       int numPixels;
  26.       };
  27. struct Tregion
  28. {      
  29.       Tpixel *pixels;
  30.       int numPixels;
  31.       int xe;
  32.       int yn;
  33.       int ys;
  34.       int xw;
  35.       float percent;
  36.  
  37.       };
  38.  
  39. struct Tregiones
  40. {
  41.      Tregion *regiones;
  42.      int numRegiones;
  43.      };
  44. uchar *data;
  45. int esColorParecido(Tpixel p1,Tpixel p2)
  46. {
  47.    if (((p1.b==0)&&(p1.g==0)&&(p1.r==0))
  48.       |((p2.b==0)&&(p2.g==0)&&(p2.r==0)))
  49.       return 0;
  50.    else
  51.    //printf("distancia:%f\n",(sqrt(pow(p1.b-p2.b,2)+pow(p1.g-p2.g,2)+pow(p1.r-p2.r,2))));
  52.    return (7>sqrt(pow(p1.b-p2.b,2)+pow(p1.g-p2.g,2)+pow(p1.r-p2.r,2)));
  53.    //return (40>=())
  54. }
  55.  
  56. int esAmarillo (int B,int G,int R)
  57. {
  58.    return( (R>20)& (G<R) &(B<R*0.20)
  59.  
  60.           );
  61. }
  62. int esAzul (int B,int G,int R)
  63. {
  64.   return((B>80)&(R<B*0.50)&(G<B*0.50));
  65. }
  66.  
  67. int esNaranja (int B,int G,int R)
  68. {
  69.    return((R>200)&(B<40)&(G<150)&(G>100));
  70. }
  71. int esDeColor(int B,int G,int R)
  72. {
  73.    return((R>20)&(G>20)&(B>20));
  74. }
  75.  
  76. int esNegro(int B,int G,int R)
  77. {
  78.    return((R<15)&(G<15)&(B<15));
  79. }
  80. int esRojo(int B,int G,int R)
  81. {
  82.    return((R>80)&(B<R/2)&(G<R/2));
  83. }
  84. int esVerde(int B,int G,int R)
  85. {
  86.  return((G>80)&(B<G/2)&(R<G/2));
  87.  
  88. }
  89. int esBlanco (int B,int G,int R)
  90. {
  91.    return((R>210)&(B>210)&(G>210));
  92. }
  93. int copiaRegion(Tregion *region1,Tregion region2)
  94. {
  95.       region1->numPixels=region2.numPixels;
  96.       region1->xe=region2.xe;
  97.       region1->yn=region2.yn;
  98.       region1->ys=region2.ys;
  99.       region1->xw=region2.xw;
  100.       region1->percent=region2.percent;
  101.       region1->pixels=region2.pixels;
  102. }    
  103. int nuevaRegion(  Tregion *regionNueva)
  104. {
  105.    regionNueva->numPixels=0;
  106.       regionNueva->xe=0;
  107.       regionNueva->yn=0;
  108.       regionNueva->ys=0;
  109.       regionNueva->xw=0;
  110.       regionNueva->percent=0.0;
  111.       regionNueva->pixels=0;//
  112. }
  113. int encolaRegion(Tregion regionNueva,Tregiones *regiones)
  114. {
  115.  
  116.    if (regiones->numRegiones==0)
  117.       {
  118.           regiones->regiones = (Tregion *)malloc(sizeof(struct Tregion));
  119.           copiaRegion(&regiones->regiones[regiones->numRegiones],regionNueva);
  120.           regiones->numRegiones++;
  121.       }
  122.    else
  123.        {
  124.  
  125.         regiones->regiones=(Tregion *) realloc(regiones->regiones,(regiones->numRegiones+1)*sizeof(struct Tregion));
  126.         copiaRegion(&regiones->regiones[regiones->numRegiones],regionNueva);
  127.         regiones->numRegiones++;
  128.        }
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135. }
  136. int pintaPixel(Tpixel pixel)
  137. {
  138.      printf("Azul:%d\n",pixel.b);
  139.      printf("Verde:%d\n",pixel.g);
  140.      printf("Rojo:%d\n",pixel.r);
  141.      printf("Coordenada i:%d\n",pixel.i);
  142.      printf("Coordenada j:%d\n",pixel.j);
  143. }
  144. int nuevaImagen(Timagen *imagen,int altura,int anchura)
  145. {
  146. imagen->altura=altura;
  147. imagen->anchura=anchura;
  148. imagen->numPixels=0;
  149. }
  150. int copiaPixel(Tpixel *pixel1,Tpixel pixel2)
  151. {
  152.       pixel1->b=pixel2.b;
  153.       pixel1->g=pixel2.g;
  154.       pixel1->r=pixel2.r;
  155.       pixel1->i=pixel2.i;
  156.       pixel1->j=pixel2.j;
  157. }
  158. int encolaPixelFoto(Tpixel pixelNuevo,Timagen *imagen)
  159. {
  160.    if (imagen->numPixels==0)
  161.       {
  162.           imagen->pixels = (Tpixel *)malloc(sizeof(struct Tpixel));
  163.           copiaPixel(&imagen->pixels[imagen->numPixels],pixelNuevo);
  164.  
  165.           imagen->numPixels++;
  166.       }
  167.    else
  168.        {
  169.  
  170.         imagen->pixels=(Tpixel *) realloc(imagen->pixels,(imagen->numPixels+1)*sizeof(struct Tpixel));
  171.         copiaPixel(&imagen->pixels[imagen->numPixels],pixelNuevo);
  172.         imagen->numPixels++;
  173.        }
  174. }
  175. int encolaPixel(Tpixel pixelNuevo,Tregion *region)
  176. {
  177.     if (region->numPixels==0)
  178.       {
  179.           region->pixels = (Tpixel *)malloc(sizeof(Tpixel));
  180.           copiaPixel(&region->pixels[region->numPixels],pixelNuevo);
  181.           region->xe=pixelNuevo.j;      
  182.           region->xw=pixelNuevo.j;
  183.           region->yn=pixelNuevo.i;      
  184.           region->ys=pixelNuevo.i;
  185.           region->numPixels++;
  186.       }
  187.    else
  188.        {
  189.  
  190.         region->pixels=(Tpixel *) realloc(region->pixels,(region->numPixels+1)*sizeof(Tpixel));
  191.         copiaPixel(&region->pixels[region->numPixels],pixelNuevo);
  192.         region->numPixels++;
  193.        }
  194. }
  195.  
  196. int pintaRegion(Tregion region)
  197. {
  198. printf("numPixels:%d\n",region.numPixels);
  199. printf("XEste%d\n",region.xe);
  200. printf("YNorte:%d\n",region.yn);
  201. printf("YSur:%d\n",region.ys);
  202. printf("EOste:%d\n",region.xw);
  203. printf("Porciento de cuadrado:%f\n",region.percent);
  204.  
  205. }
  206. int nuevoPixel(Tpixel *pixel)
  207. {
  208.    pixel->r=0;    
  209.    pixel->g=0;
  210.    pixel->b=0;
  211.    pixel->i=0;
  212.    pixel->j=0;        
  213.  
  214. }
  215. int buscaPixel(Tpixel pixel,Tregion *region,int altura, int anchura,int anchura_fila,int canales)
  216. {
  217.    Tpixel pixelAux;
  218.    int id=0;
  219.  
  220.  
  221. if (pixel.i-1>=0)
  222. {
  223.    encolaPixel(pixelAux,region);              
  224.    data[(pixel.i)*anchura_fila+(pixel.j)*canales+0]=0;
  225.    data[(pixel.i)*anchura_fila+(pixel.j)*canales+1]=0;
  226.    data[(pixel.i)*anchura_fila+(pixel.j)*canales+2]=0;
  227.    pixelAux.b=(int)data[(pixel.i-1)*anchura_fila+(pixel.j)*canales+0];
  228.    pixelAux.g=(int)data[(pixel.i-1)*anchura_fila+(pixel.j)*canales+1];
  229.    pixelAux.r=(int)data[(pixel.i-1)*anchura_fila+(pixel.j)*canales+2];
  230.    pixelAux.i=pixel.i-1;
  231.    pixelAux.j=pixel.j;
  232.    //printf("color PixelAzul:%d,color PixelVerde:%d,color PixelRojo:%d\n",pixel.b,pixel.g,pixel.r);
  233.    //printf("color pixelAuxAzul:%d,color pixelAuxVerde:%d,color pixelAuxRojo:%d\n",pixelAux.b,pixelAux.g,pixelAux.r);
  234.    //system("PAUSE");
  235.    if (esColorParecido(pixel,pixelAux))
  236.     {
  237.        buscaPixel(pixelAux,region,altura,anchura,anchura_fila,canales);      
  238.     }                        
  239.  
  240. }
  241.  
  242. if (pixel.j-1>=0)
  243. {
  244.    pixelAux.b=(int)data[(pixel.i)*anchura_fila+(pixel.j-1)*canales+0];
  245.    pixelAux.g=(int)data[(pixel.i)*anchura_fila+(pixel.j-1)*canales+1];
  246.    pixelAux.r=(int)data[(pixel.i)*anchura_fila+(pixel.j-1)*canales+2];
  247.    pixelAux.i=pixel.i;
  248.    pixelAux.j=pixel.j-1;
  249.    if (esColorParecido(pixel,pixelAux))
  250.     {
  251.         buscaPixel(pixelAux,region,altura,anchura,anchura_fila,canales);                                  
  252.     }
  253. }
  254. if (pixel.i +1<=altura)
  255. {
  256.    pixelAux.b=(int)data[(pixel.i+1)*anchura_fila+(pixel.j)*canales+0];
  257.    pixelAux.g=(int)data[(pixel.i+1)*anchura_fila+(pixel.j)*canales+1];
  258.    pixelAux.r=(int)data[(pixel.i+1)*anchura_fila+(pixel.j)*canales+2];
  259.    pixelAux.i=pixel.i+1;
  260.    pixelAux.j=pixel.j;
  261.    if (esColorParecido(pixel,pixelAux))
  262.     {
  263.         buscaPixel(pixelAux,region,altura,anchura,anchura_fila,canales);      
  264.      }
  265. }
  266.  if (pixel.j+1<=anchura)
  267.  {
  268.    pixelAux.b=(int)data[(pixel.i)*anchura_fila+(pixel.j+1)*canales+0];
  269.    pixelAux.g=(int)data[(pixel.i)*anchura_fila+(pixel.j+1)*canales+1];
  270.    pixelAux.r=(int)data[(pixel.i)*anchura_fila+(pixel.j+1)*canales+2];
  271.    pixelAux.i=pixel.i;
  272.    pixelAux.j=pixel.j+1;
  273.    if (esColorParecido(pixel,pixelAux))
  274.     {
  275.          buscaPixel(pixelAux,region,altura,anchura,anchura_fila,canales);      
  276.  
  277.     }
  278. }
  279. }
  280. int llenaRegiones (Tregiones *regiones,int altura, int anchura,int anchura_fila,int canales)
  281. {int i,j;
  282. int numPixeles=0;
  283. Tregion regionAux;
  284. Tpixel pixelAux;
  285. nuevaRegion(&regionAux);
  286. nuevoPixel(&pixelAux);
  287.  
  288. for (i=10;i<altura;i++)
  289.  
  290.    for(j=10;j<anchura;j++)
  291.       {                
  292.            if((esVerde(data[i*anchura_fila+j*canales+0],
  293.                        data[i*anchura_fila+j*canales+1],
  294.                        data[i*anchura_fila+j*canales+2]))
  295.               |(esAzul(data[i*anchura_fila+j*canales+0],
  296.                        data[i*anchura_fila+j*canales+1],
  297.                        data[i*anchura_fila+j*canales+2]))
  298.               |(esRojo(data[i*anchura_fila+j*canales+0],
  299.                        data[i*anchura_fila+j*canales+1],
  300.                        data[i*anchura_fila+j*canales+2]))
  301.               )
  302.               {
  303.                      nuevaRegion(&regionAux);                        
  304.                      pixelAux.b=(INT)data[i*anchura_fila+j*canales+0];
  305.                      pixelAux.g=(INT)data[i*anchura_fila+j*canales+1];
  306.                      pixelAux.r=(INT)data[i*anchura_fila+j*canales+2];
  307.                      pixelAux.i=i;
  308.                      pixelAux.j=j;
  309.                      encolaPixel(pixelAux,&regionAux);
  310.                      data[(i)*anchura_fila+(j)*canales+0]=0;
  311.                      data[(i)*anchura_fila+(j)*canales+1]=0;
  312.                      data[(i)*anchura_fila+(j)*canales+2]=0;
  313.                      buscaPixel(pixelAux,&regionAux,altura,anchura,anchura_fila,canales);
  314.                      if (regionAux.numPixels>1000)
  315.                         encolaRegion(regionAux,regiones);
  316.                      printf("numero de pixeles en region %d:%d\n",regiones->numRegiones,regiones->regiones[regiones->numRegiones].numPixels);  
  317.                      system("PAUSE");
  318.  
  319.               }
  320.       }
  321.    //printf("numpixeles:%d",numPixeles);
  322.  
  323.  
  324.  
  325.  
  326.  
  327.  
  328. }
  329. void PintaRectangulo(int x1,int y1,int x2, int y2, IplImage* img)
  330. {
  331.     CvPoint pt1, pt2;
  332.     pt1.x = x1-10;
  333.     pt1.y = y1-10;
  334.     pt2.x = x2+10;
  335.     pt2.y = y2+10;
  336.  
  337. cvRectangle( img, pt1 , pt2 , CV_RGB(0,0,255),15, 8, 0 ); //Dibujamos el rectangulo
  338.  
  339.  
  340. }
  341.  
  342. int main(int argc, char *argv[])
  343. {
  344. IplImage* img = 0;
  345. IplImage* img2 = 0;
  346. int altura,anchura,anchura_fila,canales;
  347.  
  348.  
  349. Tregiones bufferRegiones;
  350. bufferRegiones.numRegiones=0;
  351. int xCerca=10000;
  352. int xLejos=0;
  353. int yCerca=10000;
  354. int yLejos=0;
  355. Tregiones regiones;
  356. Tregion regionAux;
  357. int i;
  358.  
  359.  
  360.  
  361. char name0[]="C:\\VC\\Practicas\\Cubo5.JPG";
  362.  
  363. img=cvLoadImage(name0,1);
  364.  
  365. if(!img){
  366.  printf("No se ha podido cargar la imagen: %s\n",argv[1]);
  367.  exit(0);
  368. }
  369.  
  370.  
  371.  
  372. altura    = img->height;
  373. anchura     = img->width;
  374. anchura_fila  = img->widthStep;
  375. canales  = img->nChannels;
  376. data   =(uchar*) img->imageData;
  377. Timagen imagen;
  378. printf("Procesando una imagen de %dx%d píxeles con %d canales\n",
  379.    altura, anchura, canales);
  380.    Tpixel pixelAux;
  381. nuevaImagen(&imagen,altura,anchura);
  382.  
  383. img2=cvCloneImage(img);
  384.  
  385. cvNamedWindow( "Cubo0", 2 );
  386. cvNamedWindow( "Cubo1", 2 );
  387. llenaRegiones(&bufferRegiones,altura,anchura,anchura_fila,canales);
  388. for (i=0;i<bufferRegiones.numRegiones;i++)
  389. {   printf("Numero Region:%d",i);
  390.    pintaRegion(bufferRegiones.regiones[i]);
  391. }
  392. //PintaRectangulo(xCerca,yCerca,xLejos,yLejos,img2);
  393. //PintaRectangulo(2650,1125,3050,1600,img2);
  394. printf("xCerca:%d\nyCerca:%d\nxLejos:%d\nyLejos:%d\n",xCerca,yCerca,xLejos,yLejos);
  395. cvShowImage("Cubo0", img );
  396. cvShowImage("Cubo1", img2 );
  397.  
  398. cvWaitKey(0); // se pulsa tecla para terminar
  399. cvDestroyAllWindows(); // destruimos todas las ventanas
  400. cvReleaseImage(&img);
  401.  
  402.    system("PAUSE");
  403.    return EXIT_SUCCESS;
  404. }
  405.  


Bueno pos cuando ejecuto el codigo, se ejecuta el programa y se cierra rapidamente. voy depurandolo, y es como si se quedara sin memoria. Lo que hago practicamente es:

- Busco en la imagen un pixel que sea rojo,azul o verde
- si lo encuentra... aplica el algoritmo de crecimiento de regiones que consiste en:
   *si el pixel de encima es de color parecido haz el algoritmo de busqueda en el y pinta de negro el pixel actual
  *si el pixel de la izquierda es de color parecido haz el algoritmo de busqueda en el y pinta de negro el pixel actual
   *si el pixel de abajo es de color parecido haz el algoritmo de busqueda en el y pinta de negro el pixel actual
   *si el pixel de la derecha es de color parecido haz el algoritmo de busqueda en el y pinta de negro el pixel actual

si acaba la llamada recursiva de buscapixel mete en el puntero de regiones una nueva region  ponte a buscar mas pixeles hasta que no haya mas pixeles rojos verdes y azules.

Si alguien pudiera ayudarme estaria totalmente agradecido.Se acepta todo tipo de criticas y comentarios. Un saludo


34  Sistemas Operativos / Windows / Activar/Desactivar Mezcla estereo en: 23 Noviembre 2010, 05:12 am
Hay alguna manera de activar la mezcla estereo que no sea accediendo a las propiedades del dispositivo? ya sea por programación o comandos?
SndVol32.exe /rec
activar mezcla estereo
desactivar silencio en mezcla estereo

hay algun comando que realice esto o alguna manera de programarlo?Un saludo

35  Seguridad Informática / Análisis y Diseño de Malware / Re: [ASM]Cargando la ntdll desde codigo ideal para saltarse algunos hooks olly etc.. en: 19 Noviembre 2010, 17:11 pm
guau que bien me va a venir :)
36  Seguridad Informática / Análisis y Diseño de Malware / Re: Ubicar domicilio del atacante por infeccion de un troyano en: 19 Noviembre 2010, 04:03 am
y dejar la dirección MAC bien grabada? No es muy buena idea.
OK jeje supongo que ante eso existen herramientas para camuflar tu MAC un poquito no? jeje :) encontre esto por aqui:

http://foro.elhacker.net/hacking_avanzado/como_cambiar_mac_address_en_windows_xp_iquest-t48630.15.html


37  Seguridad Informática / Análisis y Diseño de Malware / Re: Ubicar domicilio del atacante por infeccion de un troyano en: 18 Noviembre 2010, 20:12 pm
Si te conectas Via Wifi a la Red de tu vecino y desde ahi redireccionas los puertos del router de tu vecino a tu ordenador...tambien te pueden detectar? es una duda que he tenido siempre.... :)
38  Seguridad Informática / Análisis y Diseño de Malware / Re: Ayuda con crypters en: 18 Noviembre 2010, 20:03 pm
Citar
Caray otro que quiere modificar el bifrsot
por que no simplemente consigues un crypter no tan viejo y lo modeas esque modear el bifrost creo qu eno te sera facil ya esta completamente detectado firmas por donde quiera

Creo que si quiero crear un crypter no es la mejor solucion, me gustaría seguir buenos pasos para poder empezar el proyecto, mi finalidad no es dejar indetectable el bifrost o el posion, mi finalidad es poder crear un crypter que haga FUD a todo stub que le pase..... si alguien pudiera ayudarme un poquito se lo agradecería. Un saludo!
39  Seguridad Informática / Análisis y Diseño de Malware / Re: Ayuda con crypters en: 17 Noviembre 2010, 02:01 am
Has dicho programar, en cambio leo que has estado intentando quitar firmas...
Si lo que quieres decir es que a un Crypter que tu has programado se le esta detectando con ciertas firmas dependera del tipo de deteccion lo que has de hacer para eliminarla...

Si lo has programado tu; Que detecciones te saltan?

Todavia no he programado nada , me gustaria empezar a programarlo, hasta ahora he estado mirando manuales que estan bastante bien de como meter RC1 o distintos algoritmos de encriptacion en aquellos offset donde salta la firma, bueno el problema es que estuve mirando en que offset saltaba la firma del kaspersky en el bifrost, y detecte mediante editores hexadecimales y tambien con ayuda de "signature zero" aquellos sitios donde kaspersky detectaba la firma del bifrost. conseguí sacar 4 firmas
diferentes que eran estas:

BIFROSE.ADP
6A 02 68 BC 73 40 00 BF 28 70 40 00 68 59 03 00 00 57 E8 B4 FF FF FF 6A 02 68 B8 73 40 00 BE 28 10 40 00 68 00 60 00 00 56 E8 9D FF FF FF 83 C4 20 68 A8 73 40 00 FF 15 04 10 40 00 8B 1D 00 10

BIFROSE.ACI
80 86 22 EE 61 64 C7 97 00 E2 EC B3 97 FF 45 92 EA E4 BE B6 00 3E A2 33 44 08 C4 FE 45 FF 71 DB 24 85 A3 35 86 29 72 46 E0 85 28 DE F7 22 27 94 83 15 D8 8F 2E 96 BF CE A5 36 63 A5 A4 B3 9A 92 BA B1 35 16 A4 C7 76 A3 1F D3 40 43 80 17 D9 98 91 A7 83 D3 8F A0 A4 F0 4F 2E 95 19 D8 E7 66 BD 93 8F FA 94 88 19 4B 73 EA B8 EB E6 84 A3 85 DC F4 A4 64 9A 32 54 27 F8 79 D7 9B F1 65 33 8D 35

BIFROSE.ACI
D4 D1 FD 88 C5 FA C6 FA BF F8 F8 E3 E7 E1 FB ED 09 29 08 89 D7 ED E4 E2 F1 B8 F2 F0 E8 F1 E4 FD C8 91 DE E4 FE F0 F1 FE F8 DA 58 FD D3 D7 00 09 00 49 FB FF E4 D5 91 EE F9 C5 0A E2 B5 C1 EB E6 EF FF D6 FB EC D6 08 09 20 D8 41 DE FE E1 CF FC C5 91 FD FA DF D0 EC E2 C5 97 41 F9 FD BF D5 B5 F1 E2 F9 E6 FC F6 17 29 98 41 01 F1 E6 EE F0 E5 1A F9 D0 F0 FE F3 FE E3 F1 40 0B 5B 86 B5 BC 99

BIFROSE.ACI
C6 F6 F6 82 D6 85 93 95 F6 66 F6 F6 F6 E6 F6 F6 F6 F6 F6 F6 F6 F2 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 76 F6 F6 16 C7 F6 F6 82 D6 85 93 95 F6 96 F6 F6 F6 56 F6 F6 F6 AE F6 F6 F6 F2 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 B6 F6 F6 16 C4 F6 F6 82 D6 85 93 95 F6 E6 F6 F6 F6 F6 F7 F6 F6 F2 F6 F6 F6 AA F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 F6 B6 F6 F6 36 F6 F6 F6 F6 F6 F6 F6 F6

entonce compile de nuevo y sustitui esas firmas por 00( se que no funcionaria el server pero por simple curiosidad de dejar indetectado kaspersky), entonces me salta con que detecta otra firma: bifrose.acs

cuando me pongo a detectar la firma resulta que no era igual que las otras firmas, cogia un rango de bytes bastante grande donde si eliminaba entre medias algunos bytes seguia detectando la firma, pero si eliminaba  hasta abajo ya no al detectaba, era bastante extraño, y no es una deteccion por heuristica por que creo que el antivirus lo pone cuando detecta algo por heuristica, es el kaspersky11. El caso es que estoy intentando coger todas las firmas para luego con olly meter algun codigo en ASM y poder burlar al antivirus, ya sabiendo esto me dispondre de programar un crypter, que me gustaria bastante la idea.Sólo que me he quedado estancado por que la ultima firma me dejado un poco :S y creo que no voy por buen camino, alguien me puede echar una mano y decirme que estoy haciendo mal y por donde tengo que ir? Un saludo y sigo diciendo que perdoneis mi ignorancia, hasta ahora no me habia metido nunca con este tema, de todas formas seguire leyendo manuales... ;)
40  Seguridad Informática / Análisis y Diseño de Malware / Ayuda con crypters en: 16 Noviembre 2010, 04:15 am
Buenas me gustaria programar un crypter, pero esto un poco PEZ en algunos aspectos, he leido manuales por aqui por el foro y aun asi de seguirlos creo que se quedan ya obsoletos ante las firmas de KAspersky por ejemplo...
he estado probando con la herramienta Signature Zero para bucar las firmas del kaspersky en el bifrost, y llevo varios dias con editores hexadecimales y cuando creo que todo acaba vuelve a aparecer una que ya me rompe los esquemas, existe alguna manera de conseguir estas firmas de otra forma? Un saludo y perdonad mi ignorancia en esto...
Páginas: 1 2 3 [4] 5 6 7 8 9 10
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines