Título: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 27 Enero 2012, 00:06 am .
La funcion lo que realiza es una verificación del exe para saber si a ido modificaco o no (es una seguridad muy basica). Edito---> (NO ES NECESARIO) OJO si lo van a usar deberan realinear el formato PE... o usar los ultimos 4 bytes de el exe (habitualmente son bytes 0) En un modulo... Código
cCRC32.cls (Modulo de clase) Código:
Ejemplo: Código
Decargar Ejemplo (Compilar en "C:\" el proyecto con el nombre "testCRC32.exe" o configurar las lineas segun lo requieran y con la constante en false, despues solo ejecutar desde el IDE con la constante en true): http://infrangelux.sytes.net/FileX/index.php?dir=/BlackZeroX/Programacion/vb6/ejemplos%20VB6&file=itsOKCRC32.zip Alternativa: http://foro.elhacker.net/programacion_visual_basic/src_self_crc32_check_01_poc-t351610.0.html Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: x64core en 27 Enero 2012, 00:25 am bien hecho ;-)
ratos de no ver codigo tuyos zero ;D una cosa no seria mas elegante y eficiente mapear el archivo Título: Re: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 27 Enero 2012, 02:11 am Para algo como esto no... pero si te das cuenta se carga todo el archivo en memoria y acceso a los bytes directamente, mapear el archivo en memoria es hacer lo mismo, crear una copia del archivo en la memoria pero con APIS espesificas, y bueno esto seria viable en BDD o cosas por el estilo donde el archivo deba estar siempre en memoria y en este caso solo se carga una vez y despues se descarga dicho bloque de bytes.
Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 27 Enero 2012, 02:38 am Disculpa que te moleste.He seguido todas las instrucciones posibles y no me resulta.
Lo que hice fue hacer el primer .exe (compilar) en el disco c. en modo False Luego hice otro ejecutable guardandolo en el escritorio en modo True y cambiando la linea c:\test por c:\nombredemiejecutable.exe .. Luego abro cualquiera de los dos y no pasa nada.. no tira ningun msgbox . Título: Re: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 27 Enero 2012, 02:44 am Lo que pasa es que NO debes compilar con la constante en true ya que claramente dice:
Ejecuta el proyecto desde este IDE, si todo a ido correctamente les aparecera un mensaje {"CRC32 configurado Correctamente"}. Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 27 Enero 2012, 02:48 am Dentro del codigo hay muchos INSERTCRC32TOEXE = false / true o lo que fuese, yo el unico que cambie fue el que decia Const INSERTCRC32TOEXE = false a true , era ese o es otro?
Título: Re: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 27 Enero 2012, 03:01 am .
Perdon escribi si leer bien. Si es la que dice #const INSERTCRC32TOEXE = False, despues edita la otra linea que se dice y por ultimo ejecuta desde el IDE... subi un proyecto practicamente configurado ya, revisa el 1er post. Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 27 Enero 2012, 03:12 am Perdon por la ignorancia, pero que es el IDE.. que tanto nombras?
Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 27 Enero 2012, 03:19 am Sinceramente no funciona, porque al usuario que yo le doy mi programa debe tener una replica en el disco c:\ y la idea es que al abrir el archivo se de cuenta unicamente si esta modificado por hexadecimal o no.Ahora una vez que hice todo esto me salio "Configurado correctamente" ya que se ve que funciona comprobando que haya un archivo en el c:\ .. Después agarre al archivo lo modifique con hexadecimal y seguia diciendo configurado correctamente, que estoy haciendo mal? Quizas lo que yo busque no sea esto y sea todo un mal entendido.
Yo lo que necesito es que mi archivo se de cuenta si se modifico desde un hexadecimal para que no me ripeen. Título: Re: [SRC] itsOkCRC32 Publicado por: Elemental Code en 27 Enero 2012, 04:55 am tenes la mas palida idea de visual basic? :rolleyes:
lo que hizo blackzero ademas de hacer algo re jodido con muchos simbolitos de Sharp (#) fue diseñar un "agregador" de codigo CRC32 al final de el ejecutable final desde la ide (la ide es lo que vos conoces como "Visual basic 6.0" esa cosa adonde armas forms y pones codigos) te recomiendo que aprendas algo de vb6 antes de todo esto. Yo admito que se poco, pero no son nociones complicadas las constantes y el IDE. De que es ese dichoso programa que necesitas que nadie te modifique a todo esto? :S Ahora para mi queridisimo BlackZeroX Che habra algun codigo que me salga bien sin que venga uno de ustedes que la tiene clara y le pase el trapo? ;-) ;-) Si se te ocurre un buen metodo de hacer esto semi universal para cualquier exefile (necesitamos un RunPE sin que papa antivirus lo detecte como malware cuando es nada que ver o hacer otra magia negra :P) avisame que de ultima diseño la interfaz o el icono... o sino te cebo mate o lo que pueda ayudar :P Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 27 Enero 2012, 05:38 am Te puedo asegurar que estudio hace 4 años, tengo titulo pero nunca me meti en este tipo de proyectos lo cual desconozco estos nombres CRC32 y blabla. Ahora estoy informado.
PD : 15 años tengo :p Título: Re: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 27 Enero 2012, 05:53 am @Elemental Code
De hecho si se me ocurre algo y es redireccionar el EntryPoint del exe a otro lugar donde este un trozo de codigo agregado... esta redirreción seria a un bloqueque se introduzca con ASM para que calcule el CRC32 (puedes preguntarle a RHL)... y que al terminar llame nuevamente al EntryPoint Original... mirate este enlace: http://foro.elhacker.net/analisis_y_diseno_de_malware/taller_asi_funcionan_los_crypters_encriptando_malware_a_mano-t262806.0.html Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: Cromatico en 27 Enero 2012, 11:29 am BlackZeroX te hago una consulta, hice todo perfectamente SIN SABER PARA QUE SERVIA EL CODIGO... Pero imagine, por el post de Elemental Code, que si, una vez compilado mi exe (ya todo configurado), editaba un bit con algun editor hexadecimal, me iba a tirar el mensaje de erroneo :P y asi fue, entonces... Es para evitar que editen el exe ya compilado?
Si es para eso, funciona de maravillas :P edite un byte por aca: Código: 000023B9 Código: MSVBVM60.DLL...._CIcos...._adj_fptan....__vbaFreeVar despues de "MSVBVM60.DLL", el segundo punto (tecnica muy muy basica para "limpiar" un "programita" jajjajaj :P) Y ya con ese bit cambiado, no decia mas correcto, si no Erroneo xD ---------------------------------------- EDIT: acabo de googlear CRC32, no dije nada :P Muy muy bueno! Título: Re: [SRC] itsOkCRC32 Publicado por: raul338 en 28 Enero 2012, 02:07 am Crawe, lo que BlackZeroX puso es basicamente son 2 proyectos con una funcionalidad distinta, en un solo codigo :P
1º Agregas el codigo a tu aplicacion y por codigo este bien, con esta linea Código
Luego, cambias esta linea Código por la ruta del ejecutable donde compilaste pones la mismisima linea anterior en true, y ejecutas (Dale al play o a F5) y listo, el ejecutable ya tiene el CRC32, ya no tenes que hacer nada más :) Es como que "firmaste el exe para su aprobacion" :P Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 28 Enero 2012, 07:51 am Me pasa lo mismo que con el otro CRC32 de Elemental Code, lo pruebo en un proyecto aparte bla bla bla. y me anda perfecto lo modifico y dice Erroneo todo bien, ahora lo intento meter en el proyecto mio en el que hay formularios y todo y dice Error 6 desbordamiento.
Arranca en el submain, todo bien.. ¿que puede ser? dios santo. Título: Re: [SRC] itsOkCRC32 Publicado por: Crawe en 28 Enero 2012, 08:01 am Ya lo arregle gente se ve que habia mal una variable en el proyecto ..
Dim i As Variant ES VARIANT no es integer como figuraba.. Dim iLookup As Integer For i = LBound(buffer) To UBound(buffer) Título: Re: [SRC] itsOkCRC32 Publicado por: Cromatico en 28 Enero 2012, 08:26 am sabes que a mi tambien si meto el codigo en mi proyecto me tira desbordamiento en la parte:
Código: For i = LBound(buffer) To UBound(buffer) de la funcion: Código: Public Function GetByteArrayCrc32(ByRef buffer() As Byte) As Long algun error en mi codigo puede ser? osea algo mal declarado? EDIT: i esta declarado como integer (tengo entendido que es un maximo de 32767) Cuando se compila el proyecto solo tuyo, UBound(buffer) vale "20479", osea esta adentro... Pero cuando lo compilo con mi proyecto, este valor pasa a ser "118682", por eso tira desbordamiento supongo verdad? Como se puede solucionar? saludos! Título: Re: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 28 Enero 2012, 08:57 am Arregle esa clase, desgraciadamene su creador no contemplo el tamaño de un archivo...
Editado el 1er Post (Solo se cambian las variables de integer por long, si sigue el error cambiar por double o currency esto se requerira con proyectos mas grandes, pero long deberia bastar y sobrar). Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: Cromatico en 28 Enero 2012, 09:04 am Arregle esa clase, desgraciadamene su creador no contemplo el tamaño de un archivo... Editado el 1er Post (Solo se cambian las variables de integer por long, si sigue el error cambiar por double o currency esto se requerira con proyectos mas grandes, pero long deberia bastar y sobrar). Dulces Lunas!¡. sabes que estaba haciendo lo mismo por mi parte pero cuando configuro (que tira el mensaje de configurado correctamente), como que rompe el .exe, le saca el icono y no se puede abrir tira un error de permisos... Me pasa lo mismo con el codigo que actualizaste recien :P edit: el codigo solo sin mi proyecto funciona perfecto asi declarado con las variables en long tambien... EDIT FINAL :P, era mi antivirus, ya esta! Título: Re: [SRC] itsOkCRC32 Publicado por: Maurice_Lupin en 3 Febrero 2012, 06:49 am Saludos BlackZeroX, tu código me ha dado ideas en cuanto a tocar el formato PE, tendrías alguna información que compartas, algun link o recomendar un libro?
Ahora estoy utilizando vb.net asi que seria el formato PE para .net estoy investigando pero no hay mucha información, quisiera incluir mi hash en el exe. Gracias. Título: Re: [SRC] itsOkCRC32 Publicado por: BlackZeroX en 3 Febrero 2012, 08:23 am Ahora estoy utilizando vb.net asi que seria el formato PE para .net estoy investigando pero no hay mucha información, quisiera incluir mi hash en el exe. El formato PE no es exlusivo ni esta orientado a un lenguaje en particular, es decir es de "facil" translado a cualquier lenguaje. te recomiendo te leas e interpretes este documento (es el mas completo que conozco). http://msdn.microsoft.com/en-us/windows/hardware/gg463119.aspx Dulces Lunas!¡. Título: Re: [SRC] itsOkCRC32 Publicado por: Maurice_Lupin en 3 Febrero 2012, 17:45 pm Gracias lo estudiaré ;D
|