|
31
|
Programación / Programación Visual Basic / mAPIScramble - Cifra la declaracion de tus APIs :)
|
en: 20 Octubre 2010, 22:59 pm
|
Es una optimizacion de este codigo: http://foro.elhacker.net/programacion_vb/newmapiobfuscation_ofuscar_strings_de_las_apis_no_callapibyname-t265942.0.html '--------------------------------------------------------------------------------------- ' Module : mAPIScramble ' Author : Karcrack ' Now : 20/10/2010 22:52 ' Purpose : Obfuscate API Declaration in VB6 ' History : 20/10/2010 First cut ......................................................... '--------------------------------------------------------------------------------------- Option Explicit 'KERNEL32 Private Declare Function WriteProcessMemory Lib "KERNEL32" (ByVal hProcess As Long, ByRef lpBaseAddress As Any, ByRef lpBuffer As Any, ByVal nSize As Long, ByRef lpNumberOfBytesWritten As Long) As Long Public Function UnScrambleAPI(ByVal sLibName As String, ByVal sFuncName As String) As Boolean Dim pBaseAddress As Long Dim pVB5 As Long Dim pProjectInfo As Long Dim pExtTable As Long Dim pLibraryName As Long Dim pFunctionName As Long Dim iExtCount As Long Dim iIndex As Long 'Do NOT run it on the IDE If App.LogMode = 0 Then Debug.Assert (0 = 1): Exit Function pBaseAddress = App.hInstance pVB5 = ReadDWORD(pBaseAddress + ReadDWORD(pBaseAddress + ReadDWORD(pBaseAddress + &H3C) + &H28) + 1) pProjectInfo = ReadDWORD(pVB5 + &H30) pExtTable = ReadDWORD(pProjectInfo + &H234) iExtCount = ReadDWORD(pProjectInfo + &H238) For iIndex = 0 To iExtCount - 1 If ReadDWORD(pExtTable) <> 6 Then pLibraryName = ReadDWORD(ReadDWORD(pExtTable + &H4) + &H0) pFunctionName = ReadDWORD(ReadDWORD(pExtTable + &H4) + &H4) If (pLibraryName <> 0) And (pFunctionName <> 0) Then If ReadString(pLibraryName) = sLibName Then If ReadString(pFunctionName) = sFuncName Then Call WriteString(pLibraryName, Decrypt(sLibName)) Call WriteString(pFunctionName, Decrypt(sFuncName)) UnScrambleAPI = True End If End If End If End If pExtTable = pExtTable + 8 Next iIndex End Function Private Function ReadDWORD(ByVal lPtr As Long) As Long Call WriteProcessMemory(-1, ReadDWORD, ByVal lPtr&, &H4, ByVal 0&) End Function Private Sub WriteDWORD(ByVal lPtr As Long, ByVal lLng As Long) Call WriteProcessMemory(-1, ByVal lPtr&, lLng, &H4, ByVal 0&) End Sub Private Function ReadString(ByVal lPtr As Long) As String Dim i As Long Dim b As Byte Do Call WriteProcessMemory(-1, b, ByVal lPtr& + i, &H1, ByVal 0&) If b = 0 Then Exit Do ReadString = ReadString & Chr$(b) i = i + 1 Loop End Function Private Sub WriteString(ByVal lPtr As Long, ByVal sStr As String) Dim bvStr() As Byte bvStr = StrConv(sStr, vbFromUnicode) Call WriteProcessMemory(-1, ByVal lPtr, bvStr(0), UBound(bvStr) + 1, ByVal 0&) End Sub Private Function Decrypt(ByVal sData As String) As String Dim i As Long For i = 1 To Len(sData) Decrypt = Decrypt & Chr$(Asc(Mid$(sData, i, 1)) - 1) Next i End Function
Ejemplo:http://www.box.net/shared/sr8rky5tku Agradecimientos a BlackZeroX, que puso las estructuras que me ayudaron a acabar este code Saludos
|
|
|
32
|
Seguridad Informática / Nivel Web / Buenos habitos para hacer queries SQL?
|
en: 26 Septiembre 2010, 21:50 pm
|
Iba a poner este tema en la sección de PHP, pero creo que aqui sabreis informarme mejor Antes que nada, decir que voy a iniciar de aqui poco un pequeño proyecto y en el hay partes PHP que trabajan con bases de datos.. Mi pregunta es simple: Cuales son los buenos habitos a la hora de acceder a la base de datos desde PHP? Para evitar inyecciones y tal... Muchas gracias
|
|
|
33
|
Programación / Programación Visual Basic / [NTDLL] SystemProcessesAndThreadsInformation
|
en: 3 Septiembre 2010, 18:30 pm
|
'--------------------------------------------------------------------------------------- ' Module : mProcessInformation ' Author : Karcrack ' Now : 26/08/2010 15:00 ' Purpose : Native Process Enumeration ' History : 26/08/2010 First cut ......................................................... '--------------------------------------------------------------------------------------- Option Explicit Option Base 0 Public Type PROCESS sName As String lPID As Long End Type 'NTDLL Private Declare Function NtQuerySystemInformation Lib "NTDLL" (ByVal SystemInformationClass As Long, ByRef SystemInformation As Any, ByVal SystemInformationLength As Long, ByRef ReturnLength As Long) As Long Private Declare Sub RtlMoveMemory Lib "NTDLL" (ByRef Destination As Any, ByRef Source As Any, ByVal Length As Long) Private Const SystemProcessesAndThreadsInformation As Long = 5& Private Const STATUS_INFO_LENGTH_MISMATCH As Long = &HC0000004 Public Function RetrieveProcesses() As PROCESS() Dim bvSPI(17) As Long 'As SYSTEM_PROCESS_INFORMATION Dim bvTmp() As PROCESS Dim bvBuffer() As Byte Dim cbBuffer As Long Dim lRet As Long Dim lPos As Long Dim lSize As Long ReDim bvTmp(0) cbBuffer = 1 Do cbBuffer = cbBuffer * 2 ReDim bvBuffer(cbBuffer) lRet = NtQuerySystemInformation(SystemProcessesAndThreadsInformation, bvBuffer(0), cbBuffer, lSize) Loop While lRet = STATUS_INFO_LENGTH_MISMATCH If lRet < 0 Then Exit Function lPos = VarPtr(bvBuffer(0)) Do Call RtlMoveMemory(bvSPI(0), ByVal lPos, 18 * 4) With bvTmp(UBound(bvTmp)) .lPID = bvSPI(17) .sName = ReadUStr(bvSPI(15)) End With lPos = lPos + bvSPI(0) If bvSPI(0) = 0 Then Exit Do ReDim Preserve bvTmp(UBound(bvTmp) + 1) Loop RetrieveProcesses = bvTmp Erase bvBuffer End Function Private Function ReadUStr(ByVal lPtr As Long) As String Dim i As Long Dim uChar As Integer If Not lPtr > 0 Then Exit Function i = lPtr Do Call RtlMoveMemory(uChar, ByVal i, &H2) If uChar = 0 Then Exit Do ReadUStr = ReadUStr & ChrW$(uChar) i = i + 2 Loop End Function
http://www.advancevb.com.ar/?p=589 Saludos
|
|
|
34
|
Programación / Programación Visual Basic / [SNIPPET] IsPCode()?
|
en: 3 Septiembre 2010, 18:01 pm
|
Bueno, tenia la necesidad de hacer esa comprobacion... asi que lo comparto, de esta forma el codigo no se desperdiciara en un proyecto a medias Option Explicit 'MSVBVM60 Private Declare Sub GetMem1 Lib "MSVBVM60" (ByVal lpSource As Any, ByRef Destination As Any) Private Sub DumbSub(): End Sub Public Function IsPCode() As Boolean Dim bTmp As Byte Call GetMem1(AddressOf DumbSub, bTmp) IsPCode = (bTmp <> &HC3) End Function
Como promete el titulo de la funcion comprueba si hemos sido compilados como P-Code o bien como Native Code Saludos
|
|
|
35
|
Programación / Programación Visual Basic / [RETO] Entero a cadena
|
en: 30 Agosto 2010, 22:23 pm
|
No os parece que ha pasado muchisimo desde el ultimo reto? Pues este es bien simple... la forma mas rapida de pasar de numero a cadena... Ej: Por asi decirlo es un reemplazo a Str()Ha de recibir Long y devolver String. Ha de aceptar numeros negativos. Venga, a codear!
|
|
|
36
|
Programación / Programación C/C++ / Problema con la compilacion...
|
en: 29 Agosto 2010, 21:25 pm
|
Pues bueno, estaba intentando agregar el ntdkk.h del WDK... Me da los siguientes errores: ------ Operación Volver a generar todo iniciada: proyecto: STUB_kTweet, configuración: Release Win32 ------ Eliminando archivos intermedios y de resultados para el proyecto 'STUB_kTweet', configuración 'Release|Win32' Compilando... main.cpp c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2144: error de sintaxis : '_EXCEPTION_RECORD' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(60) : error C2448: '_except_handler' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(61) : error C2144: error de sintaxis : 'void' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(62) : error C2144: error de sintaxis : '_CONTEXT' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(63) : error C2144: error de sintaxis : 'void' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\excpt.h(64) : error C2059: error de sintaxis : ')' C:\WinDDK\7600.16385.1\inc\api\windef.h(49) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(51) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(53) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(157) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(158) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(159) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(160) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(161) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(164) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(165) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(167) : error C2143: error de sintaxis : falta ';' delante de '*' C:\WinDDK\7600.16385.1\inc\api\windef.h(168) : error C2143: error de sintaxis : falta ';' delante de '*' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2448: '_isctype' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(94) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2448: '_isctype_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(95) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(96) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(96) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(96) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(96) : error C2448: 'isalpha' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(96) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2448: '_isalpha_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(97) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(98) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(98) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(98) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(98) : error C2448: 'isupper' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(98) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2448: '_isupper_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(99) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(100) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(100) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(100) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(100) : error C2448: 'islower' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(100) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2448: '_islower_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(101) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(102) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(102) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(102) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(102) : error C2448: 'isdigit' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(102) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2448: '_isdigit_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(103) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(104) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(104) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(104) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(104) : error C2448: 'isxdigit' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(104) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2448: '_isxdigit_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(105) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(106) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(106) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(106) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(106) : error C2448: 'isspace' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(106) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2448: '_isspace_l' : el inicializador de estilo de función parece ser una definición de función c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2146: error de sintaxis : falta ';' delante del identificador '_locale_t' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(107) : error C2059: error de sintaxis : ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(108) : error C2144: error de sintaxis : 'int' debe estar precedido de ';' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(108) : error C2065: '_In_' : identificador no declarado c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(108) : error C2144: error de sintaxis : 'int' debe estar precedido de ')' c:\Archivos de programa\Microsoft Visual Studio 9.0\VC\include\ctype.h(108) : fatal error C1003: el recuento de errores supera 100; se detiene la compilación El registro de compilación se guardó en el "file://c:\Documents and Settings\Administrador\Escritorio\kTweet\STUB\STUB_kTweet\Release\BuildLog.htm" STUB_kTweet - 102 errores, 0 advertencias ========== Volver a generar todo: 0 correctos, 1 incorrectos, 0 omitidos ==========
Segun he leido el problema se debe a que algunas declaraciones estan duplicadas o que se yo... Gracias por adelantado
|
|
|
37
|
Programación / Programación Visual Basic / [CURIOSIDAD] Cosas magicas xD
|
en: 29 Agosto 2010, 12:38 pm
|
*Por lo visto SDC estuvo jugando con las etiquetas CODE asi que mirar el codigo aqui:http://karcrack.pastebin.com/ZB6euDbC Que resultado crees que mostarara el MsgBox? Copiad y ejecutad Respuesta:1ºMsgBox -> &HFFFFFAC7 2ºMsgBox -> &H1337 Otra curiosidad: http://karcrack.pastebin.com/371zNDm8 Que creis que devolvera? 250? Copiad y ejecutad Respuesta:125 Otra mas: Que creis que devolvera? 0? Copiad y ejecutad Respuesta:125 NOTA: Todas estas gilipoyeces no ocurren si tienes puesto Option Explicit
|
|
|
38
|
Programación / Programación Visual Basic / [TIP][BITS] Comprobar si es multiple de potencia de dos...
|
en: 26 Agosto 2010, 23:29 pm
|
Como se que a algunos os interesa el tema de los bits voy a compartir este pequeño tip (consejo) que no tiene ningun misterio Se trata de como comprobar utilizando operaciones con bits si un numero es multiple de una potencia de dos... Una potencia de dos es cualquier numero que se haya obtenido de esta expresion: 2 x, siendo x un numero entero positivo... (Ej, 2,4,8,16,32...) Es tan simple como aplicar esta regla: n = 2^x ' Potencia de dos es_mutiple = (i And (n-1) = 0)
Para que lo entendais voy a poner un par de ejemplos: Es 1992 multiple de 8? 1992 decimal = 0111 1100 1000 en binario n = 8 --> n - 1 = 7 --> 7 decimal = 111 en binario
0111 1100 1000 AND 111 ______________ 0000 0000 0000 Es 12288 multiple de 128? 12288 decimal = 0011 0000 0000 0000 en binario n = 128 --> n - 1 = 127 --> 127 decimal = 0111 1111 en binario
0011 0000 0000 0000 AND 0111 1111 __________________ 0000 0000 0000 0000 No hace falta decir que suele ser mas rapido que hacer Mod Espero que os sea de ayuda
|
|
|
39
|
Programación / Programación Visual Basic / [VB6+ASM] FastSqr - Clase para hacer raices enteras raaapidamente ;D
|
en: 22 Agosto 2010, 20:27 pm
|
'--------------------------------------------------------------------------------------- ' Module : cFastSqr ' Author : Karcrack ' Now : 22/08/2010 20:25 ' Purpose : Fast alternative for Integer Sqr ' History : 22/08/2010 First cut ......................................................... '--------------------------------------------------------------------------------------- Option Explicit Private sCode As String 'NTDLL Private Declare Sub RtlMoveMemory Lib "NTDLL" (Destination As Any, Source As Any, ByVal Length As Long) Public Function FastSqr(ByVal lValue As Long) As Long ' Filled with ASM later End Function Private Sub Class_Initialize() Dim sCode As String Dim lPtr As Long sCode = ChrW$(&H548B) & ChrW$(&HC24) & ChrW$(&H448B) & ChrW$(&H824) & ChrW$(&HFF2) & ChrW$(&HC02A) & ChrW$(&HFF2) & ChrW$(&HC051) & ChrW$(&HFF2) & ChrW$(&HC02D) & ChrW$(&H289) & ChrW$(&HC031) & ChrW$(&HCC2) & ChrW$(&H0) Call RtlMoveMemory(lPtr, ByVal ObjPtr(Me), 4) Call RtlMoveMemory(ByVal lPtr + &H1C, StrPtr(sCode), 4) End Sub
Codigo ASM utilizado:http://karcrack.pastebin.com/CLSZPR5d Para calcular el rendimiento: Sub Main() Dim cFS As New cFastSqr Dim cT As New CTiming Dim i As Long Dim x As Long cT.Reset For i = 1 To 10000000 x = cFS.FastSqr(i) Next i MsgBox cT.sElapsed cT.Reset For i = 1 To 10000000 x = CLng(Sqr(i)) Next i MsgBox cT.sElapsed End Sub Es aproximadamente el doble de rapida en el calculo de Raices enteras Saludos
|
|
|
40
|
Programación / Programación Visual Basic / [RETO] Comprobar si un numero es Oblongo/Pronico
|
en: 17 Agosto 2010, 01:23 am
|
Seguimos con los retos de velocidad y numeros Ahora han tocado los numeros pronicos/oblongos... que no requieren un algoritmo muy complejo, pero si que tocara pensar para augmentar la velocidad Mas informacion:http://en.wikipedia.org/wiki/Pronic_number http://oeis.org/classic/A002378 Se trata de comprobar si un numero puede ser expresado como el producto de dos enteros consecutivos... es decir: Ejemplo:Se trata de comprobar que el numero es oblongo y devolver el valor de n... La funcion ha de estar declarada de este modo:Private Function IsOblongo(ByVal lNumb As Long, ByRef n As Long) As Boolean
Tal vez la velocidad de aparicion de nuevos retos sea elevada, pero es que por las noches me aburro Se el mas rapido del oeste, vaquero!
|
|
|
|
|
|
|