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ú

Mensajes - x64core

#721
Programación C/C++ / Re: VC++ reducir tamaño
13 Diciembre 2012, 19:09 PM
Cita de: Geek7 en 13 Diciembre 2012, 10:41 AM
Acabo de instalar Visual Studio 2012 y compilé un simple "hola mundo" y toma como 16 MB ! porque hay un archivo de sql compact database, una carpeta de debug y ipch.

Como desactivo esos archivos sin tener que eliminarlos cada vez que creo un nuevo proyecto???


Hola, Los archivos que genera VC son necesarios durante la programacion, luego al cerrar el proyecto puedes borrarlos
si quieres pero siempre los volvera a generar, respecto al tamaño, puedes hacer esto:

>Propiedades del proyecto
* Seleccionar en modo "Release", se cambia en la parte superior del dialogo de propiedades
* establecer un puntero de entrada personalizable
* Luego ir a C/C++>Code generation>Buffer security check>cambiar a NO
* Además, puedes desactivar el manifest : Linker>Manifest>cambiar a NO

y compilar tu ejecutable seria de 2-3kb ( un hola mundo )
luego dependiendo de tu código hay más opciones de optimizacion.
#722
ASM / Re: interrupciones
13 Diciembre 2012, 05:24 AM
El color se establece en BL, antes de llamar a la función BL debe contener el valor correspondiente al color deseado, te dejo
la paleta de colores:


00H black      08H gray
01H blue       09H bright blue
02H green      0AH bright green
03H cyan       0BH bright cyan
04H red        0CH bright red
05H magenta    0DH bright magenta
06H brown      0EH yellow
07H white      0FH bright white


#723

tmp193834.c(133) : error C2664: 'strcmp' : cannot convert parameter 1 from 'int' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
tmp193834.c(179) : error C2664: 'strcmp' : cannot convert parameter 2 from 'int' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
tmp193834.c(216) : error C2664: 'strcmp' : cannot convert parameter 2 from 'int' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
tmp193834.c(291) : error C2664: 'strcmp' : cannot convert parameter 2 from 'int' to 'const char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast
tmp193834.c(312) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(105) : see declaration of 'strcpy'
tmp193834.c(313) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(105) : see declaration of 'strcpy'
tmp193834.c(314) : warning C4996: 'strcpy': This function or variable may be unsafe. Consider using strcpy_s instead. To disable deprecation, use _CRT_SECURE_NO_WARNINGS. See online help for details.
        c:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\INCLUDE\string.h(105) : see declaration of 'strcpy'
tmp193834.c(315) : error C2664: 'strcpy' : cannot convert parameter 1 from 'int' to 'char *'
        Conversion from integral type to pointer type requires reinterpret_cast, C-style cast or function-style cast


         if(strcmp(Alumnos[f].matri,Alumnos[f+1].matri)>0)

Estas intenado comparar enteros con strcmp, simplemente cambia a:

if(Alumnos[f].matri == Alumnos[f+1].matri)
{
   // TRUE

}

Pero eso no significa que tu implementacion funcionara, eso depende de como funciona tu codigo
#724
Cita de: Miraii en 12 Diciembre 2012, 21:13 PM
Disculpen pero tengo un pequeño problema con un programa que estoy realizando, el caso es crear un programa, vaya la redundancia que capture las matriculas y datos de un grupo de alumnos guardarlos, ordenarlos y traerlos cuando se soliciten.

1.- El error que me suelta es: "no se puede convertir el parámetro 1 de 'int' a 'const char *"

Podrian decirme una forma de arreglar esto? les anexo mi codigo:


Hola, Ese error es claro, estas intentado asignando o pasar un entero a una variable o argumento de tipo puntero a caracter,
Intente compilar el codigo para que me mostrase en donde esta el error y no vi ninguno a ese, publica todo el codigo fuente. o escribe la linea en donde
se produce el error de todas maneras ya he dicho de por que el compilador genera ese error
#725
Además aquí se puede mirar que tipo de programadores son, algunos trozos de ese pedazo de basura:

00401885  |.  6A 03         PUSH 3                                   ; |Mode = OPEN_EXISTING
00401887  |.  6A 00         PUSH 0                                   ; |pSecurity = NULL
00401889  |.  6A 03         PUSH 3                                   ; |ShareMode = FILE_SHARE_READ|FILE_SHARE_WRITE
0040188B  |.  68 00000080   PUSH 80000000                            ; |Access = GENERIC_READ
00401890  |.  68 EC5C4000   PUSH Assembly.00405CEC                   ; |FileName = ""
00401895  |.  E8 1E080000   CALL Assembly.004020B8                   ; \CreateFileA
0040189A  |.  A3 48754000   MOV DWORD PTR DS:[407548],EAX
0040189F  |.  6A 00         PUSH 0                                   ; /pOverlapped = NULL
004018A1  |.  8D45 F4       LEA EAX,DWORD PTR SS:[EBP-C]             ; |
004018A4  |.  50            PUSH EAX                                 ; |pBytesRead
004018A5  |.  6A 01         PUSH 1                                   ; |BytesToRead = 1
004018A7  |.  68 50754000   PUSH Assembly.00407550                   ; |Buffer = Assembly.00407550
004018AC  |.  FF35 48754000 PUSH DWORD PTR DS:[407548]               ; |hFile = NULL
004018B2  |.  E8 4F080000   CALL Assembly.00402106                   ; \ReadFile
004018B7  |.  FF35 48754000 PUSH DWORD PTR DS:[407548]               ; /hObject = NULL
004018BD  |.  E8 EA070000   CALL Assembly.004020AC                   ; \CloseHandle
004018C2  |.  68 50754000   PUSH Assembly.00407550                   ; /Text = ""
004018C7  |.  68 ED030000   PUSH 3ED                                 ; |ControlID = 3ED (1005.)
004018CC  |.  FF35 A0424000 PUSH DWORD PTR DS:[4042A0]               ; |hWnd = NULL
004018D2  |.  E8 C5080000   CALL Assembly.0040219C                   ; \SetDlgItemTextA
004018D7  |.  68 00010000   PUSH 100                                 ; /IsSigned = TRUE
004018DC  |.  68 50754000   PUSH Assembly.00407550                   ; |pSuccess = Assembly.00407550
004018E1  |.  68 ED030000   PUSH 3ED                                 ; |ControlID = 3ED (1005.)


llamada a CreateFile sin verificar si el retorno es un handle valido o un valor invalido.
otro más:

00401967  |.  68 3F000F00   PUSH 0F003F                              ; |Access = KEY_ALL_ACCESS
0040196C  |.  6A 00         PUSH 0                                   ; |Reserved = 0
0040196E  |.  68 CA404000   PUSH Assembly.004040CA                   ; |Subkey = "Software\Softnyx\RakionLS"
00401973  |.  68 02000080   PUSH 80000002                            ; |hKey = HKEY_LOCAL_MACHINE
00401978  |.  E8 95060000   CALL Assembly.00402012                   ; \RegOpenKeyExA
0040197D  |.  68 A8484000   PUSH Assembly.004048A8                   ; /pBufSize = Assembly.004048A8
00401982  |.  6A 00         PUSH 0                                   ; |Buffer = NULL
00401984  |.  6A 00         PUSH 0                                   ; |pValueType = NULL
00401986  |.  6A 00         PUSH 0                                   ; |Reserved = NULL
00401988  |.  68 E4404000   PUSH Assembly.004040E4                   ; |ValueName = "Location"
0040198D  |.  FF35 14474000 PUSH DWORD PTR DS:[404714]               ; |hKey = 0
00401993  |.  E8 80060000   CALL Assembly.00402018                   ; \RegQueryValueExA
00401998  |.  68 A8484000   PUSH Assembly.004048A8                   ; /pBufSize = Assembly.004048A8
0040199D  |.  68 18474000   PUSH Assembly.00404718                   ; |Buffer = Assembly.00404718
004019A2  |.  6A 00         PUSH 0                                   ; |pValueType = NULL
004019A4  |.  6A 00         PUSH 0                                   ; |Reserved = NULL
004019A6  |.  68 E4404000   PUSH Assembly.004040E4                   ; |ValueName = "Location"
004019AB  |.  FF35 14474000 PUSH DWORD PTR DS:[404714]               ; |hKey = 0
004019B1  |.  E8 62060000   CALL Assembly.00402018                   ; \RegQueryValueExA
004019B6  |.  FF35 14474000 PUSH DWORD PTR DS:[404714]               ; /hKey = NULL
004019BC  |.  E8 4B060000   CALL Assembly.0040200C                   ; \RegCloseKey
004019C1  |.  68 EF404000   PUSH Assembly.004040EF                   ; /StringToAdd = "\Bin\"


Y al parecer no conocen los array de cadenas y combinarlo con bucles:

004019D5  |.  68 AC484000   PUSH Assembly.004048AC                   ; |String1 = Assembly.004048AC
004019DA  |.  E8 45070000   CALL Assembly.00402124                   ; \lstrcpyA
004019DF  |.  68 AC484000   PUSH Assembly.004048AC                   ; /String2 = ""
004019E4  |.  68 BC504000   PUSH Assembly.004050BC                   ; |String1 = Assembly.004050BC
004019E9  |.  E8 36070000   CALL Assembly.00402124                   ; \lstrcpyA
004019EE  |.  68 03414000   PUSH Assembly.00404103                   ; /StringToAdd = "msvcr71.dll"
004019F3  |.  68 BC504000   PUSH Assembly.004050BC                   ; |ConcatString = ""
004019F8  |.  E8 21070000   CALL Assembly.0040211E                   ; \lstrcatA
004019FD  |.  68 AC484000   PUSH Assembly.004048AC                   ; /String2 = ""
00401A02  |.  68 AC4C4000   PUSH Assembly.00404CAC                   ; |String1 = Assembly.00404CAC
00401A07  |.  E8 18070000   CALL Assembly.00402124                   ; \lstrcpyA
00401A0C  |.  68 0F414000   PUSH Assembly.0040410F                   ; /StringToAdd = "msvcr72.dll"
00401A11  |.  68 AC4C4000   PUSH Assembly.00404CAC                   ; |ConcatString = ""
00401A16  |.  E8 03070000   CALL Assembly.0040211E                   ; \lstrcatA
00401A1B  |.  68 AC484000   PUSH Assembly.004048AC                   ; /String2 = ""
00401A20  |.  68 CC544000   PUSH Assembly.004054CC                   ; |String1 = Assembly.004054CC
00401A25  |.  E8 FA060000   CALL Assembly.00402124                   ; \lstrcpyA
00401A2A  |.  68 1B414000   PUSH Assembly.0040411B                   ; /StringToAdd = "msvcr73.dll"
00401A2F  |.  68 CC544000   PUSH Assembly.004054CC                   ; |ConcatString = ""
00401A34  |.  E8 E5060000   CALL Assembly.0040211E                   ; \lstrcatA
00401A39  |.  68 AC484000   PUSH Assembly.004048AC                   ; /String2 = ""
00401A3E  |.  68 EC5C4000   PUSH Assembly.00405CEC                   ; |String1 = Assembly.00405CEC
00401A43  |.  E8 DC060000   CALL Assembly.00402124                   ; \lstrcpyA
00401A48  |.  68 38414000   PUSH Assembly.00404138                   ; /StringToAdd = "Micro.txt"
00401A4D  |.  68 EC5C4000   PUSH Assembly.00405CEC                   ; |ConcatString = ""
00401A52  |.  E8 C7060000   CALL Assembly.0040211E                   ; \lstrcatA


00401BA3  |.  E8 D1F5FFFF   CALL Assembly.00401179
00401BA8  |.  68 2D010000   PUSH 12D                                 ; /RsrcName = 301.
00401BAD  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401BB3  |.  E8 C6050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401BB8  |.  A3 E0424000   MOV DWORD PTR DS:[4042E0],EAX
00401BBD  |.  68 2E010000   PUSH 12E                                 ; /RsrcName = 302.
00401BC2  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401BC8  |.  E8 B1050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401BCD  |.  A3 E4424000   MOV DWORD PTR DS:[4042E4],EAX
00401BD2  |.  68 2F010000   PUSH 12F                                 ; /RsrcName = 303.
00401BD7  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401BDD  |.  E8 9C050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401BE2  |.  A3 E8424000   MOV DWORD PTR DS:[4042E8],EAX
00401BE7  |.  68 30010000   PUSH 130                                 ; /RsrcName = 304.
00401BEC  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401BF2  |.  E8 87050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401BF7  |.  A3 EC424000   MOV DWORD PTR DS:[4042EC],EAX
00401BFC  |.  68 31010000   PUSH 131                                 ; /RsrcName = 305.
00401C01  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401C07  |.  E8 72050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401C0C  |.  A3 F0424000   MOV DWORD PTR DS:[4042F0],EAX
00401C11  |.  68 32010000   PUSH 132                                 ; /RsrcName = 306.
00401C16  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401C1C  |.  E8 5D050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401C21  |.  A3 F4424000   MOV DWORD PTR DS:[4042F4],EAX
00401C26  |.  68 33010000   PUSH 133                                 ; /RsrcName = 307.
00401C2B  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401C31  |.  E8 48050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401C36  |.  A3 F8424000   MOV DWORD PTR DS:[4042F8],EAX
00401C3B  |.  68 34010000   PUSH 134                                 ; /RsrcName = 308.
00401C40  |.  FF35 A4424000 PUSH DWORD PTR DS:[4042A4]               ; |hInst = NULL
00401C46  |.  E8 33050000   CALL Assembly.0040217E                   ; \LoadBitmapA
00401C4B  |.  A3 FC424000   MOV DWORD PTR DS:[4042FC],EAX



Solo saben hacer llamada tras llamada, Ellos deberían empezar con .net talvez puedan hacerlo mejor
#726
Todo lo que veo son niños que saben como usar el conjunto de instrucciones y que han leído sobre un tutorial de injeccion de DLL, porque segun leí su máxima creación ha sido un DLL injector. Aquí esta (binario):

http://www.sendspace.com/file/aeo0bz

DLL:
http://www.sendspace.com/file/xoi4b6

Lo han subido con adf.ly que redirige a adtu.be y luego a la descarga, Utilizan BoxedApp Packer ( .stub ).
#727
Programación C/C++ / Re: Mutex en win api
10 Diciembre 2012, 23:53 PM
Cita de: framled en 10 Diciembre 2012, 23:47 PM
OK lo leere y sobre semaforos en winapi c++??

El ejemplo de la MSDN es una implementacion de semaforo, ese mismo codigo se puede modificar para que utilice exclusion mutua,
Simplemente lee el codigo, y ya que sabes la diferencia entre Mutex y semaforo , se modifica.
#728
Programación C/C++ / Re: Mutex en win api
10 Diciembre 2012, 23:41 PM
Cita de: framled en 10 Diciembre 2012, 23:15 PM
AAAA
necesito saber como hacer un mutex(exclusion Mutua) o un semaforo... con la api de windows en c++
alguien me podria ayudar
Gracias.-

Leé la documentacion de estas APIs:
WaitForSingleObject
CreateSemaphore
ReleaseSemaphore
CreateThread

Esas funciones son buenas para empezar sobre el tema, despues hay otras maneras, dependiendo de lo que estas intentado crear

para los Mutex es mejor crearlo usando CreateEvent, debido a que es mucho más rapido que cualquier todo
metodo.

Y luego leete este simple codigo:
http://msdn.microsoft.com/en-us/library/windows/desktop/ms686946(v=vs.85).aspx

es muy simple, como dije hay muchas de hacerlo  ::)
#729
ASM / Re: interrupciones
10 Diciembre 2012, 22:49 PM
Cita de: -dominique- en  9 Diciembre 2012, 02:48 AM
Esta en modo texto. Me guie del ejemplo que tiene el emu, "Hello World". En él quise cambiar el codigo para que pueda imprimir varios mensajes. Algo asi:

************
* Mensaje     *
************

pero solo imprime en una sola linea, uno ensima del otro. Prove con la funcion 2 para desplazar el cursor pero lo imprime todo y al final lo desplaza. Tambien prove con imprimir un mensaje definido en la zona de datos con la funcion 9 de la interrupcion 21h pero no se ejecuta.

Gracias

no puedes imprimir ese tipo de texto? la funcion 02 es para escribir un caracter, la funcion 09 es para escribir una cadena,Mostra tu codigo.
#730
Foro Libre / Re: Que opinan de esto?
10 Diciembre 2012, 19:59 PM
Bueno de todas maneras si se destruirá el mundo, la NASA dudo que publique algo por el panico que generara, talvez lo hagan
publico el mismo dia cuando ellos esten en marte  ;-)