elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: Entrar al Canal Oficial Telegram de elhacker.net


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación General
| | |-+  [Pauscal] Funciones indocumentada de MSVBVM60
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: [Pauscal] Funciones indocumentada de MSVBVM60  (Leído 1,395 veces)
Yuki

Desconectado Desconectado

Mensajes: 80


El error es una muestra de la incompetencia.


Ver Perfil WWW
[Pauscal] Funciones indocumentada de MSVBVM60
« en: 1 Diciembre 2015, 20:36 pm »

Buenas, les traigo una serie de funciones indocumentadas de MSVBVM60 que logre reversear (creo que así se dice, o crackear, no se...) con OllyDbg, PeExplorer, programación y muchisima depuración.

El código esta escrito en Pauscal.

Hasta ahora logre obtener 51 funciones, algunas ya son conocidas... otras son nuevas.
Obviamente las documente lo mejor que pude, espero que las disfruten.

Código
  1. ' Programador: Yuki
  2. ' Formato de cadenas: Unicode
  3. ' Estado de funciones: Indocumentadas
  4. ' Cantidad de funciones declaradas: 51
  5. ' MSBVM60 esta disponible en las versiones mas actuales de Windows.
  6.  
  7. Prototipo pDllFunctionCall(Referencia CallData:DllCallData):Entero
  8.  
  9. Privado:
  10.        Proc LoadLibrary(Referencia lpLibFileName:Cadena):Entero,"Kernel32" "LoadLibraryA"
  11.        Proc GetProcAddress(hModule:Entero,Referencia lpProcName:Cadena):Entero,"Kernel32" "GetProcAddress"
  12. Público:
  13.  
  14. Estruc DllCallData,_
  15.       Libreria,_                    ' El nombre de la Dll.
  16.       Función:Cadena,_       ' El nombre del procedimiento.
  17.       Unknown1:Entero,_        ' Desconocido.
  18.       Unknown2:Entero          ' Dirección de una variable de almacenamiento.
  19.  
  20. ' #======================= Misceláneos ========================
  21. ' ======================== INFORMACIÓN ========================
  22. ' Descripción: Verifica si una cadena esta vacia.
  23. ' Parametros:   #1 - Cadena a verificar (EN FORMATO UNICODE).
  24. ' Devuelve: Verdad si la cadena esta vacia, falso si no es así.
  25. ' ====================== FIN INFORMACIÓN ======================
  26. Proc IsEmpty(Referencia Parametro1:Cadena):Booleano, "MSVBVM60" "rtcIsEmpty"
  27.  
  28. ' ======================== INFORMACIÓN ========================
  29. ' Descripción: Verifica si una cadena es nulo.
  30. ' Parametros:   #1 - Cadena a verificar (EN FORMATO UNICODE).
  31. ' Devuelve: Verdad si la cadenas contiene valor nulo, falso si no es así.
  32. ' ====================== FIN INFORMACIÓN ======================
  33. Proc IsNull(Referencia Parametro1:Cadena):Booleano, "MSVBVM60" "rtcIsNull"
  34.  
  35. ' ======================== INFORMACIÓN ========================
  36. ' Descripción: Verifica si el parametro establecido es un arreglo.
  37. ' Parametros:   #1 - Puntero al dato a verificar.
  38. ' Devuelve: Verdad si es un puntero a un arreglo, falso si no es así.
  39. ' ====================== FIN INFORMACIÓN ======================
  40. Proc IsArray(Parametro1:Entero):Booleano, "MSVBVM60" "rtcIsArray"
  41.  
  42. ' ======================== INFORMACIÓN ========================
  43. ' Descripción: Verifica si una cadena es de tipo numerica.
  44. ' Parametros:   #1 - Cadena a verificar (EN FORMATO UNICODE).
  45. ' Devuelve: Verdad si la cadena es numerica, falso si no es así.
  46. ' ====================== FIN INFORMACIÓN ======================
  47. Proc IsNumeric(Referencia Parametro1:Cadena):Booleano, "MSVBVM60" "rtcIsNumeric"
  48.  
  49. ' ======================== INFORMACIÓN ========================
  50. ' Descripción: Obtiene el tipo del parametro establecido.
  51. ' Parametros:   #1 - Puntero al dato a obtener tipo.
  52. ' Devuelve: Tipo de dato que establecimos.
  53. ' ====================== FIN INFORMACIÓN ======================
  54. Proc VarType(Parametro1:Entero):Entero, "MSVBVM60" "rtcVarType"
  55.  
  56. ' ======================== INFORMACIÓN ========================
  57. ' Descripción: Verifica si el primer parametro es un objeto.
  58. ' Parametros:   #1 - Puntero a analizar.
  59. ' Devuelve: Verdad si el parametro es un objeto, falso si no es así.
  60. ' ====================== FIN INFORMACIÓN ======================
  61. Proc IsObject(Parametro1:Entero):Booleano, "MSVBVM60" "rtcIsObject"
  62.  
  63. ' ======================== INFORMACIÓN ========================
  64. ' Descripción: Procesa los eventos pendientes.
  65. ' Parametros: Ninguno.
  66. ' Devuelve: La cantidad de formularios disponibles.
  67. ' ====================== FIN INFORMACIÓN ======================
  68. Proc DoEvents:Entero, "MSVBVM60" "rtcDoEvents"
  69.  
  70. ' ======================== INFORMACIÓN ========================
  71. ' Descripción: Emite un sonido por el altavoz del equipo.
  72. ' Parametros: Ninguno.
  73. ' Devuelve: Nada.
  74. ' ====================== FIN INFORMACIÓN ======================
  75. Proc vbBeep, "MSVBVM60" "rtcBeep"
  76.  
  77. ' ======================== INFORMACIÓN ========================
  78. ' Descripción: Crea una carpeta.
  79. ' Parametros:   #1 - Ruta de la carpeta a crear (EN FORMATO UNICODE).
  80. ' Devuelve: Nada.
  81. ' ====================== FIN INFORMACIÓN ======================
  82. Proc MkDir(Referencia Parametro1:Cadena), "MSVBVM60" "rtcMakeDir"
  83.  
  84. ' ======================== INFORMACIÓN ========================
  85. ' Descripción: Elimina una carpeta.
  86. ' Parametros:   #1 - Ruta de la carpeta a eliminar (EN FORMATO UNICODE).
  87. ' Devuelve: Nada.
  88. ' ====================== FIN INFORMACIÓN ======================
  89. Proc RmDir(Referencia Parametro1:Cadena), "MSVBVM60" "rtcRemoveDir"
  90.  
  91. ' ======================== INFORMACIÓN ========================
  92. ' Descripción: ???
  93. ' Parametros: Ninguno.
  94. ' Devuelve: ???
  95. ' ====================== FIN INFORMACIÓN ======================
  96. Proc LocaleID:Entero, "MSVBVM60" "rtcGetHostLCID"
  97.  
  98. ' ======================== Memoria ========================
  99. ' ======================== INFORMACIÓN ========================
  100. ' Descripción: Lee/Obtiene un Byte (1 bytes) de una dirección en memoria.
  101. ' Parametros:   #1 - Dirección en memoria del dato a obtener 1 byte.
  102. '               #2 - Variable de tipo Byte que recibirá el byte copiado.
  103. ' Devuelve: Nada.
  104. ' ====================== FIN INFORMACIÓN ======================
  105. Proc GetByte(Dirección:Entero,Referencia Retorno:Byte), "MSVBVM60" "GetMem1"
  106.  
  107. ' ======================== INFORMACIÓN ========================
  108. ' Descripción: Lee/Obtiene un WordSig (2 bytes) de una dirección en memoria.
  109. ' Parametros:   #1 - Dirección en memoria del dato a obtener 1 WordSig (2 bytes).
  110. '               #2 - Variable de tipo WordSig que recibirá los 2 bytes copiados.
  111. ' Devuelve: Nada.
  112. ' ====================== FIN INFORMACIÓN ======================
  113. Proc GetWord(Dirección:Entero,Referencia Retorno:WordSig), "MSVBVM60" "GetMem2"
  114.  
  115. ' ======================== INFORMACIÓN ========================
  116. ' Descripción: Lee/Obtiene un EnteroSig (4 bytes) de una dirección en memoria.
  117. ' Parametros:   #1 - Dirección en memoria del dato a obtener 1 Entero (4 bytes).
  118. '               #2 - Variable de tipo Entero que recibirá los 4 bytes copiados.
  119. ' Devuelve: Nada.
  120. ' ====================== FIN INFORMACIÓN ======================
  121. Proc GetDWord(Dirección:Entero,Referencia Retorno:EnteroSig), "MSVBVM60" "GetMem3"
  122.  
  123. ' ======================== INFORMACIÓN ========================
  124. ' Descripción: Lee/Obtiene un Decimal (8 bytes) de una dirección en memoria.
  125. ' Parametros:   #1 - Dirección en memoria del dato a obtener 1 Decimal (8 bytes).
  126. '               #2 - Variable de tipo Decimal que recibirá los 8 bytes copiados.
  127. ' Devuelve: Nada.
  128. ' ====================== FIN INFORMACIÓN ======================
  129. Proc GetQWord(Dirección:Entero,Referencia Retorno:Decimal), "MSVBVM60" "GetMem4"
  130.  
  131. ' ======================== INFORMACIÓN ========================
  132. ' Descripción: Escribe un Byte (1 bytes) en un dato.
  133. ' Parametros:   #1 - Dirección en memoria del dato a escribir 1 Byte (1 bytes).
  134. '               #2 - Valor de tipo Byte a escribir.
  135. ' Devuelve: Nada.
  136. ' ====================== FIN INFORMACIÓN ======================
  137. Proc PutByte(Destino:Entero,Valor:Byte), "MSVBVM60" "PutMem1"
  138.  
  139. ' ======================== INFORMACIÓN ========================
  140. ' Descripción: Escribe un WordSig (2 bytes) en un dato.
  141. ' Parametros:   #1 - Dirección en memoria del dato a escribir 1 WordSig (2 bytes).
  142. '               #2 - Valor de tipo WordSig a escribir.
  143. ' Devuelve: Nada.
  144. ' ====================== FIN INFORMACIÓN ======================
  145. Proc PutWord(Destino:Entero,Valor:WordSig), "MSVBVM60" "PutMem2"
  146.  
  147. ' ======================== INFORMACIÓN ========================
  148. ' Descripción: Escribe un EnteroSig (4 bytes) en un dato.
  149. ' Parametros:   #1 - Dirección en memoria del dato a escribir 1 EnteroSig (4 bytes).
  150. '               #2 - Valor de tipo EnteroSig a escribir.
  151. ' Devuelve: Nada.
  152. ' ====================== FIN INFORMACIÓN ======================
  153. Proc PutDWord(Destino:Entero,Valor:EnteroSig), "MSVBVM60" "PutMem3"
  154.  
  155. ' ======================== INFORMACIÓN ========================
  156. ' Descripción: Escribe un Decimal (8 bytes) en un dato.
  157. ' Parametros:   #1 - Dirección en memoria del dato a escribir 1 Decimal (8 bytes).
  158. '               #2 - Valor de tipo Decimal a escribir.
  159. ' Devuelve: Nada.
  160. ' ====================== FIN INFORMACIÓN ======================
  161. Proc PutQWord(Destino:Entero,Valor:Decimal), "MSVBVM60" "PutMem4"
  162.  
  163. ' ======================== INFORMACIÓN ========================
  164. ' Descripción: Copia los datos de una dirección en memoria a otra.
  165. ' Parametros:   #1 - Longitud de bytes a copiar.
  166. '               #2 - Dirección del destino de los datos a copiar.
  167. '               #3 - Dirección de la fuente de los datos a copiar.
  168. ' Devuelve: Nada.
  169. ' Detelles: Vease API CopyMemory.
  170. ' ====================== FIN INFORMACIÓN ======================
  171. Proc CopyBytes(Tamaño,Destino,Fuente:Entero), "MSVBVM60" "__vbaCopyBytes"
  172.  
  173. ' ======================== INFORMACIÓN ========================
  174. ' Descripción: Carga en memoria una libreria.
  175. ' Parametros:   #1 - Nombre o dirección de la DLL a cargar en memoria (EN FORMATO ANSI).
  176. ' Devuelve: Modulo de la DLL cargada.
  177. ' Detelles: Vease API LoadLibrary.
  178. ' ====================== FIN INFORMACIÓN ======================
  179. Proc LibraryLoad(Referencia Libreria:Cadena):Entero, "MSVBVM60" "EbLibraryLoad"
  180.  
  181. ' ======================== INFORMACIÓN ========================
  182. ' Descripción: Descarga en memoria una libreria.
  183. ' Parametros:   #1 - Puntero al modulo devuelto por LibraryLoad/LoadLibrary.
  184. ' Devuelve: Nada
  185. ' Detelles: Vease API FreeLibrary.
  186. ' ====================== FIN INFORMACIÓN ======================
  187. Proc LibraryUnload(vbLibLoadPtr:Entero), "MSVBVM60" "EbLibraryUnload"
  188.  
  189. ' ======================== INFORMACIÓN ========================
  190. ' Descripción: Obtiene la dirección en memoria de una cadena.
  191. ' Parametros:   #1 - Cadena a obtener puntero (ASCII o UNICODE).
  192. ' Devuelve: Dirección en memoria de la cadena establecida.
  193. ' Detelles: Esta API crea una copia del parametro que es establecido.
  194. ' ====================== FIN INFORMACIÓN ======================
  195. Proc StrPtr(Str:Cadena):Entero, "MSVBVM60" "VarPtr"
  196.  
  197. ' ======================== Colores ========================
  198. ' ======================== INFORMACIÓN ========================
  199. ' Descripción: Obtiene el valor entero de una combinación RGB/RVA.
  200. ' Parametros:   #1 - Valor del color Rojo (0 - 255).
  201. '               #2 - Valor del color Verde (0 - 255).
  202. '               #3 - Valor del color Azul (0 - 255).
  203. ' Devuelve: Valor entero que representa el color RGB.
  204. ' ====================== FIN INFORMACIÓN ======================
  205. Proc vbRGB(R,G,B:Byte):Entero, "MSVBVM60" "rtcRgb"
  206.  
  207. ' ======================== Conversión de datos. ========================
  208. ' ======================== INFORMACIÓN ========================
  209. ' Descripción: Convierte un valor de tipo WordSig (2 bytes) a cadena.
  210. ' Parametros:   #1 - Valor de tipo WordSig a convertir.
  211. ' Devuelve: Cadena del parametro establecido (EN FORMATO UNICODE).
  212. ' ====================== FIN INFORMACIÓN ======================
  213. Proc vbaStrI2(Number:WordSig):Cadena,"MSVBVM60" "__vbaStrI2"
  214.  
  215. ' ======================== INFORMACIÓN ========================
  216. ' Descripción: Convierte un valor de tipo EnteroSig (4 bytes) a cadena.
  217. ' Parametros:   #1 - Valor de tipo Entero a convertir.
  218. ' Devuelve: Cadena del parametro establecido (EN FORMATO UNICODE).
  219. ' ====================== FIN INFORMACIÓN ======================
  220. Proc vbaStrI4(Number:EnteroSig):Cadena,"MSVBVM60" "__vbaStrI4"
  221.  
  222. ' ======================== INFORMACIÓN ========================
  223. ' Descripción: Convierte un valor de tipo Decimal (8 bytes) a cadena.
  224. ' Parametros:   #1 - Valor de tipo Decimal a convertir.
  225. ' Devuelve: Cadena del parametro establecido (EN FORMATO UNICODE).
  226. ' ====================== FIN INFORMACIÓN ======================
  227. Proc vbaStrCy(Number:Decimal):Cadena,"MSVBVM60" "__vbaStrCy"
  228.  
  229. ' ======================== INFORMACIÓN ========================
  230. ' Descripción: Convierte un valor de tipo Real (8 bytes) a cadena.
  231. ' Parametros:   #1 - Valor de tipo Real a convertir.
  232. ' Devuelve: Cadena del parametro establecido (EN FORMATO UNICODE).
  233. ' ====================== FIN INFORMACIÓN ======================
  234. Proc vbaStrR8(Number:Real):Cadena,"MSVBVM60" "__vbaStrR8"
  235.  
  236. ' ======================== INFORMACIÓN ========================
  237. ' Descripción: Convierte un valor de tipo Byte (1 bytes) a cadena.
  238. ' Parametros:   #1 - Valor de tipo Byte a convertir.
  239. ' Devuelve: Cadena del parametro establecido (EN FORMATO UNICODE).
  240. ' ====================== FIN INFORMACIÓN ======================
  241. Proc vbaStrUI1(Number:Byte):Cadena,"MSVBVM60" "__vbaStrUI1"
  242.  
  243. ' ======================== INFORMACIÓN ========================
  244. ' Descripción: Convierte una cadena a WordSig (2 bytes).
  245. ' Parametros:   #1 - Cadena de numerica que se procesará (EN FORMATO UNICODE).
  246. ' Devuelve: Parametro de cadena convertido a WordSig.
  247. ' ====================== FIN INFORMACIÓN ======================
  248. Proc vbaI2Str(Referencia Number:Cadena):WordSig,"MSVBVM60" "__vbaI2Str"
  249.  
  250. ' ======================== INFORMACIÓN ========================
  251. ' Descripción: Convierte una cadena a EnteroSig (4 bytes).
  252. ' Parametros:   #1 - Cadena de numerica que se procesará (EN FORMATO UNICODE).
  253. ' Devuelve: Parametro de cadena convertido a EnteroSig.
  254. ' ====================== FIN INFORMACIÓN ======================
  255. Proc vbaI4Str(Referencia Number:Cadena):EnteroSig,"MSVBVM60" "__vbaI4Str"
  256.  
  257. ' ======================== INFORMACIÓN ========================
  258. ' Descripción: Convierte una cadena a Decimal (8 bytes).
  259. ' Parametros:   #1 - Cadena de numerica que se procesará (EN FORMATO UNICODE).
  260. ' Devuelve: Parametro de cadena convertido a Decimal.
  261. ' ====================== FIN INFORMACIÓN ======================
  262. Proc vbaCyStr(Referencia Number:Cadena):Decimal,"MSVBVM60" "__vbaCyStr"
  263.  
  264. ' ======================== INFORMACIÓN ========================
  265. ' Descripción: Convierte una cadena a Real (8 bytes).
  266. ' Parametros:   #1 - Cadena de numerica que se procesará (EN FORMATO UNICODE).
  267. ' Devuelve: Parametro de cadena convertido a Real.
  268. ' ====================== FIN INFORMACIÓN ======================
  269. Proc vbaR8Str(Referencia Number:Cadena):Real,"MSVBVM60" "__vbaR8Str"
  270.  
  271. ' ======================== INFORMACIÓN ========================
  272. ' Descripción: Convierte una cadena a Byte (1 bytes).
  273. ' Parametros:   #1 - Cadena de numerica que se procesará (EN FORMATO UNICODE).
  274. ' Devuelve: Parametro de cadena convertido a Byte.
  275. ' ====================== FIN INFORMACIÓN ======================
  276. Proc vbaUI1Str(Referencia Number:Cadena):Byte,"MSVBVM60" "__vbaUI1Str"
  277.  
  278. ' ======================== INFORMACIÓN ========================
  279. ' Descripción: Convierte una cadena UNICODE a ANSI.
  280. ' Parametros:   #1 - Puntero a variable de tipo entero que recibira el puntero a la cadena convertida.
  281. '               #2 - Cadena de caracteres que se a de convertir a ANSI (EN FORMATO UNICODE).
  282. ' Devuelve: Nada.
  283. ' ====================== FIN INFORMACIÓN ======================
  284. Proc StrToAnsi(Retorno:Entero,Referencia Palabra:Cadena), "MSVBVM60" "__vbaStrToAnsi"
  285.  
  286. ' ======================== INFORMACIÓN ========================
  287. ' Descripción: Convierte una cadena ANSI a UNICODE.
  288. ' Parametros:   #1 - Puntero a variable de tipo entero que recibira el puntero a la cadena convertida.
  289. '               #2 - Cadena de caracteres que se a de convertir a UNICODE (EN FORMATO ANSI).
  290. ' Devuelve: Nada.
  291. ' ====================== FIN INFORMACIÓN ======================
  292. Proc StrToUnicode(Retorno:Entero,Referencia Palabra:Cadena), "MSVBVM60" "__vbaStrToUnicode"
  293.  
  294. ' ======================== Cadenas ========================
  295. ' ======================== INFORMACIÓN ========================
  296. ' Descripción: Crea una cadena de Nulos con el tamaño establecido.
  297. ' Parametros:   #1 - Longitud de la cadena que devolvera la función.
  298. ' Devuelve: Cadena de longitud establecida (EN FORMATO UNICODE).
  299. ' ====================== FIN INFORMACIÓN ======================
  300. Proc Space(Longeur:Entero):Cadena,"MSVBVM60" "rtcSpaceBstr"
  301.  
  302. ' ======================== INFORMACIÓN ========================
  303. ' Descripción: Invierte una cadena.
  304. ' Parametros:   #1 - Cadena que se invertira (EN FORMATO UNICODE).
  305. ' Devuelve: Cadena invertida (EN FORMATO UNICODE).
  306. ' ====================== FIN INFORMACIÓN ======================
  307. Proc StrReverse(sStr:Cadena):Cadena,"MSVBVM60" "rtcStrReverse"
  308.  
  309. ' ======================== INFORMACIÓN ========================
  310. ' Descripción: Obtiene el caracter ANSI de un valor.
  311. ' Parametros:   #1 - Valor a obtener caracter.
  312. ' Devuelve: Caracter del valor establecido (EN FORMATO UNICODE).
  313. ' ====================== FIN INFORMACIÓN ======================
  314. Proc Chr(bChr:Byte):Cadena,"MSVBVM60" "rtcBstrFromAnsi"
  315.  
  316. ' ======================== INFORMACIÓN ========================
  317. ' Descripción: Obtiene caracteres del lado izquierdo de una cadena.
  318. ' Parametros:   #1 - Cadena a extraer caracteres (EN FORMATO UNICODE).
  319. '               #2 - Longitud a obtener.
  320. ' Devuelve: Cadena de caracteres extaida (EN FORMATO UNICODE).
  321. ' ====================== FIN INFORMACIÓN ======================
  322. Proc Left(Referencia sStr:Cadena,iLen:Entero):Cadena,"MSVBVM60" "rtcLeftCharBstr"
  323.  
  324. ' ======================== INFORMACIÓN ========================
  325. ' Descripción: Obtiene caracteres del lado derecho de una cadena.
  326. ' Parametros:   #1 - Cadena a extraer caracteres (EN FORMATO UNICODE).
  327. '               #2 - Longitud a obtener.
  328. ' Devuelve: Cadena de caracteres extaida (EN FORMATO UNICODE).
  329. ' ====================== FIN INFORMACIÓN ======================
  330. Proc Right(Referencia sStr:Cadena,iLen:Entero):Cadena,"MSVBVM60" "rtcRightCharBstr"
  331.  
  332. ' ======================== INFORMACIÓN ========================
  333. ' Descripción: Elimina todos los espaciós del lado izquierdo y derecho de la cadena establecida.
  334. ' Parametros:   #1 - Cadena a eliminar espacios.
  335. ' Devuelve: Cadena establecida sin espacios (EN FORMATO UNICODE).
  336. ' ====================== FIN INFORMACIÓN ======================
  337. Proc Trim(Referencia ItemPtr:Cadena):Cadena,"MSVBVM60" "rtcTrimBstr"
  338.  
  339. ' ======================== INFORMACIÓN ========================
  340. ' Descripción: Elimina todos los espaciós del lado izquierdo de la cadena establecida.
  341. ' Parametros:   #1 - Cadena a eliminar espacios.
  342. ' Devuelve: Cadena establecida sin espacios (EN FORMATO UNICODE).
  343. ' ====================== FIN INFORMACIÓN ======================
  344. Proc LTrim(Referencia ItemPtr:Cadena):Cadena,"MSVBVM60" "rtcLeftTrimBstr"
  345.  
  346. ' ======================== INFORMACIÓN ========================
  347. ' Descripción: Elimina todos los espaciós del lado derechi de la cadena establecida.
  348. ' Parametros:   #1 - Cadena a eliminar espacios.
  349. ' Devuelve: Cadena establecida sin espacios (EN FORMATO UNICODE).
  350. ' ====================== FIN INFORMACIÓN ======================
  351. Proc RTrim(Referencia ItemPtr:Cadena):Cadena,"MSVBVM60" "rtcRightTrimBstr"
  352.  
  353. ' ======================== INFORMACIÓN ========================
  354. ' Descripción: Obtiene la longitud de una cadena.
  355. ' Parametros:   #1 - Texto a obtener longitud (EN FORMATO UNICODE).
  356. ' Devuelve: Longitud de la cadena establecido.
  357. ' ====================== FIN INFORMACIÓN ======================
  358. Proc Len(Referencia Expresion:Cadena):Entero, "MSVBVM60" "__vbaLenBstr"
  359.  
  360. ' ======================== Archivos ========================
  361. ' Descripción: Obtiene el tamaño de un archivo.
  362. ' Parametros:   #1 - Ruta del archivo a obtener tamaño (en formato UNICODE).
  363. ' Devuelve: Tamaño del archivo.
  364. ' ====================== FIN INFORMACIÓN ======================
  365. Proc FileLen(Referencia Parametro1:Cadena):Entero, "MSVBVM60" "rtcFileLen"
  366.  
  367. ' ======================== Matematicas ========================
  368. ' ======================== INFORMACIÓN ========================
  369. ' Descripción: Obtiene la tangente de un valor real.
  370. ' Parametros:   #1 - Valor de tipo real a obtener tangente.
  371. ' Devuelve: Tangente del valor establecido.
  372. ' ====================== FIN INFORMACIÓN ======================
  373. Proc vbTan(Parametro1:Real):Real, "MSVBVM60" "rtcTan"
  374.  
  375. ' ======================== INFORMACIÓN ========================
  376. ' Descripción: Obtiene el exponente de un valor real.
  377. ' Parametros:   #1 - Valor de tipo real a obtener exponente.
  378. ' Devuelve: Exponente del valor establecido.
  379. ' ====================== FIN INFORMACIÓN ======================
  380. Proc vbExp(Parametro1:Real):Real, "MSVBVM60" "rtcExp"
  381.  
  382. ' ======================== Otros ========================
  383. ' ======================== INFORMACIÓN ========================
  384. ' Descripción: Destruye una matriz.
  385. ' Parametros:   #1 - Reservado, debe ser cero.
  386. '               #2 - Puntero a la matriz a borrar.
  387. ' Detalles: Esta función no redimenciona la matriz, pero vuelve esta in-utilizable.
  388. ' Devuelve: Nada.
  389. ' ====================== FIN INFORMACIÓN ======================
  390. Proc ArrayDestruct(Reservado,PtrMatriz:Entero), "MSVBVM60" "__vbaAryDestruct"
  391.  
  392. ' ======================== INFORMACIÓN ========================
  393. ' Descripción: Destruye una matriz.
  394. ' Parametros:   #1 - Reservado, debe ser cero.
  395. '               #2 - Puntero a la matriz a borrar.
  396. ' Devuelve: Nada.
  397. ' Detalles: Esta función no redimenciona la matriz, pero vuelve esta in-utilizable.
  398. ' ====================== FIN INFORMACIÓN ======================
  399. Proc Erase(Reservado,PtrMatriz:Entero), "MSVBVM60" "__vbaErase"
  400.  
  401. ' ======================== INFORMACIÓN ========================
  402. ' Descripción: Carga dinamicamente un procedimiento de una libreria en memoria.
  403. ' Parametros:   #1 - Estructura DllCallData con los datos requeridos.
  404. ' Devuelve: Si la función tiene exito, el procedimiento devuelve la dirección del procedimiento
  405. ' establecido en "Parametro1.Procedure" miembro.
  406. ' Si la función falla, retorna 0.
  407. ' Detalles: Utilize AdmErr para controlar el error de acceso a memoria.
  408. ' ====================== FIN INFORMACIÓN ======================
  409. Proc DllFunctionCall(Referencia CallData:DllCallData):Entero
  410.        Var Ptr,PtrProc:Entero,Call:pDllFunctionCall
  411.        Ptr = LoadLibrary("MSVBVM60")
  412.        Si Ptr = 0 Entonces GenerarError &C4855647
  413.        PtrProc = GetProcAddress(Ptr,"DllFunctionCall")
  414.        Si PtrProc = 0 Entonces GenerarError &C0D2DECF
  415.        Call@ = PtrProc
  416.        AdmErr
  417.                Resultado = Call(CallData)
  418.        Controlar
  419.                ' Si se produce un error, no hacer nada.
  420.        FinAdmErr
  421. FinProc
También me gustaria, si conocen alguna función indocumentada de MSVBVM60 la comenten en este post.

Si tienen alguna duda sobre (casi) cualquiera de estas funciones, por favor no duden en preguntar.

Saludos!


En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

Mensajes similares
Asunto Iniciado por Respuestas Vistas Último mensaje
msvbvm60 y dll, ocx
Programación Visual Basic
irra_b 8 2,664 Último mensaje 11 Octubre 2005, 19:40 pm
por {_The_Alwar_}
Programas en VB6 sin msvbvm60.dll
Programación Visual Basic
trojanX 3 1,500 Último mensaje 30 Septiembre 2007, 23:07 pm
por Tengu
[VB6] Alternativa funciones del VB6 [MSVBVM60 - API]
Programación Visual Basic
STARZ 3 6,429 Último mensaje 21 Junio 2012, 16:56 pm
por STARZ
Opcodes,informacion Indocumentada
ASM
x64core 6 3,053 Último mensaje 17 Julio 2013, 04:55 am
por x64core
Funcion indocumentada RtlAdjustPrivilege
Windows
marax 5 1,441 Último mensaje 31 Julio 2020, 15:57 pm
por Randomize
WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines