lunes, 29 de noviembre de 2010

aadp4olly v0.2 & aadp4immdbg


Hola!,

queria hacerles saber que una nueva version de aadp4olly ha sido releseada. Entre las mejoras, podemos citar las siguientes:

v0.2 (29/11/2010)
--

- added Anti-Antidebugging features for the following tricks:
* BlockInput
* SuspendThread
* UnhandledExceptionFilter
* Process32Next
* Module32Next
* ZwQuerySystemInformation
* ZwQueryObject
* TerminateProcess
* ZwOPenProcess
* FindWindow

- now, the plugin should support XP (ALL), Windows Vista (ALL) and Windows 7 (ALL) OS.

Quedan algunos bugs de la version v0.1.3, en especial los reportados por Peter Ferrie que tienen que ver con una falta de comprobacion sobre algunos punteros, pero van a ser fixeados en la proxima version (v0.3) en la cual ya estoy trabajando!.

Como nota final, les puedo adelantar que con la proxima version de aadp4olly voy a liberar los sources de aadlib, la libreria anti-anti-dbg en la cual se basa el plugin.

La ultima version de aadp4olly la pueden conseguir en la web del proyecto: aadp


Junto con esta nueva version de aadp4olly, he releseado aadp4immdbg, que seria basicamente el mismo plugin pero para ser utilizado con ImmunityDebugger.

Saludos!,

Hasta la proxima!.

UPDATE (02/12/2010): fue agregada una nueva modificacion del plugin aadp4olly, aadp4ollysnd es una version de aadp4olly pero ajustada para trabajar con el OllySND. Gracias a Guan de Dio por esta modificacion.

domingo, 28 de noviembre de 2010

Lamerz!



Hola!,

este pequeño post es para contarles algo sobre lo cual tal vez ya esten al tanto.

La semana pasada, un compañero de la lista de Crackslatinos me señalo un post en un blog, ese post era el siguiente:

http://martik-scorp.blogspot.com/2010/11/martk-unpacker.html

Seguramente, ese link no les va a funcionar, sin embargo, todavia se puede acceder desde la cache de google: http://goo.gl/0J0o9

Bajo una vista rapida no parece nada del otro mundo, otra tool para desempacar ... pero mirando detenidamente, veo que tiene muchas similitudes con FUU:

Epa!, los mismos plugins que FUU?, las mismas tools que FUU?. Bueno, pero FUU es open source bajo GPLv3, con lo cual, cualquiera puede agarrar el source, agregar nuevas funcionalidades y hacer su propio release, obviamente bajo la misma licencia que el proyecto original, ademas, esta obligado a dar creditos al autor original. Obviamente, las modificaciones hechas:


7. Additional Terms. “Additional permissions” are terms that supplement the terms of this License by making exceptions from one or more of its conditions. Additional permissions that are applicable to the entire Program shall be treated as though they were included in this License, to the extent that they are valid under applicable law. If additional permissions apply only to part of the Program, that part may be used separately under those permissions, but the entire Program remains governed by this License without regard to the additional permissions. When you convey a copy of a covered work, you may at your option remove any additional permissions from that copy, or from any part of it. (Additional permissions may be written to require their own removal in certain cases when you modify the work.) You may place additional permissions on material, added by you to a covered work, for which you have or can give appropriate copyright permission. Notwithstanding any other provision of this License, for material you add to a covered work, you may (if authorized by the copyright holders of that material) supplement the terms of this License with terms: * a) Disclaiming warranty or limiting liability differently from the terms of sections 15 and 16 of this License; or * b) Requiring preservation of specified reasonable legal notices or author attributions in that material or in the Appropriate Legal Notices displayed by works containing it; or * c) Prohibiting misrepresentation of the origin of that material, or requiring that modified versions of such material be marked in reasonable ways as different from the original version; or * d) Limiting the use for publicity purposes of names of licensors or authors of the material; or * e) Declining to grant rights under trademark law for use of some trade names, trademarks, or service marks; or * f) Requiring indemnification of licensors and authors of that material by anyone who conveys the material (or modified versions of it) with contractual assumptions of liability to the recipient, for any liability that these contractual assumptions directly impose on those licensors and authors. All other non-permissive additional terms are considered “further restrictions” within the meaning of section 10. If the Program as you received it, or any part of it, contains a notice stating that it is governed by this License along with a term that is a further restriction, you may remove that term. If a license document contains a further restriction but permits relicensing or conveying under this License, you may add to a covered work material governed by the terms of that license document, provided that the further restriction does not survive such relicensing or conveying. If you add terms to a covered work in accord with this section, you must place, in the relevant source files, a statement of the additional terms that apply to those files, or a notice indicating where to find the applicable terms. Additional terms, permissive or non-permissive, may be stated in the form of a separately written license, or stated as exceptions; the above requirements apply either way.

Pero cual fue la sorpresa? bueno, primeramente, no habia ninguna mejora a simple vista pero lo que si se podia observar era que todas las strings habian sido editadas:
Y peor todavia, en los plugins los creditos habian sido editados tambien, atribuyendole los creditos a un tal MART!K:

Para los detallistas, se puede observar que los espacios sobrantes en las strings fueron reemplazados por espacios en blanco, lo cual me da la idea de que ni siquiera se tomo el trabajo de compilar nuevamente el proyecto sino que mediante algun tipo de editor de recursos como ResHackers, simplemente edito los strings, cambio un icono y un BMP.

Al ver esto, me senti un boludo, por que? porque todo el laburo que habia hecho y compartido con la comunidad, de buena fe y con muchas ganas, habia sido plagiado.

Luego de ver todo esto, decidi enviar un mail al autor y aca estan los mails intercambiados con el:

---------------
from +NCR/CRC! [ReVeRsEr] to Martik.Panosian@gmail.com
date Tue, Nov 23, 2010 at 2:05 PM

subject FUU & MART!K Unpacker
mailed-by gmail.com

Hi!, i'm the author of FUU (and MART!K Unpacker too¿?), i saw your blog and post about FUU, sorry, MART!K Unpacker. You are stealing a project, and idea just replacing strings???? come on!!! please, write your own version!.

BR,
NCR
---------------

La respuesta fue la siguiente:

---------------
from martik panosian to "+NCR/CRC! [ReVeRsEr]"
date Tue, Nov 23, 2010 at 2:32 PM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com
signed-by gmail.com

hello, yes, you right, but the source code is free, isnt it? btw, i appreciate your work. i dont see any wrong thing with what i was done!
---------------


A lo cual conteste:
---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 2:34 PM
subject Re: FUU & MART!K Unpacker
mailed-by gmail.com

yes, but i don't see any link or mention to the original project, so .....
---------------

Y agregue lo siguiente:

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 2:37 PM
subject Re: FUU & MART!K Unpacker
mailed-by gmail.com


in the readme and license you saying that YOU create the software and that's no true, so, please add a mention to the original project and author.


BR,

NCR
---------------

Despues de un rato, respondio lo siguiente:

---------------
from martik panosian to "+NCR/CRC! [ReVeRsEr]"
date Tue, Nov 23, 2010 at 2:49 PM
subject Re: FUU & MART!K Unpacker
mailed-by gmail.com
signed-by gmail.com


ok, you right. i will mention to your blog and original software as soon as possible. sorry about that. p.s. now im on mobile. as soon as i get my pc, i'll fix that.
---------------

Con lo cual respondi:
---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 2:50 PM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com


Thanks!
---------------

Luego de esto, la mencion fue agregada pero los creditos al proyecto y autor original tanto en el binario como en los plugins seguian (y siguen) sin aparecer, con lo cual, envie tres nuevos mails al autor y obviamente, ya no tuve mas respuestas de su parte:

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Tue, Nov 23, 2010 at 3:02 PM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com


btw, i can't see any new feature in your version, it would be great if you contribute to the original project or add something new to your own version.


Cheers,

NCR
---------------

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Wed, Nov 24, 2010 at 11:44 AM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com

Thanks for adding the mentions to FUU in your blog. Btw, you should do it in your package too and release the modified source code of you tool, remember that the FUU project is under GPLv3, so, if you release a modified version of my sources, then, you must release those modified sources.


Have a nice day.

---------------

---------------
from +NCR/CRC! [ReVeRsEr] to martik panosian
date Wed, Nov 24, 2010 at 11:54 AM

subject Re: FUU & MART!K Unpacker

mailed-by gmail.com


one last thing: the log messages must remain as the original, for example, in the aspack plugin it says: "Developed by: Mart ik Panosian" and we all know that is not true, so, please, do it in the right way.
GNU legal team was contacted in order to verify that you are complying with the GPLv3 license.
---------------

Luego, MCKSys, de la lista de Crackslatinos, hizo la denuncia pertinente a la gente de blogger y esta fue la siguiente:

---------------
from MCKSys Argentina reply-to crackslatinos@googlegroups.com to crackslatinos@googlegroups.com
date Wed, Nov 24, 2010 at 9:38 PM
subject Re: {CrackSLatinoS} Malas noticias NCR

mailing list Filter messages from this mailing list
mailed-by googlegroups.com

signed-by googlegroups.com


Bueno, algo es algo. Reescribo el mensaje recibido por la denuncia que hice:
Hemos recibido su aviso de incidente de la DMCA en http://martik-scorp.blogspot.com/2010/11/martk-unpacker.html con fecha del 23.11.2010 y hemos revisado el contenido que supuestamente infringe la ley. De acuerdo con nuestra política, hemos dejado el contenido sin conexión y se ha informado de la reclamación al autor del blog. Si en esta entrada vuelve a aparecer el contenido objeto de la infracción, le rogamos que nos informe de ello para tomar las medidas oportunas.

Atentamente,

El equipo de Blogger

Esperemos que sirva para algo...
---------------

Luego de eso, su post en el blog fue removido.

Ademas, otra persona muy reconocida del ambiente, Nicolas Brulez, al cual le agradezco la gentileza, hizo un pequeño analisis sobre este tal "MART!K":

http://omgwtfhax.org/

Luego, en los foros de ARTeam y tuts4you me dieron mas ejemplos sobre este tipo, que al parecer, es un lamer bien conocido en el ambiente (no lo era hasta ahora por mi), se encarga de rippear muchos de los releases que la scene va sacando, de hecho, si miran en su web van a ver muchos releases de grupos conocidos pero obviamente rippeados por el.

Agradezco tambien a Guan de Dio por poner un mensaje en su blog: http://guandedio.no-ip.org/

Ah, algo que me olvide de mencionar es que la licencia de este tal "MART!K Unpacker" no es la GPLv3 sino "MART!K License".


Que quiero exponer con todo esto? pues que un software OpenSource es libre pero no en el sentido de "Cerveza gratis" como bien dice la GNU, sino en el sentido de que cada uno puede agarrar ese codigo, modificarlo, distribuirlo, copiarlo pero siempre y cuando reconozca al autor original y coloque los creditos correspondientes, aunque la licencia no lo este obligando, siempre es de buena educacion dar creditos al autor correspondiente.

Asi que por favor, a no chorear!!! :)

Hasta la proxima!.

Saludos.

UPDATE (14/12/2010): Parece que el mismo día que armé este post, y al ver que su post original en su blog fue removido por la gente de Blogger, el amigo Mart!k abrió un nuevo blog en wordpress con el mismo post sobre "su" unpacker: http://martik2scorp.wordpress.com/2010/11/28/martk-unpacker-1-0/. Triste! pero ... que se puede esperar de un lamer?.

sábado, 13 de noviembre de 2010

Nuevo plugin para Ollydbg - aadp4olly v0.1

Hola!,

esta vez queria presentarles un nuevo proyecto en el cual he estado trabajando estas ultimas tres o 4 semanas en mis ratos libres. Se trata de un nuevo plugin para Ollydbg, aadp4olly o Anti-Anti-Debugger Plugin for Ollydbg.

Este nuevo plugin sirve para ocultar a Ollydbg de los trucos anti-dbg mas comunes como IsDebuggerPresent, NtGlobalFlags, etc; si bien ya hay plugins de este estilo para Ollydbg desde hace mucho tiempo, queria hacer mi propia version para incluir todos los trucos que necesito en mis sesiones de debugging con packers.

En esta primera version pueden encontrar trucos anti IsDebuggerPresent, NtGlobalFlags, HeapFlags, ZwSetInformationThread, OutputDebugString, ZwQueryInformationProcess y GetTickCount, por el momento, todos desde ring3.

En proximas versiones voy a continuar agregando mas trucos y posiblemente no solo en ring3 sino en ring0.

Cualquier comentario, sugerencia, pedido para agregar algo, etc, no duden en comentar aqui o escribirme directamente.

Obviamente, el proyecto es Open Source, como todo lo que he hecho hasta ahora.

Sin mucho mas que decirles, les dejo la pagina del proyecto: aadp

La descarga directa del plugin es: aadp4olly

Espero que les sea util!.

Aca les dejo un screenshot:


Hasta pronto!.

UPDATE (14/11/2010): aadp4olly ha sido actualizado a la version 0.1.1. Se fixeo un pequeño bug cuando se cerraba la ventana del plugin (reportado por marciano).
UPDATE (18/11/2010): aadp4olly ha sido actualizado a la version 0.1.2. Se incluye un fix para XP SP0 que permite que las opciones para hookear las funciones "Zw" funcionen en dicho OS (reportado por LCF-AT).
UPDATE (21/11/2010): aadp4olly ha sido actualizado a la version 0.1.3. Se incluye un nuevo fix para las funciones Zw reportado por LCF-AT.