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

#1
Programación Visual Basic / Código QR
22 Abril 2018, 16:41 PM
amigos quiero hacer  un programita para codificar y decodificar códigos QR. He visto dlls y cosas por ahí, pero casi ninguna permite decodificar, o sea leer.
Sin embargo he encontrado esta información, y pese a que parece que debería funcionar, pues no lo hace.

Tal vez algún experto de los que andan por aquí sabría  decir por qué no funciona ? y dónde  está el error.

http://coding4ever.net/blog/2012/06/01/menggunakan-library-net-di-vb-6/

aquí está el proyecto que compartió... http://www.4shared.com/file/PCRQSJzV/QRCode.html

gracias por adelantando
#2
Hola amigos.

Estoy intentando hacer una modificación en un programa, que hace una llamada a la api 'Stretchblt', entonces antes de producirse la llamada he introducido un salto incondicional a una parte vacía al final del código para insertar allí mi asm :P
Evidentemente algo estoy haciendo mal ya que cuando ejecuto el programa, este revienta, también ejecutando paso a paso con el ollydbg no me pasa de una linea.

Mirad el código:



0048D773   .  52            PUSH EDX
0048D774   .  50            PUSH EAX
0048D775   .  E9 CD220200   JMP 004AFA47
0048D77A   .  FF15 90038700 CALL NEAR DWORD PTR DS:[<&GDI32.StretchBlt>]   \GDI32.StretchBlt

ahí podéis ver el salto incondicional, en su lugar estaba el comando Push EAX.


004AFA46   .  00            DB 00
004AFA47   >  50            PUSH EAX
004AFA48   .  A0 46FA4A00   MOV AL,BYTE PTR DS:[4AFA46]
004AFA4D   .  FEC0          INC AL
004AFA4F   .  3C 03         CMP AL,3
004AFA51   .  74 1C         JE SHORT 004AFA6F
004AFA53   .  3C 04         CMP AL,4
004AFA55   .  74 18         JE SHORT 004AFA6F
004AFA57   .  3C 05         CMP AL,5
004AFA59   .  74 14         JE SHORT 004AFA6F
004AFA5B   .  3C 06         CMP AL,6
004AFA5D   .  74 10         JE SHORT 004AFA6F
004AFA5F   .  A2 46FA4A00   MOV BYTE PTR DS:[4AFA46],AL
004AFA64   .  58            POP EAX
004AFA65   .  6A 00         PUSH 0
004AFA67   .  6A 00         PUSH 0
004AFA69   >  51            PUSH ECX
004AFA6A   .^ E9 F6DCFDFF   JMP 0048D765
004AFA6F   >  A2 46FA4A00   MOV BYTE PTR DS:[4AFA46],AL
004AFA74   .  58            POP EAX
004AFA75   .  68 80000000   PUSH 80
004AFA7A   .  68 80000000   PUSH 80
004AFA7F   .^ EB E8         JMP SHORT 004AFA69



Pues bien, cuando intento guardar mi contador con MOV BYTE PTR DS:[4AFA46],AL
pues el ollydbg no pasa de esa linea. Evidentemente entiendo muy poco de asm, y no sé que es lo que me está faltando.

ayuda y gracias.
#3
Hola amigos.

tengo un problema muy extraño usando la api WriteProcessMemory
Resulta que en mi programa uso esa api un montón de veces sin problema  de ningún tipo, pero ahora por alguna extraña razón y con un offset determinado lee pero no escribe.

Declare Function WriteProcessSingle Lib "kernel32" Alias "WriteProcessMemory" (ByVal hProcess As Long, ByVal lpBaseAddress As Any,
ByRef lpBuffer As Single, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Boolean

   dim datos as single
   ret = ReadProcessMemory(handle, offset, datos, 4, written)
   datos = datos * 2 / 0,0025683
   ret = WriteProcessMemorySingle(handle, offset, datos, 4, written)
   Debug.Print ret, written



resutado del debug: false, 0 No ha escrito los datos.
No entiendo el por qué de este problema.

comentaros que he intentado usar el getlasterror de esta manera:


   buffer = Space(200)
   Debug.Print FormatMessage(FORMAT_MESSAGE_FROM_SYSTEM, 0&, GetLastError, SUBLANG_DEFAULT, buffer, 200, 0&)


y el resultado ha sido '.46', no sé si sería posible obtener algún string respecto a ese lasterror.....

Deciros que el handle es correcto, etc etc. Si he cometido un error pues estoy ciego y no lo veo. No obstante el proceso lo he abierto de esta forma:


       CreateProcess vbNullString, app.path & "\test.exe " & Command & commandline, _
           ByVal 0&, ByVal 0&, 1&, CREATE_SUSPENDED, ByVal 0&, revolt, sInfo, pInfo


también comentarios que he intentado abrir el proceso de esta forma, con el mismo resultado de no poder escribir en ese offset:


OpenProcess(PROCESS_ALL_ACCESS, False, pid)


Ayuda !
#4
Programación Visual Basic / SHA3 en vb6 ?
10 Agosto 2014, 22:01 PM
Alguien tiene código para calcular hash con SHA3 en vb6 ?

gracias
#5
imaginad que ejecutamos un comando en una ventana dos. Por ejemplo 'powercfg /list'

existe alguna manera programáticamente de saber que el comando se ha terminado de ejecutar ? O sea, que el sistema ha terminado de ejecutar dicho comando.

He intentado waiforsingleoject sin éxito.
#6
Existe alguna forma de ejecutar un exe desde byteArray pero sin pasarle el código al un exe físico ejecutado previamente ?

o sea, me estoy refiriendo a crear el proceso en su totalidad sin usar uno previamente ejecutado.
#7
Me pregunto si alguien conoce de la existencia de alguna colección de clases para uso general, como puede ser por ejemplo el típico manejo del registro de windows, etc.

Estaría bien contar con semejante recurso.
#8
Hola

he leído por ahí que vb no proporciona herencia debido a que sus clases se basan en un modelo de interfaces y no de objetos. Sin embargo también he encontrado muchos ejemplos por ahí de como se 'simula' la herencia con vb.

por ejemplo:

http://vexpert.mvps.org/articles/SimHer.htm
http://www.elguille.info/VB/clases/herencia.htm

Mi pregunta es, por qué le llaman simular herencia cuando en realidad se consigue la citada herencia en los códigos que se muestran allí ?

A ver si alguien que controle de esto puede arrojar algo más de información acerca de estos detalles.

saludos
#9
alguien sabe como podemos hacer las operaciones de bitshift que equivalen al asm de SAL y SAR ?

gracias
#10
Programación Visual Basic / ASM con vb6
1 Marzo 2012, 16:26 PM
sabéis si es posible usar código asm desde vb6 tal y como se hace desde C  ?
tenéis algún buen ejemplo, a ser posible sencillo de comprender ?

gracias
#11
he leído muchos artículos acerca de esto, y aún no me ha quedado claro. Por lo visto el vb6 no puede llamar a la api 'creathread' sin devolver un error, y por lo visto el vb5 si que podía hacerlo.

Alguno tenéis un buen ejemplo de creación de threads y como usarlos ?

saludos