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 - x64core

#91
ASM / DUDA sobre Carry
10 Enero 2012, 06:31 AM
Buenas :)
Tengo problemas ayer comprendi parecia que comprendi como funcionaba la bandera carry
pero ahora se me a ido de la mente :P
estoy haciendo pruebas de como funciona y no es como creo que debe funcionar:

MOV EAX,0Ch
ADD EAX,1Ch

creia que eso hiba a poner la bandera carry a 1 :/
ya que:

0C =  0000 1100
1C =  0001 1100
#92
Eso, alguien sabe en que pagina puedo pedir ayuda sobre ese lenguaje?
y que puedan ayudarme a dudas que tengo! :B

de preferencia un chat asi rapido :P
#93
Buenas a todos gente :)
vengo a proponer un reto, espero que participemos todos :)

RETO: Funcion Extraer Numeros de Cadenas!
Ejemplo:
Input: ewiuc3dskhd8nkd62ndsnk9
Ouput: 38629

Teneis hasta 08/01/2012 ese dia se hara el Testing de nuestras funciones , gana la funcion mas optimizada, la mas veloz de todas!
como testear la velocidad de nuestras funciones?
Con la clase Ctiming:
NO vale asm inline, ni ninguna magia negra ni blanca :xD,a puro code vb, funct vb, apis, clases

Vamos Participemos todos! ;D




Gente Agrego la Cadena para el TEST por favor tomar en cuenta aunque creo que todas nuestras funciones pasa la prueba ^^


"sdh!w2 28 :-)  9ndk#1@b______dy0--hveybd@  # qism083  s'kl...: su2b7h ++bjsnbvxj77ygv1hiiiioms90nms sjbah b#!1!  --R-E-D--0+-w++ONE***WWW."

RETURN:
"228910083277719010"




Prototipo:

Function MYFUNCTION ( STR as String ) as String

#94
Buenas gente bueno recordando hace meses me gustaria hacer un reto y espero que participemos todos :)
bien calentemos primeros :D

RETO: Funcion Extraer Valores Numericos de Cadenas
Ejemplo:
Input: ewiuc3dskhd8nkd62ndsnk9
Ouput: 38629

Teneis hasta 08/01/2012 ese dia se hara el Testing de nuestras funciones , gana la funcion mas optimizada, la mas veloz de todas!
como testear la velocidad de nuestras funciones?
Con la Cabecera: Time.h: http://es.wikipedia.org/wiki/Time.h

Vamos Participemos todos! ;D




edit: edito más reglas un poco tarde viendo las espectativas de algunos codigos :P

* NO VALE ASM INLINE ( sera para el proximo reto, pronto :D )

* la funcion debe de devolver el valor en una variable o como retorno de funcion




Cadena para la prueba de velocidad:


"sdh!w2 28 :-)  9ndk#1@b______dy0--hveybd@  # qism083  s'kl...: su2b7h ++bjsnbvxj77ygv1hiiiioms90nms sjbah b#!1!  --R-E-D--0+-w++ONE***WWW."

RETURN:
"228910083277719010"
#95
ASM / Comprobar Banderas sin saltos?
4 Enero 2012, 02:31 AM
Hola!
bueno eso, como puedo comprobar las banderas individualmente? pero sin saltos :P
lo normal para comprobar si un valor es cero es usar jz :P

intente algo hacer con and pero no me funciono :P
#96
hola, eso! como puedo hacer una copia totalmente completa y correcta de un foro o web?
#97
Buenas :D
Quisiera saber si alguien tiene informacion sobre como programar o metodos sobre como saber que
metodos son mejores para que mejore el rendimiento...
me explico hace unos dias habia descargado dos aplicaciones convertidores de pdf , probé las dos aplicaciones
y me parecio curioso que una aplicacion en el proceso de convertir el archivo me usaba mucha cpu, llegaba hasta los 90% y de memoria me usaba bien poca y la otra aplicacion me usaba mas memoria quiza un 300%,400% mas y de CPU me llegaba a un 30%
me quede pensando y me imagine que era en la forma que habian sido programadas ( obvio) pero de que forman generalmente
son programadas este tipo de aplicaciones para que reaccionen asi?
gracias :D
#98
ASM / [DUDA] Direccion Relativas
31 Diciembre 2011, 23:58 PM
Hola!
bueno en mi libro que estudio no e llegado a esta parte ( no se si esta :P )
y el problema viene porque estuve programando unos opcodes en otro lenguaje y tuve problemas, y creo que por eso lo puse en asm porque tiene que ver con asm :P mi problema creo que es sobre direcciones relativas
bueno mi problema que no entiendo es sobre 'obtener direccion relativa'

el codigo de alto nivel hacia lo siguiente obtenia la direccion de un opcode que se hiba a ejecutar un jmp
una direccion de una funcion y hacia esta operacion:

resultado = Direccion funcion - direccion del opcode - 5

luego con la direccion resultado hacia: jmp resultado

y mi pregunta es porque hace eso? y todo es correcto la direccion esa salta a la direccion de la funcion :P no entiendo :/
#99
ASM / Sobre Informacion de Ejecutables
31 Diciembre 2011, 09:52 AM
Buenas :)
quisiera saber donde puedo encontrar informacion para aprender sobre como funciona, como manipular la
informacion que sale en un cuadrito de dialogo cuando el cursor se posiciona sobre un archivo?
este:

no se como se llama perdon  :xD
por eso mismo no e podido empezar a buscar, hace unos meses cuando no no sabia sobre asm
vi un codigo en asm sobre esto pero no lo guarde :P
bueno cualquier cosa agradecido :D
#100
Ingeniería Inversa / "pegar" Instrucciones en OLLY
30 Diciembre 2011, 06:45 AM
Buenas!
tengo esa duda como puedo "pegar" instrucciones en ollydbg? osea tengo un par de instrucciones
entonces es fasticioso dar doble click y escribir la(s) instrucciones que deseamos es posible solo "pegar" las instrucciones? :)

otra cosa ^^ hay funcion "atras" en olly?
#101
Hola!
bueno por ahora estoy depurando una dll creada en C++ y quisiera saber como saber el numero de
parametros de las funciones exportadas que tiene esa dll
alguien puede darme algo de info por favor q no e encontrado nada :P
#102
hola :)
bueno  revisando unas cosillas con el olly en programas vb, quisiera saber si alguien sabe adonde se encuentran relativamente estas direccion(es):
7274AFE3h
ya que en el olly no me aparecen:

e presionado en la direccion  y me aparece otra ventana con mas direcciones pero llega hasta 71B00FF0



#103
ASM / Duda Con MOV de APIs
26 Diciembre 2011, 05:03 AM
Buenas feliz navidad a todos :xD
bueno tengo una duda sobre el asm de las APis, cuando las veo con un depurador es varias Apis veo
esta instruccion: mov edi,edi
porque esta esa instruccion? estaria copiando el resultado al mismo operando :P
#104
Hola! bueno queria ver si alguien sabia un poco de informacion
sobre como codear un monitor de aplicaciones que me informe
cuando cualquier aplicacion se abre, se me ocurrio la de hookear
la openprocess , sobre si sabran algunas mas :)
#105
ASM / ver src de un *.lib ?
19 Diciembre 2011, 06:45 AM
hola buenas ;D
bueno siguiendo con mi librito e llegado a una parte que muestra las funciones que proporciona el autor
del libro a travez de una libreria ( irvine32.lib ), entonces y como habla de las funciones que se pueden
usar de ayuda , quisiera saber si se puede mirar el src para ver que hace un archivo *.lib :P
#106
Hola! :D
Bueno yo solo sé usar un poco el olly y vengo a pedir ayuda
porque tengo un problema :P la cosa es que tengo un programa entonces que muestra informacion valiosa para mi,
entonces en un Syslistview32 en una de sus columnas muestra el dato que quiero, y por eso quisiera saber
como púedo saber que API ( estoy seguro que una API obtiene el dato ) obtiene ese dato.

talvez alguna forma de saber la API que ocupa para obtener solamente ese dato
tambien el problema es que el syslistview no esta en el formulario principal sino que se selecciona una opcion de un menu para
que muestre ese syslistview.

bueno gracias :)
#107
ASM / Acerca de registros FS y GS
13 Diciembre 2011, 22:53 PM
Hola! :)
bueno buscando un rato en la red no e podido encontrar algo que me sea util :P
e visto en comentarios de codigos que el registro FS guarda punteros con informacion util :P
y pues quisiera saber si alguien tiene algo de informacion sobre ese registro, como es que
carga el SO esos punteros, datos, etc
gracias :)

ni siquiera en el libro que estoy leyendo hay nada interesante :P
#108
buenas alguien conoce algun codigo que se pueda usar para medir la velocidad de un codigo?
o algun metodo o alternativa
#109
Como prometi aqui hice codigo muy util que utiliza la tecnica :)
Agradecimientos a:
   Karcrack
   Cobein

Si no hubiera sido por ayudarme a entender como funciona no hubiera podido lograrlo :)
la funcion es un putmem x bytes, lo que hace es insertar X bytes a una posicion de memoria indicada, esta funcion que hice
es identica a las funciones:

Declare Sub PutMem1 Lib "msvbvm60" (Ptr As Any, ByVal NewVal As Byte)
Declare Sub PutMem2 Lib "msvbvm60" (Ptr As Any, ByVal NewVal As Integer)
Declare Sub PutMem4 Lib "msvbvm60" (Ptr As Any, ByVal NewVal As Long)
Declare Sub PutMem8 Lib "msvbvm60" (Ptr As Any, ByVal NewVal As Currency)

salvo que esta se pueden insertar cualquier cantidad de bytes, que es el tercer parametro el numero de bytes que uno debe
de indicar a insertar, tambien hay que tomar en cuenta como estan almacenados los bytes en la memoria eso es si es microprocesador de uno es little o big...


Código (VB) [Seleccionar]
Option Explicit
Private Declare Function CallWindowProc Lib "USER32" Alias "CallWindowProcW" (ByVal lpPrevWndFunc As Long, ByVal hwnd As Long, ByVal msg As Long, ByVal wParam As Long, ByVal lParam As Long) As Long


Private Sub Form_Load()
   ' By RHL no quitar texto
   Dim test As String: test = "Test de XXXXXX en inline asm!"
   Dim newp As String:         newp = "PUTMEM"
   
   Dim A As Long:A = &H101010
   Dim B As Byte:B = &H20
   
   Call vASM_PUTMEMx(VarPtr(A), VarPtr(B), 1)
   MsgBox A

   Call vASM_PUTMEMx(StrPtr(test) + 16, StrPtr(newp), 12)
   MsgBox test
   
End Sub

'Declare Sub PutMemx Lib "msvbvm60" (ptr As Any, ByVal newval As Byte)
Private Sub vASM_PUTMEMx(ByVal ptr As Long, ByVal newval As Long, ByVal nB As Long)
   Dim Acode(25)   As Byte: Acode(25) = &HC3
   
   Acode(17) = &H8A: Acode(18) = &H10: Acode(19) = &H88: Acode(20) = &H17
   Acode(21) = &H40: Acode(22) = &H47: Acode(23) = &HE2: Acode(24) = &HF8

   Dim i           As Long
   
   '       MOV EAX,OFFSET newval
   '       MOV EDI,OFFSET ptr
   '       XOR ECX,ECX
   '       MOV ECX,nB
   'INI:   MOV DL,[EAX]
   '       MOV [EDI], DL
   '       INC EAX
   '       INC EDI
   '       LOOP INI
   

   Acode(0) = &HB8
   i = LongToByte(newval, Acode(), i + 1)
 
   Acode(5) = &HBF
     
   i = LongToByte(ptr, Acode(), i + 1)
   Acode(10) = &H33: Acode(11) = &HC9
   
   Acode(12) = &HB9
   i = LongToByte(nB, Acode(), i + 3)

   Call CallWindowProc(ByVal VarPtr(Acode(0)), 0&, 0&, 0&, 0&)
End Sub

'by BlackZeroX
Private Function LongToByte(ByVal lLong As Long, ByRef bReturn() As Byte, Optional i As Integer = 0) As Long
   bReturn(i) = lLong And &HFF
   bReturn(i + 1) = (lLong And &HFF00&) \ &H100
   bReturn(i + 2) = (lLong And &HFF0000) \ &H10000
   bReturn(i + 3) = (lLong And &HFF000000) \ &H1000000
   LongToByte = i + 4
End Function
' By RHL no quitar texto


en vb los caracteres estan en unicode osea dos bytes por caracteres

#110
Hola! :D
bueno frustrado sabiendo que en 32bits no se pueden usar las interrupciones del dos :P
como puedo sustituir tales funciones, sin usar APIs claro :P
funciones comunes del dos como escribir caracteres, leer , copiar archivo, eliminar , etc algun otro centro de recursos donde se
pueda sustituir :P
#111
ASM / Diferencia entre small y flat
8 Diciembre 2011, 05:55 AM
eso! :D
cual es la diferencia, no e encontrado mucho que se diga :P
aparte que ahora fue un dia frustrante, no sabia que con el modelo Small no podia hacer simplemente eso:

.data
var BYTE 10h
.code
mov eax,var ; error

encambio con el flat si!
y que a saber otras cosas que no se :P mejor quisiera estudiar los modelos :P y que se puede y que no se puede en cada uno o
como funcionan tambien e visto que hay otros :P

otra cosa :P
porque algunos programas se declaran de esa forma osea con .model ...
y e visto que otros son asi:

STACK SEGMENT STACK  , DATA SEGMENT   .... y asi :P
creo que hay otras dos formas :P porque hay varias :P
#112
Hola! :D
bueno quien ah probado y recomienda que sea un excelente traductor me basta que sea
ingles > español
español > ingles
ruso > español

o por lo menos ingles > español solamente :P pero que tenga buena traduccion si conoceis un programa que use el motor del
traductor de google ya que para mi es el mejor, hace una traduccion casi perfecta para mi gusto pero sin conectarse a internet
por favor decidmelo lo necesito ya que me quedare un buen tiempo sin
internet T_T y me apoyo mucho en el traductor :P no puedo ingles tanto :P
#113
ASM / DUDA Acerca de STDCALL
7 Diciembre 2011, 10:02 AM
Hola! :D
Bueno e buscado un poco por ahi y solo encontre que esa instruccion se usa para "limpiar" las llamadas a las apis :P
osea que al usar una api la misma llamada mete los parametros a la pila...
no se si es cierto :P igual queria saber porque se escribe, para que sirve y eso :P
tambien  me e fijado que si no la escribo nopuedo ni ensamblar nada :/ ni un hola mundo ni nada :P
por cierto como hago para meter yo mismo los parametros a la pila y que no lo haga la propia llamda a la pila osea que no sea automatico...
#114
Ingeniería Inversa / Instrucciones malas :P
7 Diciembre 2011, 03:03 AM
Hola! :D
tengo un problemas :/
tengo un programa hecho por mi en VB y a la hora de desemsamblarlo me muestra eso:



y no me deja pasar de la instruccion :/
la verdad el programa se cuelga al final por una sentencia que e escrito y lo quiero depurar para eso mismo!
para saber que "pasa" lo raro es que esas instrucciones son despues de que salta a la libreria, osea despues de esta instruccion:

CALL <JMP.&MSVBVM60.#100>
#115
Programación C/C++ / De quien deriva C++?
6 Diciembre 2011, 22:44 PM
hola! :D
me hice esa pregunta...
de quien deriva el lenguaje C/C++ ? pues porque pensando si fuera de ASM... como es que un programa de C++ es
portable y se puede ejecutar en cualquier computadora... y ASM se programa para un tipo de microprocesador...
¿?
#116
Hola! :D
bueno quisiera saber que me podrian recomendar hardware, PC de escritorio claro que puede soportar ser
usaba y/o tiene la capacidad solamente para programar y que necesito instalarle programas como tipo VS,SDK completa, maquina
virtual, y cracking, hacking :P Y QUE PUEDA PASAR 19 HORAS SEGUIDAS POR DIA y claro que dure :xD ya que mi pequeña laptop la e usado para todo eso, y cosas personales...

recomendacion de pc, hardware para esas especificaciones , gracias :)
#117
Hola! :D
bueno tengo esa duda :P
E aprendido sobre Cain y detecta conexiones de wifi/router :P
pero mi duda es algun programa que detecte la conexion de modem usb, de los que ahora en dia son portatiles que solo
se conectan a la PC e instalan un programa y tienen internet?
#118
ASM / DUDA con MOVSX
2 Diciembre 2011, 07:38 AM
Hola! :D
tengo un problema no se pero tengo estas intrucciones:
los xor's solo para aclarar los registros...

   xor ebx,ebx
   mov bl,7bh
   xor ecx,ecx
   movsx cx,bl

MOVSX se supone que rellena con 1's asi hacer un numero con signo
pero el valor de CX queda: 0000 007B a nivel de 32 bits :/ porque?
no se supondria que deberia quedar FFFF FF7B ? o al menos solo el CX como 0000 FF7B ?
#119
:D
hola!
bueno no se si esto va aqui :P pero lo aprendi de aqui del foro de ing inversa :P
bueno lo que quiero saber como puedo saber que registro esta asociado a los opcodes de las intrucciones
ya que me e fijado que el opcode de las instrucciones:

INC EAX
INC EBX
INC ECX
INC EDX

todas son distintos opcodes pero como puedo saber el orden o determinar el opcode con verlo?
y tambien para las demas instrucciones?
#120
ASM / Ensamblar con MASM codigo DOS
30 Noviembre 2011, 22:28 PM
Hola!
tengo esa duda e estado viendo que codigos que usan las interrupciones del DOS no me estan ensamblando :P
no creo que fuese por el codigo :P yo creo que como me dijo hace poco Eternal Idol MASM ensambla a 32 bits...
entonces no es posible usar las interrupciones del DOS que son de 16 bits y ensambladar con MASM?

e escuchado del MASM de 16 bits pero mi duda es... entonces si en el codigo hago operaciones de 32 bits
y quiero usar usar interrupciones... ?

tambien no es posible usar interrupciones del DOS y usar digamos APIs?

o tambien interrupciones de la BIOS combinado con interrupciones del DOS en 32 bits?
#121
Hacking Wireless / Duda sobre Wifiway
29 Noviembre 2011, 05:32 AM
hola buenas
tengo una duda sobre wifiway e buscado como crackear una wifi y me a costado porque tengo
una tarjeta intel wifi link 5100 AGN entonces e leido que esa tarjeta no es compatible con los
comunes backtrack,aircrack... estoy correcto no :P
y estoy correcto que con wifiway si puedo no? :P
bueno me si es asi en la paginal oficial me e fijado de la nueva version 2.0.3 queria preguntar si la
podia descargar o pueda que tenga problemas para despues usarla, ya que me e fijado que usan la 1.0 :P
gracias :)
#122
en este tuto creado por mi :) enseñare a como insertar un archivo manifest para que un programa hecho en vb se ejecute con privilegios
de administrador y este metodo no solo lo podemos ocupar para tal cosa, tambien sirve para que nuestras
aplicaciones tengan "estilo XP" eso quiere decir que lo botones, barras, demas controles, seran al estilo del
windows que tengamos. solo necesitais la herramienta llamada "mt.exe" incluida en las herramientas SDK,
notepad.exe y vb.
Respecto a la herramienta que inserta el manifest (mt.exe) a nuestras aplicaciones pueden descargarla la SDK
aqui:  http://www.microsoft.com/download/en/details.aspx?displaylang=en&id=6510
si lo quieren el archivo Mt.exe lo e subido aqui: http://www.mediafire.com/?qw2f5w0xrr4d2fq
descargando solo este archivo necesitaran al menos uno de estos requisitos:
1)
► Visual Studio 2005 o posteriores

2)
► Microsoft Office 2003 o posteiores
► Visual Studio Team System


bien veamos el archivo manifest base que nos da microsoft para poder modificarlo para
nuestras aplicaciones:

<?xml version="1.0" encoding="UTF-8" standalone="yes"?>
<assembly xmlns="urn:schemas-microsoft-com:asm.v1" manifestVersion="1.0">
  <assemblyIdentity version="1.0.0.0"
     processorArchitecture="X86"
     name="NAME"
     type="win32"/>
  <description>Ejemplo Obtener Privilegios</description>
  <!-- Identify the application security requirements. -->
  <trustInfo xmlns="urn:schemas-microsoft-com:asm.v2">
    <security>
      <requestedPrivileges>
        <requestedExecutionLevel
          level="PRIVILEGE"
          uiAccess="false"/>
        </requestedPrivileges>
       </security>
  </trustInfo>
</assembly>


Bien como ven e marcado con azul en lo que debemos fijarnos y con rojo que es lo que generalmente se
tiene que modificar...

Name: nombre correcto del proyecto

Description ( optional ): podemos agregar una descripcion aunque es opcional para editor de recursos de este
tipo ahi es donde podemos visualizar la descripcion tambien...

Level: es el nivel de privilegio que queremos darle a nuestra aplicacion, ya que hay distintos niveles
de seguridad que una aplicacion puede obtener seria importante leer un poco aqui un dreve que e hecho:


"asInvoker": La aplicacion se ejecuta con los privilegios de hereda el proceso padre... osea del usuario o del proceso que lo ejecuto

"highestAvailable": La aplicacion se ejecuta con los privilegios de la cuenta de usuario...

"requiereAdministrator": el privilegio mas alto, la aplicacion se ejecuta como administrador...

lo demas por lo general no se modifica para apliaciones de VB :P estoy estudiando sobre el comportamiento de los
manifest para apliaciones hechas en C++ con 64 bits y es otro rollo..
bueno para mas informacion esta la MSDN

modificado el archivo manifest lo guardamos con este formato de nombre: NOMBRE.exe.manifest
el NOMBRE debe de tener el mismo nombre que el ejecutable yo por ejemplo tomare por defecto proyecto1:
Proyecto1.exe.manifest

para que no ocurran errores durante el ensamblaje es mejor que el archivo Mt.exe lo copien como en un directorio donde no
requiere de privilegios ya que aparte que facilita con las direcciones de ejecutable, el manifest, y el archivo Mt.exe requiere de
privilegios para que todo salga correcto. yo por ejemplo el escritorio, yo tomare encuenta que lo tienen ahi...
bien ahora abrimos el DOS nos vamos a la ruta del escritorio... en donde deben de estar los tres archivos ( mt.exe, proyecto1.exe, proyecto1.exe.manifest )

el comando para ensamblar es el siguiente:
mt.exe -manifest proyecto1.exe.manifest -outputresource:proyecto1.exe;#1

el comando anterior esta exactamente para insertar el manifest con los archivos que tome de ejemplo, solo deben de cambiar
los nombre de los archivos.
luego del proceso el ejecutable como podrais ver:


duda comentar, saludos :)
#123
ASM / Duda, Valores usando EQU
27 Noviembre 2011, 08:41 AM
Hola:D
bueno continuando un poco lento con el libro de asm que leo y e llegado a esta parte:

matrix1 EQU 10 * 10
matrix2 EQU <10 * 10>
.data
M1 WORD matrix1
M2 WORD matrix2


Ahí dice que Matrix1 osea al final M1 es una matriz de 10*10 y e visto con olly que en la memoria se supondria que tuviera
que haber 100 espacios de memoria :P pero solo hay esto:
64 00 64 00

y tambien aparte que la M2 se supone que es una cadena pero como veis en la memoria no hay nada de cadenas :/
o quiza no e entendido esa parte :P
gracias
#124
Hola!:D
estoy leyendo a profundidad el tema y me dice que el espacio de direcciones de un proceso
es de 4GB!? como es posible esa cantidad ? o es el limite que tiene un proceso?
tambien continua diciendo que por lo tanto, el código dentro de un proceso puede referirse a las direcciones:
&H0000 0000 a &HFFFF FFFF (or 0 through 232-1 = 4,294,967,295 in decimal) no entiendo eso :P

de donde calcula esas direcciones? :P
#125
Hola!:D
bueno estoy estudiando algo a profundidad acerca de la arquitectura de la memoria en WINDOWS
e leido acerca de la memoria virtual y la memoria fisica, paginaciones, tambien archivos de mapeo...
bueno me cuesta un poco aprenderme esto al 100% ya que los libros que estoy leyendo estan
en ingles  :-\
bueno pero tengo mis conceptos y quisiera saber si son correctos y una que otra duda :P
ya que no me gusta nada quedarme con este tipo de conceptos que nose al final si son correctos o no :P

bueno primero quisiera saber si estoy en lo correcto entre la memoria fisica y la memoria virtual...
la memoria virtual es bastante pero solo es utilizada la misma cantidad de la que hay de memoria fisica...?

respecto al mapeo de archivos e leido que se crean para respaldar a la memoria virtual... no entiendo muy
bien eso...

solamente gracias ;D
#126
Programación C/C++ / [SRC] STACK for C++
25 Noviembre 2011, 02:51 AM
Hola :D
este es mi primer code hecho en C++ :3
me base en una pregunta que se hizo hace poco en el foro y me dio ganas de hacer el codigo, mi humilde codigo
es una simulacion de como trabaja la pila en asm :3 mi codigo soporta desplazamientos de punteros, en asm seria
de los registros ESP, EBP, para que apunten a diferentes lugares de la pila tambien tiene el registro EBP.
tambien pido a los grandes en c++ consejos, recomendaciones, todo lo que sea para poder mejorar ;D

Código (cpp) [Seleccionar]
// .MODEL 386,486,586 xD
// .STACK 100h // Size Segment STACK
class ClsSTACK
{
public:
ClsSTACK():ClsESP(&SegSTACK[0]),ClsEBP(0) {} // Inicialize Value
void ClsPUSH(int Reg); // Instruction PUSH Operator
int ClsPOP(); // Instruction POP Operator
int SegSTACK[0x100]; // Segment STACK
int* ClsESP; // STACK POINTER
int* ClsEBP; // BASE POINTER
};

void ClsSTACK::ClsPUSH(int Reg)
{
*ClsESP = Reg;
ClsESP++;
}

int ClsSTACK::ClsPOP()
{
return *ClsESP--;
}

// .DATA
// ValS DWORD 0
// .CODE
// inicio:
// MOV EDX,@DATA
// MOV DS,EDX
int main()
{
ClsSTACK MSTACK; //Make STACK
int ValS = 0;

MSTACK.ClsPUSH(0x10);
MSTACK.ClsPUSH(0x0);
MSTACK.ClsPUSH(0x0);
MSTACK.ClsPUSH(0x10);
MSTACK.ClsPUSH(0x100);
MSTACK.ClsPUSH(0x200);
MSTACK.ClsESP--; // ADD ESP,04h
ValS = MSTACK.ClsPOP(); // POP EAX
// MOV DS:ValS,EAX ; ValS = 100h
// Test BASE POINTER
MSTACK.ClsEBP = MSTACK.ClsESP;        // MOV EBP,ESP
MSTACK.ClsEBP = MSTACK.ClsEBP-4; // ADD EBP,8h
ValS = *MSTACK.ClsEBP; // MOV EAX,EBP
ValS = MSTACK.ClsPOP(); // POP EAX ; Not Change

return 0;
// end inicio
}


;D
#127
ASM / Diferencia entre DIrectivas y tipos de datos
24 Noviembre 2011, 01:16 AM
Buenas :D
tengo una duda que no me ah dejado dormir :xD
cual es la diferencia entre esto:

DATO1 DW 300h

y

DATO2 DWORD 300h

me e fijado que los dos variables DATO1 y DATO2 se pueden modificar :P
yo crei al principio de una era una constante pero no
y hasta ahora me e fijado que se comportan de la misma manera pero por algo es que son distintos no
cual es la diferencia asi tambien para las demas directivas y las demas tipos

#128
[Tutorial] Configurar RadAsm + MASM|FASM|NASM|TASM

Buenas mundo :)
A estas altas horas de la madrugada me e decidido hacer un tuto para configurar el RadAsm para
ensamblar con MASM32 un pequeño ejemplo, no con MASM hay que tener bien claro eso, MASM no es lo mismo
que MASM32! muchos lo confunden :P
asi que aqui esta:

primero lo necesario es RadAsm y el ensamblador preferido, el mio es MASM.
paginas Oficiales:

RadAsm:
http://www.oby.ro/rad_asm/

tambien hay que descargar el
paquete de ensambladores de RadAsm ( IMPORTANTE ):
http://www.oby.ro/rad_asm/RadASM2000/Assembly.zip

;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;

MASM32:
http://www.masm32.com/masmdl.htm

FASM:
http://flatassembler.net/

NASM:
http://www.nasm.us/

TASM:
http://www.phatcode.net/downloads.php?id=280

bien una vez teniendo el ensamblador que queremos usar, yo uso el MASM32, lo instalamos en la raiz...
la instalacion no muestra nada, ella sola hace todo automatico y muestra el proceso en una
ventana del DOS..
Luego Descomprimimos el RadAsm en la Raiz tambien...



Luego el paquete de ensambladores que es el archivo Assembly.rar lo descomprimimos en la carpeta del RadAsm y reemplazamos todo los archivos...



bien Ahora ejecutamos el RadAsm.exe...
nos vamos a Options>Programming Languajes
nos aparecera un cuadrito...



aqui es donde debemos seleccionar los archivos .Ini de los ensambladores...



para que al inciar un proyecto aparezcan en una dichoso ListBox para poder escojer de todos :) asi es super comodo
y no estar con el DOS haciendo masm file.asm y con el linker Link file.obj
sino que de nuevo sola vez hacer click y ya listo ensamblado y linkeado ;D
bien cada vez que agregemos un archivo .ini presionamos en "add" al agregar los ensambladores preferidos queria algo asi:



bien ahora cerramos RadAsm para que al volver a iniciar carge la configuracion... ;D
File>New Project:



Elegimos el ensamblador que querramos usar...
Cada uno trae sus propias opciones... yo usare el MASM...

como podran ver se puede configurar hasta un depurador... que por defecto es OllyDbg
para mi, el mejor ;D solo deben se escribir la ruta del olly para que se abra automaticamente
cuando necesiten a querido Olly :3

bien un ejemplo para ver que funciona todo :xD un simple Hola mundo
32bits los archivos .INC es como que agregemos las lineas
#include <Windows.h> en C++, osea es donde estan las funciones que usaremos ;) :

Código (asm) [Seleccionar]

; Para 80386, modo plano

.386
.model flat,stdcall
option casemap:none

include \masm32\include\windows.inc
include \masm32\include\user32.inc
include \masm32\include\kernel32.inc

includelib \masm32\lib\user32.lib
includelib \masm32\lib\kernel32.lib

.data
Titulo db ">:)",0
Msj db "Very Good! By RHL ;)",10,13

.code
inicio:
invoke MessageBox,0,addr Msj,addr Titulo,0
invoke ExitProcess,NULL
end inicio


no hace falta explicar el codigo es tan sencillo como hacer un hola mundo en vb o C++ :xD


cualquier duda preguntar ;D
#129
hola! tengo una duda sobre unas instrucciones que e visto creo que en todos
los programas de 16 bits :P son estas:

data segment
    pDATA db "DATA...DATA"
ends

...

    mov ax, data
    mov ds, ax
    mov es, ax


yo quisiera saber que se hace exactamente :P y porque tambien tengo duda de porque se hace eso :P
bueno lo que yo entiendo es que se pasa el contenido de "data" osea las variables y todo al registro ax.
pero si en "data" estuvieran muchas variables, constantes, etc no cupieran en AX :P
lo que e pensado es que quiza solo se pasa la direccion :P  bueno se supone que "data" es el segmento de datos no?
y porque luego ese contenido en AX se pasa al segmento de datos? no se supone que ya los datos estaban
en el segmento ?

mil gracias ;D

#130
hola!
tengo problemas con las direcciones de la pila y el contenido tambien  :-\
nose en que estoy fallando estoy haciendo unas pruebas para comprender
la pila tengo esto:
16 bits:

Código (asm) [Seleccionar]
   push 33h
   push 0h
   push 0h
   push 0h
   push 0h
   mov ax,ss:sp+8h


el push lo hago para despues obtener la direccion del valor 33h sumandole un desplazamiento al SP
cada push pesa 2bytes no? :P y quiero pasar el contenido ( 33h ) a AX :/
en que fallo ? :P


e intentado asi:

mov ax,[ss:sp+8h]

mov ax,[sp+8h]

pero tampoco :/
#131
ASM / Todas las interrupciones del DOS
17 Noviembre 2011, 06:10 AM
excelente pagina me gusta creo que estan todas las interrupciones del dos aqui ;D

http://www.ctyme.com/intr/int.htm
#132
Buenas xD
quiza sea algo tonto lo que pido :) porque eso es muy dificil :P
pero todas estas semanas me e dedicado a estudiar y estudiar asm, c++, vb :P
y en vb siento ya la necesidad de pasar a otro nivel aunque me faltan otros dos libros que leer en vb pero seria como especializar algo que quiero  :P
y en cuanto a c++ y asm, en c++ ya casi termino el libro ya se todas las cosas basicas, clases, herencia , W32 Apis, etc. ya puedo leer codigos mas o menos :). en asm estoy medio empezando sé todos los conceptos basicos registros, direccionamiento, pila, punteros, instrucciones ( algunas no de memoria  :P ) etc :P
bueno digo eso porque creo que es fundamental :)
y como en toda la red e encontrado muy poca info sobre asm inline, solo en psc, codigos de Karcrack, Cobein, BlackZeroX y toda esa poca info avanzada como para empezar a entenderla :P
bueno no se mas que nada pido si alguien tiene un poco de tiempo y enseñar un poco
sobre esa tecnica, adonde empezar , referencia :P ya que a mi si me gustaria aprender :)
gracias
#133
Seguridad / AYUDA urgente! infectado xP
15 Noviembre 2011, 07:49 AM
hola a todos
bueno rapidamente pido ayuda!  :-\
creo que estoy infectado miren hice unas todas creo y estoy seguro que eso no es normal no?

en esta me ah abierto todas esas conexiones y como 10 mas que no se pueden mostrar por el largo de la pantalla
CREO que es nuevo



esta conexion ( la marcada ) me esta constantemente incrementando :P


la vdd no se mucho de redes y esto :P
y tambien algo sospechoso es que queria abrir el regedit y el msconfig y me salia el cuadrito de notificacion
SINO mal recuerdo sale firmado que es de microsoft! y ahora me sale desconocido!

por favor urgente gracias!


tambien el chrome me abre bastante conexiones!!!


y creo que por eso mismo el AV tambien!!!

#134
Foro Libre / Mirad este video xD
10 Noviembre 2011, 09:05 AM
 ;-)

[youtube=525,450]http://www.youtube.com/watch?v=RS3iB47nQ6E[/youtube]



Orgia entre canjuros :xD



Fuente:
http://cuantodanio.blogspot.com/
#135
Hola mundo ;D
bueno e me cruzado con un problemon que tengo horas tratando de saber que pasa :P
miren el codigo alguien sabe que pasaaaa!?

Código (VB) [Seleccionar]

Private declare sub RtlMoveMemory lib "Kernel32.dll" (byval dest as long , Byval Src as long, Byval ln as long)

private type MY
Str1 as string
Str2 as string
end type

sub main()
dim NEW(50) as byte
dim M as MY

M.Str1 = "ABCD"
M.Str2 = "EFGH"

rtlmovememory varptr(new(0)), varptr(M) , lenb(M)

end sub



los valores del array son:
116,153,61,5

y lo que realmente me esperaba era:
65,66,67,68 :P


luego hice esto:

Código (VB) [Seleccionar]
dim A() as byte

A = M.Str1 '// la misma estructura


y tambien esto, y me resulto mas extraño O.o

Código (VB) [Seleccionar]
Private Sub Form_Load()
Dim M As MY

M.A = 50000: M.B = 4000
M.C = "HELLO"


Debug.Print Len(M.A) 4
Debug.Print Len(M.B) 2
Debug.Print Len(M.C) 5
Debug.Print "------"  11

Debug.Print LenB(M.A) 4
Debug.Print LenB(M.B) 2
Debug.Print LenB(M.C) 10
Debug.Print "------" ' 16

Debug.Print Len(M) 10
Debug.Print LenB(M) 12!!!

End Sub




alguien sabe que pasa ? mas que todo lo que quiero es aprender ;D y saber que pasa :P aunque me imagino
que es VB  :-\ que tristesa  :-\