|
931
|
Seguridad Informática / Análisis y Diseño de Malware / Cuantos TROYANOS conoces hechos en ASM ?
|
en: 3 Abril 2013, 02:55 am
|
Buenas, amigos.. Por ahi viene la cosa hoy.. Me surgio esta interrogante,, porque desde mi posicion de novato en ASM, me propuse hacer un servidor de lo que podria ser un troyano..
Y la duda es.. Es realmente mejor un troyano en asm ? Sacando el tema de la portabilidad. Los antivirus reconocen mas un malware hecho en asm ?
Saludos !!
|
|
|
932
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 2 Abril 2013, 02:33 am
|
Bueno,, gracias a la ayuda de ustedes, logre hacer funcionar el Split.. Les voy a dejar aca el codigo que me dio resultado.. Ya se que se puede mejorar montones, y lo pongo aca, justamente para que si alguien quiere lo corrija.. me serviria mucho. No se olviden que yo no se practicamente nada de ASM, pero hacer que funcione fue bastante para mi jeje .386 .model flat, stdcall option casemap:none
include Includes.inc
.data Mensaje db "Mens|ajes",0 Titulo db "Resultado",0 .data? Dato1 db 50 dup (?) Dato2 db 50 dup (?) .code
Inicio:
invoke Split, addr Mensaje ret invoke ExitProcess, 0
Split proc String:DWORD mov ecx, -1 mov ebx, -1 Repite: inc ecx mov al, byte ptr ds:[Mensaje+ecx] cmp al, '|' je Salta mov [Dato1+ecx], al jmp Repite
Salta: inc ecx inc ebx cmp byte ptr ds:[Mensaje+ecx],0 je Salir mov al, byte ptr ds:[Mensaje+ecx] mov [Dato2+ebx], al jmp Salta Salir: invoke MessageBox, NULL, addr Dato1, addr Titulo, MB_OK invoke MessageBox, NULL, addr Dato2, addr Titulo, MB_OK ret Split endp
end Inicio Ya se que la funcion tiene un parametro que no uso, pero en el programa que estoy haciendo si lo voy a precisar.. Aparte no se controlan algunos errores, como que si el string comienza con "|" o si no tiene ningun "|". Pero yo se que cadena deberia recibir.. y siempre es un string separado en 2 por un caracter "|". Asi que, sabiendo eso.. si la cadena llega completa.. no deberia dar errores..
|
|
|
933
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 29 Marzo 2013, 00:06 am
|
Excelente amigos! Gracias por las respuestas a todos!! Yo pase 16 hs en querer resolverlo,, ya me tenia mal jaja Es exactamente eso lo que preciso cpu2 pero adaptado al code de flamer que funciona impeca.. asi que ahora me toca a mi unirlos jeje Gracias! Mr.blood, tambien me sirve de guia.. aca todo sirve, no hay desperdicios Gracias a todos! Ya volvere con alguna pregunta de novato jeje
|
|
|
934
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 28 Marzo 2013, 05:48 am
|
Huu,, y yo de novato mandandome estas ocurrencias... Igual, creo que no seria para tanto MCK, te puedo decir MCK no ? jaja Bueno, a lo que voy.. Lo que hace la función es partir el primer string en la posición de cada ocurrencia del segundo string. No entiendo esa parte.. Lo que hace la funcion es partir una cadena, cuando encuentra un delimitador.. en este caso el caracter " | ". Asi mismo yo se que mi cadena solo se va a dividir en 2, y si en el futuro agrandase la funcion, bueno.. despues veo.. Voy a ser claro para que no de a confusion La cadena que preciso cortar puede ser por ejemplo: "CONNECT|Username" y comandos de ese tipo,,, supongo ya habran visto este tipo de cadenas en 1 millon de sources y se sobre entiende para que sirve.. Pd: voy a mirar eso que me dijiste y el enlace que hay por ahi arriba
|
|
|
935
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 28 Marzo 2013, 01:15 am
|
En realidad yo preciso una funcion que sea Split, sin mas.. yo le paso un string como parametro a la funcion y ella se encarga de Splitearla.. El tema de los mensajes de windows son solo para mostrar en pantalla como me queda la cadena X)
Luego veo el tema de la traduccion AT&T.. Si ya me complica masm.. imaginate que entiendo yo de eso jaja
Saludos !
|
|
|
936
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 28 Marzo 2013, 00:30 am
|
Gracias por las respuestas a todos!! No me funco eso Flamer, me dice un error que ya me habia salido, en tantas pruebas que he echo.. me dice: missing operator in expression -> mov eax, byte ds ptr [Cadena + ebx] miren como va la cosa, asi me pueden decir si voy bien .code Inicio: xor eax, eax xor ebx, ebx mov eax, offset[Cadena] .while ebx < 4 mov eax, byte ptr [eax+1] -> Se que aca deberia sumar ebx, pero no funca cmp eax, '|' je Corta mov Texto, eax inc ebx .endw Corta: invoke dwtoa, eax, addr Texto invoke MessageBox, NULL, addr Texto, addr Titulo, MB_OK invoke ExitProcess, 0 end Inicio Si pongo como decis tu Flamer me dice missing op. y si pongo +1 me dice invalid instruction.. Me quiere enfermar jajaja Bueno, por otro lado tambien precisaria que el while se ejecute hasta el tamaño del string,, no solo hasta 4 :/ Pd: Gracias MCKSys tambien por el aporte, ya comprendi el tema dword y el byte
|
|
|
937
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 27 Marzo 2013, 22:09 pm
|
Hola gentes! La verdad queria hacerlo solo, pero esto me esta rompiendo la cabeza.. Tengo un problema con esta instruccion: mov eax, dword ptr [Cadena + ebx] Veamos,, esto deberia poner la direccion de memoria de mi cadena en el registro eax, no ?? Pero si hago esto: mov OtraVar, eax messagebox OtraVar Me muestra los 4 primeros caracteres de mi Cadena.. No estoy utilizando while, ni nada.. quedaria asi: xor eax, eax xor ebx, ebx mov eax, dword ptr [Cadena + ebx] mov Texto, eax invoke MessageBox, NULL, addr Texto, addr Titulo, MB_OK Resultado "Esta" -> 4 primeros caracteres de mi Cadena Como deberia recorrer el string caracter por caracter ? Yo me encargo del cmp, del jmp y todo lo demas Graciass !! Y Gracias cpu2 tambien pero eso es fasm, no? apenas puedo con masm aun jejeje
|
|
|
938
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 27 Marzo 2013, 07:17 am
|
Excelente recopilacion de tutos! Hoy de tarde los veo con tiempo! Si, estoy usando el RadASM,, es muy bueno.. y por ahi vi en ese enlace que me mandaste que hay unos tutos de RadASM, me viene impeca para ampliarme mas en ese IDE... Con respecto al code creo que voy a poder adaptarlo.. Gracias sabio! Abrazo! Y larga vida al rey ASM ! Jejeje
|
|
|
939
|
Programación / ASM / Re: Ayuda con funcion "Split"
|
en: 27 Marzo 2013, 05:21 am
|
Gracias Flamer por la respuesta, me es de gran ayuda para empezar, es que aun soy muy noob en esto de ASM. El unico detalle es que mi code no tiene una cadena predefinida, y yo preciso cortar la cadena con un delimitador dado.. Seguro sabras de que hablo.. mi cadena llega algo asi, por ejemplo: "Mnsj|Ola keace", yo preciso : Parte1 = "Mnsj" Parte2 = "Ola keace" A lo mejor, con darme una idea como "retocar" ese code y yo me manejo.. si no puedo preguntare otra vez jejeje Gracias!!
EI: juntando mensajes.
Y ya que estoy en el hilo, me tomo el atrevimiento de hacer una consulta bien, pero bien noob.. El operador xor, por lo que entiendo: Devuelve True si a = true y b = false a = false y b = true Y False si: a = true y b = true a = false y b = false pero.. para que sirve en este caso por ejemplo? EDITADO: Ta, ya entendi para que sirve xor
|
|
|
940
|
Programación / ASM / Ayuda con funcion "Split"
|
en: 26 Marzo 2013, 23:09 pm
|
Buenas amigos del foro.. Espero que anden bien.. Bueno, creo que hoy la duda esta clarisima,, preciso dividir un string con un criterio dado,, asi, tal cual lo haria vb con split. Si a alguien se le ocurre algo, una idea por donde empezar, o mejor aun un pseudocodigo, o lo que sea jaja Desde ya, muchas gracias!
|
|
|
|
|
|
|