Abril Negro 2008: Taller de ASM

Iniciado por ~~, 13 Abril 2008, 16:52 PM

0 Miembros y 2 Visitantes están viendo este tema.

byebye

CitarSi quieres dejar el código un poco más legible te recomiendo el uso de invoke para poder llamar a las apis como se haria en un lenguaje de alto nivel

yo no lo recomiendo, ya que se deberia entender a la perfeccion el como y pq se usa cada instruccion.

Citare estado viendo codes de troyanos en asm i todos estan compilados con masm i e visto el code de eon de un manual que esta en C i no e logrado saber como se conecta¿alguien me podria dar un code de un troyano en fasm? o ¿orientarme como hacerlo?

como ya te dicen, esto mismo pasa en otros lenguajes. dependiendo del ide el codigo puede ser ligeramente diferente pero la base del lenguaje es el mismo por lo que lo primero es entender el lenguaje y despues no hay problema en entender un codigo en masm,tasm etc.  yo recomendaria no querer meterse ya en sockets y similares cuando aun no se saben cosas tan basicas como buscar un caracter en un buffer (que para un troyano seguramente lo necesitaras) o simplemente llevar un control de flujo correcto, esto es un ejemplo hay muchas cosas que aun no se han tocado.

krackwar

SALTOS CONDICIONALES

En el esnasmblador no existe ninguna forma de ÍF, CASE, FOR ninguna estructura por lo tanto se usan brincos parecidos a la funcion GOTO pero solo si cumplen ciertas condiciones
La siguiente lista es INSTRUCCION--Traduccion--significado, recordando que el ASM son palabras tanto entendibles por el hombre como la maquina

JO: Jump if overflow. Salta si el flag de desbordamiento est a uno
JNO: Jump if not overflow. Salta si el flag de desbordamiento esta cero.
JC, JNAE, JB: Los tres sirven para lo mismo. Significan: Jump if Carry, Jump if Not Above or Equal y Jump if Below. Saltan por lo tanto si al haber una comparacion el flag de acarreo se pone a 1, es entonces equivalente a "<" en una operacion sin signo.
JNC, JAE, JNB: Otros tres que valen exactamente para lo mismo. Jump if not Carry, Jump if Above or Equal y Jump if Not Below. Saltan si al haber una comparacion el flag de acarreo vale 0, o sea, es equivelente al operador ">=".
JZ o JE: Jump if Zero o Jump if Equal. Salta si el flag de cero esta a 1, o sea, si las dos instrucciones comparadas son iguales.
JNZ o JNE: Jump if Not Zero o Jump if Not Equal. Salta si el flag de cero esta a 0, o sea, si las dos instrucciones comparadas no son iguales.
JBE o JNA: Jump if Below or Equal o Jump if Not Above. Saltaria si en resultado de la comparacion el primer miembro es menor o igual que el segundo ( <= )
JA o JNBE: Jump if Above o Jump if Not Below of Equal. Justo lo contrario que la anterior, salta si en el resultado de la comparacion el primer miembro es mayor al segundo.
JS: Jump if Sign. Salta si el flag de signo esta  a uno.
JNS: Jump if Not Sign. Salta si el flag de signo esta  a cero.
JP, JPE: Jump if Parity o Jump if Parity Even. Salta si el flag de paridad esta a uno.
JNP, JPO: Jump if Not Parity, Jump if Parity Odd. Salta si el flag de paridad esta a cero.
JL, JNGE: Jump if Less, Jump if Not Greater of Equal. Salta si en el resultado de la comparacion, el primer numero es inferior al segundo, pero con numeros con signo.
JGE, JNL: Jump if Greater or Equal, Jump if Not Less. Salta si en el resultado de la comparacion, el primer numero es mayor o igual que el segundo, pero con numeros con signo.
JLE, JNG: Jump if Lower or Equal, Jump if Not Greater. Salta si en el resultado de la comparacion, el primer numero es menor o igual que el segundo, pero con numeros con signo.
JG, JNLE: Jump if Greater, Jump if Not Lower or Equal. Salta si en el resultado de la comparacion, el primer numero es mayor que el segundo, para numeros con signo.

Estos son saltos condicionales que salen de una comparacion de la forma
CMP parametro 1, parametro 2

Si solo quieren saltar se escribe:
JMP direccion
Esto se aplica a los condicionales
fuente:http://invisiblehack.mforos.com
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

fernacho

Aunque quiero aprender, se me hace muy complicado! :S
Deseando aprender un poco mas y mas...

krackwar

Cita de: fernacho en 21 Mayo 2008, 20:50 PM
Aunque quiero aprender, se me hace muy complicado! :S
Entonces de verdad no quieres aprender por que si quisieras te esforsarias.
s4lu2!
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

elmeister

Cita de: KR4CKW4R en 21 Mayo 2008, 21:26 PM
Cita de: fernacho en 21 Mayo 2008, 20:50 PM
Aunque quiero aprender, se me hace muy complicado! :S
Entonces de verdad no quieres aprender por que si quisieras te esforsarias.
s4lu2!

veo que lo que dice tu firma es verdad XD

krackwar

Cita de: elmeister en 21 Mayo 2008, 21:28 PM
Cita de: KR4CKW4R en 21 Mayo 2008, 21:26 PM
Cita de: fernacho en 21 Mayo 2008, 20:50 PM
Aunque quiero aprender, se me hace muy complicado! :S
Entonces de verdad no quieres aprender por que si quisieras te esforsarias.
s4lu2!

veo que lo que dice tu firma es verdad XD
yo soy capaz de pasar horas explicando una cosa si la persona de verdad quiere aprender.
s4lu2!
Mi blog
Bienvenido krackwar, actualmente tu puntuación es de 38 puntos y tu rango es Veteran.
El pollo número 1, es decir yo, (krackwar), adoro a Shaddy como a un dios.

elmeister

Cita de: KR4CKW4R en 21 Mayo 2008, 21:53 PMyo soy capaz de pasar horas explicando una cosa si la persona de verdad quiere aprender.
s4lu2!

lo tendré en cuenta ;-)

Hesp

Muy weno E0N, quizás te ponga en apuros por revivir este taller, pero te animo a que continúes  :D

Os dejo unas tablas de referencias muy útiles.
http://www.megaupload.com/es/?d=ZJ3AC8FK

~~

Na hombre, tengo pensado continuarlo, solo q estoy estudiando pa los examenes y no tengo mucho tiempo, cuando sake un rato escribo algo sobre como usar apis y ya acabo el taller :P

Salu2

pedrox@

Esta perfecto e0n, espero la segunda parte :D
Te quedará un buen taller.

salu2