Autor
|
Tema: [Duda] Diferencia entre JB y JS (Leído 3,689 veces)
|
Stakewinner00
|
Estaba estudiando ingenieria inversa (hace poco que comenze) y me encontre con que segun mis apuntes: EL JB se activa cuando el flag C es uno y por lo tanto si tuvieramos EAX=1 y ECX=2 el flag C saltaria y se activaria, luego en el caso del JS es lo mismo resta u valor al otro y en vez de activar el flag C se activa el S pero en realidad es exactamente lo mismo no?
Resumiendo, no se que diferéncias hay entre el JB/JNB y JS/JNS.
Gracias por su ayuda.
|
|
|
En línea
|
|
|
|
apuromafo CLS
|
te lo hare mas facil
cuando comparas 2 numeros hay 3 opciones
que sean iguales, que sean diferentes y que sean (mayor o menor)
pues eso hace, el tema es que la validacion lo hara por un flag o bandera luego si dice
cmp eax,7 y eax es 7 je lugar (saltara porque es igual) pero la bandera estara dada por 0 y 1.. si salta o no ira en eso..
pero el tema ahora es el tema del salto como tal si es JB versus JNB (hay diferencia, pues uno saltara si son iguales y el otro si no son iguales)
lo importante es que a la fecha no he visto programas que jueguen con los flag , solo los packers
asi que suerte en todo lo que estas viendo... intenta seguir leyendo
|
|
|
En línea
|
Apuromafo
|
|
|
Stakewinner00
|
Si lo dle JE y todo eso ya lo sabia. Lo k no se es la díferencia entre JB y JS a parte de que usan flags distintos. lo importante es que a la fecha no he visto programas que jueguen con los flag , solo los packers Osea que no sirve de much no? XD bueno, estoy leyendo esto para tener unas baes sobre ensamblador para poder seguir aprendiendo cracking.
|
|
|
En línea
|
|
|
|
apuromafo CLS
|
pues pongamos ejemplos bonitos http://faydoc.tripod.com/cpu/jbe.htmen cuanto a otros , digamos que upack o otros packers cuando terminan de desempacar ahora la variable no es cero por lo tanto salta armadillo, asprotect, buscan dar excepciones y usan saltos para jugar con el tema de la iat y asi suma y sigue, lo importante es reconocer que son saltos y que trabajan con condiciones, a modo que en vez de estar ensamblando todo el tiempo , puedes cambiar el flag y testear si resultara parchado saludos Apuromafo revisa tambien el comando CPU Disasm Address Hex dump Command Comments 0081EDF5 \60 PUSHAD 0081EDF6 9C PUSHFD CPU Disasm Address Hex dump Command Comments 0081EE50 61 POPAD 0081EE51 9D POPFD 0081EE52 ^ E9 5BB5CAFF JMP 004CA3B2
|
|
« Última modificación: 24 Noviembre 2012, 02:50 am por apuromafo »
|
En línea
|
Apuromafo
|
|
|
karmany
|
JB: salta si es menor
Por ejemplo: mov al, 4 cmp al, 7 jb ⇒ salta
mov al, 4 cmp al, 4 jb ⇒ NO salta
mov al, 4 cmp al, 2 jb ⇒ NO salta
JS: Salta si tiene signo Bandera SF = 1
Por ejemplo: mov al, 4 sub al, 5 js ⇒ salta
mov al, 4 sub al, 4 js ⇒ NO salta
mov al, 4 sub al, 2 js ⇒ NO salta
mov al,0FC add al,2 js ⇒ salta ya que 0FC es -4: -4 +2 = -2
mov al, 0FC add al, 4 js ⇒ NO salta
|
|
« Última modificación: 24 Noviembre 2012, 10:13 am por karmany »
|
En línea
|
|
|
|
|
|
Mensajes similares |
|
Asunto |
Iniciado por |
Respuestas |
Vistas |
Último mensaje |
|
|
[Batch] (IF diferencia equ y == ) (SET /A Diferencia entre %v% y v)
Scripting
|
0x0309
|
1
|
8,514
|
2 Mayo 2009, 22:48 pm
por M a t t
|
|
|
Duda: diferencia entre tipos de MiM y envenenamiento
Hacking
|
kiqueW
|
2
|
3,709
|
29 Noviembre 2010, 16:48 pm
por kiqueW
|
|
|
[Duda] ¿Existe alguna diferencia entre int(example); y (int) example;?
Programación C/C++
|
Zodiak98
|
5
|
3,484
|
18 Septiembre 2013, 16:29 pm
por Zodiak98
|
|
|
Duda con PHP - Diferencia entre GET y POST
Desarrollo Web
|
Trunchante
|
3
|
2,588
|
14 Mayo 2019, 12:25 pm
por animanegra
|
|
|
DUDA Big O: diferencia entre O(n^2) y O(2^n)
Programación General
|
RichieTozier21
|
2
|
3,240
|
19 Febrero 2023, 01:46 am
por K-YreX
|
|