|
504
|
Programación / ASM / [SRC] cInstr
|
en: 20 Mayo 2009, 02:31 am
|
include 'win32ax.inc' .code start: stdcall cInstr,"98y4ct2y3Hola83925832c","Hola" .if eax = FALSE invoke MessageBox,0,"No esta.",0,0 .else invoke MessageBox,0,eax,0,0 .endif invoke ExitProcess,0 ;//////////////////////////////////////////////////////////////////////////////////////////////////// ;//Descripción: Funcion que ve si la segunda cadena se encuentra dentro de la primera // ;//c1 = Cadena // ;//c2 = Cadena que se buscara en c1 // ;// Retorna: // ;// Si no se encuentra o hay error retorna FALSE , en el caso de que se encuentre devuelve eax// ;// apuntandoa la posicion de c1 donde se encontro c2 // ;// by YST // ;//////////////////////////////////////////////////////////////////////////////////////////// proc cInstr,c1,c2 push edi esi ebx ecx edx stdcall Len,[c2] mov edi,eax stdcall Len,[c1] mov esi,eax cmp edi,esi jg .Falso mov edx,[c1] mov ebx,[c2] dec edx inc esi .bucle: dec esi inc edx mov cl,byte[edx+edi] mov byte[edx+edi],0 stdcall comparar,edx,[c2] mov byte[edx+edi],cl .if eax = 0 mov eax,edx jmp .salir .endif cmp esi,0 jne .bucle .Falso: mov eax,FALSE .salir: pop edx ecx ebx esi edi ret endp proc comparar ,SRC,DST ;Funcion que compara push edi ecx esi mov ecx,-1 mov edi,[SRC] mov al,0 repnz scasb mov eax,ecx not eax mov ecx,eax mov esi,[SRC] mov edi,[DST] repz cmpsb mov eax,1 jnz Next dec eax Next: pop esi ecx edi ret endp proc Len,cCadena ;Funcion que mide la cadena push ecx edi mov ecx,-1 mov edi,[cCadena] mov al,0 repnz scasb mov eax,ecx not eax dec eax pop edi ecx ret endp .end start
|
|
|
505
|
Programación / ASM / Re: [ayuda]con un codigo asm,
|
en: 19 Mayo 2009, 20:18 pm
|
muchas gracias a los dos por responder, si era el problema de la estructura, el unico problema que tengo ahora es, que no termina el proceso, pero eso debe ser un error de logica (me perdi entre tantos saltos ). De eso me encargo yo. saludos y de nuevo gracias El codigo que yo te pase me termina perfectamente los procesos , aswegurate de escribirlo bien con mayusculas y todo.
|
|
|
506
|
Foros Generales / Sugerencias y dudas sobre el Foro / Re: Un subforo de ASM.
|
en: 19 Mayo 2009, 19:10 pm
|
Ya que la petición es de un subforo en ASM format ELF executable entry bucle section readable executable bucle: mov eax,4 mov ebx,1 mov ecx,Mensaje mov edx,Peso int 0x80 jmp bucle section readable writeable Mensaje db 'Queremos un subforo de ASM',10 Peso = $-Mensaje
org 100h mov ecx,-1 .bucle: mov ah,09h mov dx,Mensaje int 21h loop .bucle Mensaje db 'Queremos un subforo de ASM',10,'$'
include 'win32ax.inc' .data Mensaje db 'Queremos un subforo de ASM',0 .code start: invoke MessageBox,0,Mensaje,0,0 jmp start .end start
|
|
|
508
|
Programación / ASM / [SRC] Encriptacion YST
|
en: 19 Mayo 2009, 02:58 am
|
Hola , hice un pequeño enredo para cifrar ,digo enredo por que de criptografia yo no tengo idea,lo dejo proc YSTEncript,cCadena,cBuffer,cTamaño push eax ebx ecx edx esi mov ebx,[cBuffer] mov esi,[cCadena] dec esi dec ebx .Eb: dec [cTamaño] inc esi inc ebx mov cl,byte[esi] add cl,3 mov byte[ebx],cl not byte[ebx] xor byte[ebx],45 mov edx,[cTamaño] xor byte[ebx],dl cmp [cTamaño],0 jne .Eb pop esi edx ecx ebx eax ret endp proc YSTDesencript,cCadena,cBuffer,cTamaño push eax ebx ecx edx esi mov ebx,[cBuffer] mov esi,[cCadena] dec esi dec ebx .Eb: dec [cTamaño] inc esi inc ebx mov cl,byte[esi] mov byte[ebx],cl mov edx,[cTamaño] xor byte[ebx],dl not byte[ebx] xor byte[ebx],45 sub byte[ebx],3 cmp [cTamaño],0 jne .Eb pop esi edx ecx ebx eax ret endp
|
|
|
509
|
Programación / ASM / SRCs de YST.
|
en: 19 Mayo 2009, 00:57 am
|
No se si a alguien le sirva pero igual la dejo ;Descripcion: Esta función funciona igual que la winapi RtlMoveMemory ; by YST proc cRtlMoveMemory,cBuffer,Cpuntero,cCantidad push esi edi xchg edi,[cBuffer] xchg esi,[Cpuntero] .bucleb: dec [cCantidad] movsb cmp [cCantidad],0 jge .bucleb pop edi esi ret endp
|
|
|
|
|
|
|