Puede alguien recomendarme algun buen javascript obfuscator ?
Que sea bastante confiable (no facilmente desofuscable)...
si es posible que sea opensource... Gracias |
Cita:
// Saludos |
Hola,
Cita:
|
Cita:
// Saludos |
Hola,
Yo no veo sino la necesidad de que el "algoritmo" de ofuscación use una clave, que podrá usarse opcionalmente para "desofuscar" el código. Si se usa una clave, de nada te vale tener el código fuente del ofuscador, si no conoces la clave con la que "desofuscar" el código fuente ofuscado. A eso me refería yo. No lo veo contradictorio, siempre que exista la clave de marras. De no existir, obviamente, cualquiera podría desofuscar el código fuente, conociendo la herramienta que se usara para ofuscarlo. |
Creo que estamos hablando de cosas diferentes. Yo no estoy hablando del aspecto técnico del asunto, sino de la filosofía: se quiere una herramienta libre para hacer algo privativo. Aunque supongo- no lo sé -que esto es aceptable por los gnus y demás, a mi- personalmente - se me hace contradictorio.
En todo caso era un simple comentario, no un pie para debate. // Saludos |
Hola,
Ahora comprendo. Bueno. Pues no sé qué decir. No es por debatir, pero, incluso así me sigue pareciendo lo mismo, es decir, no veo la contradicción. El primer punto de la licencia GNU GPL, por ejemplo, dice más o menos "puedes usar este programa como mejor te parezca". Y eso incluye... todo lo que te parezca. Pero lo cierto es que no conozco ningún programa como el que se requiere, así que a lo mejor debería sujetar mi lengua, aunque, no veo contradicción, es decir, no veo que una cosa quite la otra, que no pueda existir un programa así, o que incluso no exista ya pero yo no lo conozca, que será lo más fácil. |
Cita:
// Saludos |
Disculpen que me meta en este duologo:confused:
Pero yo estoy de acuerdo con Roman, es como cuando alguien quiere tratar de evitar la pirateria de sus programas y usa un compilador pirata. Que contradicción......:confused::confused: Salud OS |
Hola,
¿Respondo? Pero es que no quiero entrar en debates... ¡Pero sea! :D No hay caso, amigos. Una herramienta es libre y puede usarse para lo que se quiera, sin restricciones, de hecho si las hay dicha herramienta deja de ser libre. ¡El mismo Linux (todo un sistema operativo) es libre! Y puede usarse para bien y para mal. Es el ejemplo del cuchillo, que puede sirve para untar una rebanada de pan con mantequilla, o asesinar a los niños de la familia de arriba que no parece sino que fueran de uno. :) :) Yo sólo encuentro el problema técnico, precisamente, como ya lo he mencionado. Aunque no quiero dejar de decir que si el ofuscador fuera "privativo", ¿qué importaría esto? Hoy día es muy sencillo acceder a cualquier programa... sea privativo o no lo sea. Así que estaríamos en las mismas. La cuestión es, ¿el ofuscador usa una clave para ofuscar el código? Si es así da igual que sea libre o no, digo yo, porque para desofuscar el código sería precisa esa clave. Si no usa dicha clave... tampoco, en la práctica, importa que el ofuscador sea libre o no lo sea. Y otra cosa que no quiero dejar de decir. ¿No confiarías más en un ofuscador de código abierto? Por ejemplo, el "Zend ofuscator" para PHP (si es que llama así) no me ofrece mucha confianza, precisamente, porque para que todo vaya bien necesitas de cierto programa... que no es libre, lo que significa que estarías atado a una determinada empresa. Pero este es otro cantar... creo que he liado el asunto y no era mi intención hacerlo... pido disculpas. :) Dicho todo lo cual... tal vez no esté mal realizar una búsqueda en Google en busca de ofuscadores de JavaScript... y ver qué tal. :) |
Cita:
// Saludos |
Hola,
Pues no sé qué decirte. Porque yo siempre he tenido entendido que las palabras tienen dueño Román. Pero, en fin, supongo que podremos dejarnos vivir mutuamente sabiendo que en algunos casos no pensamos igual. :) PD. Pero creo que no, que la GNU no es la dueña de la palabra libre. Tiene otros dueños... |
Aclaración
No era mi intención generar un debate en cuanto a los aspectos eticos de este requerimiento...
Lo que sucede es lo siguiente: El desarrollo que estoy haciendo está destinado a una pequeña empresa de investigación que me ha solicitado mantener fuera del alcance del publico la parte relacionada con el componente matemático. Es por eso que esta parte (formulas y algoritmia) debe ir ofuscada.. Asi mismo, lo ideal para mi como desarrollador sería obtener algún programa (opensource) que haga la ofuscación porque la empresa no me reconoce el dinero para obtener un programa comercial que lo haga... Nuevamente quedo a la espera de alguna sugerencia y de antemano les agradezco por su interes en este tema |
Hola,
Bueno. ¿Miraste en la búsqueda en Google que puse antes? Aparecen no pocos resultados... Y también puedes buscar en SourceForge, para ceñirte a proyectos libres. Parece que también hay alguna que otra solución disponible. |
Hola
Yo me ciño a la pregunta del principo. Yo he probado dos ofuscadores: - codelock (http://www.codelock.co.nz/) En principio me pareció aceptable, pero tarde poco mas de 20 minutos en generar una herramienta que desencriptara culaquier archivo generado por este programa. Es de pago pero muy barato - cryptzv2 (http://zorex.info/) Es mas simple que el anterior, es decir, hay que meter menos datos para encriptar. Funciona mejor sobre todo con los includes. También es de pago pero muy económico. No he probado a desencriptarlo pero seguro que es del estilo del anterior. - Zend SafeGuard (www.zend.com) Este en un encriptador como Dios manda, es una caña, imposible de desencriptar (al menos no tengo noticias de que se pueda) y además optimiza el código PHP (más o menos como un compilador para PHP). No es opensource y es relativamente caro, unos 300 euros si no recuerdo mal. Todos los ofuscadores (encriptadores) de código opensource que he probado son muy simples y muy fáciles de desofuscar (unos 2 minutos) y suelen tener muchos problemas con los includes. Como no te recomienod el ZEND pero si no quieres gastarte tanto usa el de Zorex. |
Hola,
Me temo que se habla aquí de JavaScript Kayetano, no de PHP. :) |
Hola
UPS!!! Bueno pues creo recordar que codelock ofusca código HTML y JAVASCRIPT. Y si solo es JavaScript lo que se quiere ofuscar ya pudo contestar que cualquiera de los métodos usados (que yo conozca) se puede rompen en pocos minutos. Todos los sistemas de ofuscación de javascript o HTML terminan haciendo un eval() de algun método de ofuscación. Simplemente sustituyendo el "eval" por un "alert" ya puedes ver el código y con unos cuantos pasos más puedes obtenerlo para su edición. |
Me permito meterme un poco mas allá:
Es un error por parte de un desarrollador utilizar software libre solo para cobrar más barato a un cliente. En este caso nuestro amigo menciona que su cliente le pidió expresamente ocultar tales y cuales cosas. En ese punto creo que se debió considerar el costo (cualquiera que sea) de un producto comercial dentro del importe total del proyecto. En este "error" caen muchas empresas dedicadas al desarrollo que con tal de ahorrarse unos pesitos utilizan a mas no poder software libre para desarrollar aplicaciones privativas. Conozco alguien por ahi que desarrolla en VB y todo el software que usa es libre mientras que lo que vende no lo es. Es completamente una contradicción ya que al ser libres deben entregarse "as is" al cliente como parte del proyecto, cosa que muy pocas veces se hace. Inclusive se pueden encontrar aplicaciones hechas solo con soft libre que se venden al mismo costo que una aplicación que se hizo con otras herramientas. Un enfoque más racional es ofrecer software más barato y mencionarle al cliente claramente que es por que se usa tal o cual herramienta libre. Entregar al cliente todo el software libre utilizado. Y hablando del software libre, a todos nos gustan las cosas "gratis" (que no es lo mismo) pero nadie queremos participar o desarrollar alguna aplicación verdaderamente libre. |
Hola,
Cita:
Y bueno, todos conocemos excelentes componentes para Delphi libres, o sea, que decir que nadie desarrolla aplicaciones completamente libres... es un error, no debe decirse porque no es cierto. |
Hola
Estoy en total desacuerdo con AzidRain, primero el uso de software libre (open source) no implica que el trabajo optenido deba se open source. Sin ir más lejos yo utilizo gran cantidad de software libre (PHP, MYSQL, APACHE, FILEZILLA, GAIM, 7-ZIP, LINUX, ...) y cobro por mi trabajo y no proporciono el código de mi trabajo. Y la explicación es muy simple, yo reutilizo módulos ya programados pero al primer cliente no le cobré el 100% del coste en horas del proyecto, ni al 2º ni al 3º, sino que voy amortizando las horas de trabajo entre todos los clientes. Proporcionar el código fuente de mi trabajo sería regalar cientos de horas que no he cobrado a cualquier hijo de vecino que tubiera acceso al ftp, y yo solo cobro por trabajos de programación web. La gran mayoría de empresas que generan programas libres tienen ganancias a través de servicios de asesoramiento, instalación, personalización, mantenimiento, .... Por ponerte un ejemplo, Zend es una empresa muy involucrada en el desarroyo de PHP y vende un encriptador de código para PHP, vende una plataforma de trabajo para PHP, vende certificaciones PHP y vende muchas cosas más. El software libre está permitiendo que personas como yo (que no tenemos ni un duro) sin necesidad de grandes inversiones pudan tener un salario digno. |
Cita:
Salud OS. |
Cita:
Cita:
Que pasa si yo visito a tu mejor cliente y le ofrezco lo mismo que ya tiene, algunas mejoras (que no se pueden hacer con software libre) y además de eso le digo que "le regalo" el código fuente....le doy facilidades para pagarme, le ofrezco soporte, le garantizo sus aplicaciones contra bugs y otras cosas por al menos 1 año y le garantizo además que no saldré del mercado y podré asesorarlo (con costo claro) si lo desea en la modificación o adecuación de su software al menos durante los próximos 18 meses. Creo que dificilmente podrías igualar la oferta...verdad?? Lo que dices es obvio que no se amortiza el 100% de un proyecto con el primer cliente pero esto solo aplica cuando realizas un producto que planeas vender a mas de un cliente o bien que lo liberaras como una aplicación comercial en la que esperas vender muchas copias (al menos mas de 10). Si es un proyecto "a medida" SIEMPRE se debe tomar en cuenta el coste como si se arrancara de cero ya que de lo contrario el coste total va a estar subvaluado y si mas adelante el mismo cliente te pide algo para lo que no tienes absolutamente nada y necesitas invertirle más tiempo simplemente no podrás cobrarle más caro que la primera vez so pena de tener que dar explicaciones que al cliente no le interesan como "Es que la vez pasada utilice casi 50% de código de otra aplicación que se le hizo a otro cliente". Precisamente cuanto más código podamos reutilizar en nuestros proyectos mayor será la utilidad que nos proporcione. Esto es tan simple como el carpitero que fabrica una silla o mesa con madera sobrante de otros proyectos, la silla o mesa la vende al costo normal. Ejemplo: Cliente : Fabrica de Mesas y Sillas "La Española" Aplicación: Programa de facturación. Software usado: Delphi y solo Delphi (tablas planas) Precio de venta : 2,000 Dls. (es un ejemplo) Costo aprox : 1,500 Dls. Utilidad esperada: 500 Dls Tiempo estimado: 6 meses No tenemos nada asi que todo se programa desde cero. Siguiente cliente: Fabrica de Muebles de Hierro "La Colonial" Aplicación: La misma Precio de Venta: 2,000 Dls. Costo Aprox. 800 Dls Utilidad esperada 1,200 Dls Tiempo estimado: 3 meses (pero al cliente = se le dice que 6 meses) Aqui como se ve nos quedó mas utilidad, simplemente porque requerimos menos tiempo y personal ya que reutilizamos gran parte del código. Tercer Cliente: Fabrica de Sillas de playa "Riviera Co" Aplicación: Lo mismo Precio de Venta: 2,000 Dls Costo Aprox: 200 Dls Utilidad: 1,800 Dls Tiempo estimado: 1 mes. En este caso al cliente se le mostró el producto que ya se tenía y se le convenció de que como está es el más adecuado para su empresa. Obviamente con pequeñas adecuaciones. Por lo que en este caso nuestra utilidad creció grandemente. Hasta aqui el programa ya nos dejó: 3500 Dls de utilidad neta libre para invertir en lo que queramos...podría ser una licencia de Delphi 2007 para actualizar o bien esas bibliotecas tan guapas que vimos y que darán una mejor cara a nuestros productos. Ahora veamos que pasa si lo hacemos de otra forma: 1er Cliente: Precio de venta: 1,000 Dls (barato barato barato) Costo Aprox: 1,500 Dls utilidad esperada: -500,...ejem, la recupero con tros clientes 2o Cliente: Precio de venta: 1,000 Dls Costo aprox: 800 Dls Utilidad: 200 Costo acumulado: -500 Dls Utilidad Neta: -300 Dls ... 3er Cliente: Precio Venta: 1,000 Dls. Costo Aprox: 200 Utilidad: 800 Dls Utilidad acumulada: -300 Dls Utilidad neta: 500 Dls. Como podemos ver, despues de tres clientes apenas recuperamos lo invertido con el primero y nos ha dejado una "gran" utilidad de 500 Dls... Sin meternos en rollos de curvas de oferta y demanda puntos de equilibrio, vemos como este modelo efectivamente arroja utilidades pero no es viable para proyectos que duran varios meses como ya vimos. Sin embargo, si hablamos de un software comercial, esta última forma es la correcta y diriamos que despues de la tercer copia vendida alcanzamos nuestro punto de equilibrio y a partir de aqui toda copia vendidad es utilidad. Por que no es el modelo ideal para desarrollos a medida? Bueno, pues cuando iniciamos con el primer cliente no teniamos absolutamente nada de código. Si usamos este enfoque de distribuir los costos, necesitaremos forzosamente contar con un fondo o capital de trabajo para que permita a nuestra empresa sobrevivir (mas bien a los que trabajan en ella) hasta que se alcance a recuperar la inversión. Por otro lado, en el enfoque propuesto al principio, aunque también se requiere una inversión inicial, esta calculado para recuperarla rápidamente y mantener unas finanzas sanas para la empresa. Finalmente bajo el esquema ya citado al inicio, es mucho más facil que más adelante en un proyecto adicional se le pueda ofrecer al cliente un mejor costo basado en que ya tenemos algunas cosas avanzadas. Por ejemplo, si el cliente quiere ahora, un sistema de consultas en línea de facturas para sus clientes. El estara esperando un coste alrededor de lo que se cobró inicialmente por lo que tenemos margen para cobrar un poco menos si en realidad es menos el trabajo requerido. Ahora bien, hablando de los famosos códigos fuentes, por experiencia propia es de poca o nula utilidad contar con ellos ya que muchas veces viene documentado de formas poco ortodoxas, sin comentarios o bien enmarañados a propósito. Además si este código es de algun lenguage que no sabes simplemente de nada te sirve. Por otro lado, contar con código no quiere decir que la aplicación esté bien diseñada. Una opción muy simple es vender el producto sin código dando oportunidad de adquirirlo en forma separada si se requiere. Normalmente el cliente no lo va a necesitar en el momento de la venta, de hecho, hay casos donde la aplicación está tan bien diseñada que nunca es necesario tocar el código fuente. Pero suponiendo que el cliente lo llegue a necesitar, siempre será mejor que lo compre justo en el momento que lo requiera verdaderamente. Claro que aquí se le debe garantizar que dicho código lo tendremos disponible al menos por un periodo de tiempo. Bueno, creo que ya me explayé mucho, pero espero haber expuesto mi punto. |
Hola
Había escrito una respuesta enorme para contestar a AzidRain pero veo que trabajamos en entornos totalmente distintos y para clientes totalmente distintos y realizamos un trabajo totalmente distinto, por lo que no creo que entendieras mi postura. Yo realizo webs presonalizadas empresas de informática y de diseño como freelance, además de para clientes propios. Y por lo general son pequeños clientes. Lo único que quiero aclarar es que el interprete de PHP sea libre no quiere decir que mi programación sea libre (te aseguro que no lo pone en ningún sitio en la licencia de PHP). Cada persona colabora con el software libre como puede. PD. AzidRain creo que se te ha ido la cabeza con tu último post. |
Pues yo creo mi Kaye, que ni a ti ni a mi se nos va nada de la cabeza. Simplemente como tu bien lo dices estamos en distintos ámbitos. Pero valia la pena explicar el por qué de mi postura.
Coincido contigo en el sentido de que no por usar algo libre el resultado debe serlo también. Lo que critico es que muchas "empresas" (no creo que sea tu caso) se aprovechan del software libre y aun pudiendo adquirir licencias o al menos "donar" algo, simplemente no lo hacen con el fin de obtener más ganancias. Además de que nunca participan ni participarán en nada que beneficie al software libre. Conozco un chistosito que en la Uni se apropió de un software editor de textos (ya tiene muchos años) que en su tiempo era libre y lo regalaban con fuentes y todo. Le cambió practicamente solo su nombre y lo presentó como proyecto de concurso y para colmo se lo dieron. Lo peor del caso es que luego comercializó el producto como software cerrado. No crees que eso si no se vale? Saludos y no te enojes Kaye... |
Cita:
Cita:
Yo te puedo asegurar que hay mucha gente que no tiene un solo duro, comienza a desarrollar con un compilador pirata y en su primer venta se hace de una licencia legal :rolleyes:, no veo porque pienses que el software libre es para gente sin recursos ($$$$)..... Cita:
"Por cierto, me gustaría saber como colaboras con la comunidad de software libre, porque aquí en Club Delphi hay una opción de donación y otra de miembro premium....:rolleyes::rolleyes:" Bueno, pues debo omitir este último comentario ya que acabo de ver que eres moderador, en consecuencia ya veo como colaboras con el Club. Salud OS. |
Hola
Cita:
Cita:
Cita:
Cita:
Por último quiero aclarar que mi PD anterior simplemente era por el hecho de que el post era muy extenso. Amigo egostar veo que tienes muy mala imagen de mi, pero te aseguro que no soy tan malo. |
Hola kayetano
Cita:
Y si, efectivamente, muchos piensan que libre=gratis, eso es lo que en lo personal me molesta de mucha gente que usa software libre, pero bueno, la libertad supone también poder hacer mal uso de ella. Cita:
Cita:
Salud OS. |
Hola a todos
Hola a todos...
Resucitando muertos alguien diría, pero creo que la discusión no ha arribado a ningún puerto, por ninguno los temas planteados ha sido finiquitado. 1) El requerimiento de un ofuscador de código javascript podía ser rápida e inmejorablemente resuelto haciendo una búsqueda en google. Pecando por prejuzgar, la consulta era para ver si había algún ofuscador "realmente bueno" y es porque (repito prejuzgando), posiblemente lo que se quiera ocultar sea muy valioso. Lo que es valioso no se pone al alcance de la gente. Para zanjar este tema, considero que nuestro amigo determine el valor del código a proteger y luego de ello que busque desofuscadores (también en google) y se sorprenderá por la cantidad de herramientas que existen (libres o no). 2) Debo manifestar mi acuerdo con dec, ya que no importa el fin del software, su uso puede ser libre. Otras cosas son hila fino y terminamos debatiendo sobre el sexo de los ángeles. 3) Aclararle a Kayetano que open source no es lo mismo que software libre. 4) A mi siempre dilecto amigo egostar, que -no obstante su inicial reticencia- es quien más conocimiento tiene de lo que es el software libre. Es decir, si es gratis, si podemos hacer lo que querramos con él y si podemos aportar al software libre. No es imperativo ni obligaotiro. Es más, si una persona de una universidad toma el código y lo presenta en un concurso (combiándole el nombre y ofuscándolo o lo que sea), está en todo su derecho. Es un exceso que ronda en lo ético más que en lo legal. (Claro que si hay que agarrar a palos a alguien, que sea al tribunal que le dio el premio.) En cambio, piratear un compilador para usarlo ya está en el plano de lo delincuencial. Y eso no lo pondero ni lo permito. Esas apologías que quieren aparecer de buenos consejos o realidades son en realidad pendejadas sancionables desde el punto de vista legal. Lo que si es que el software libre otorga al "que hace lo que le da la gana" la posibilidad de hacerlo. Eso es lo más importante. Si desarrollo software con software libre, tengo la garantía de que el día de mañana no me cobrarán por licencias o patentes ya que los autores de los componentes que haya utilizado, cedieron todos sus derechos (excepto el de la autoría). Así, hacer software con software libre es tener la libertad de vender o regalar o copiar o lo que sea el producto final, sin miedo a que el día de mañana me cobren, me acusen o me califiquen. Créanme que no sucede lo mismo con el software propietario. Muchos de los componentes que ustedes están usando para realizar software, el día de mañana podrán ser reclamados en justo pago. Les recomiendo leer la licencia del software que usan para desarrollar, así evitarán problemas en el tiempo. En cuanto a que algunos productos son gratuitos, eso es bueno, ya que permite usarlos sin restricciones económicas. Que una de las reglas es que sean buenos por que son de software libre, no es tan cierto. Más cierto es decir que, por su propio carácter de código abierto, existen más posibilidades de detectar y corregir errores, por lo que, evolucionan mucho más rápido que los productos del software propietario. Así, no es que el software propietario no tenga futuro. Diría más bien que el software libre tiene mucho futuro. Y ahí es hacia donde vamos. Reciban mis más cordiales saludos. |
Hola
Como ya he comentado anteriormente la gran mayoría de ofuscadores de Javascript no sirven para nada. Cita:
Cita:
Codigo abierto Software libre |
Con el mayor de los placeres
Con todo gusto Kayetano. Software libre permite cuatro libertades: usar, distribuir, revisar y modificar.
Open source permite revisar, pero ello no necesariamente implica las otras tres libertades. Cualquier software que impida alguna de las cuatro libertades, deja -automáticamente- de ser software libre. Así, existe software que te permite revisar el codigo (open source) pero que no puedes modificarlo, o venderlo o algo, no es software libre. Espero haber sido de utilidad para aclarar la diferencia. |
Hola
Por tu definición me da la sensación que son mundos muy diferentes. Yo prefiero quedarme con mi amiga la wikipedia que dice "son incompatibles desde el punto de vista filosófico, y completamente equivalentes desde el punto de vista práctico, de hecho, ambos movimientos trabajan juntos en el desarrollo práctico de proyectos." para mi son dos conceptos muy similares ya que la definición correcta es como se aplica la idea. De todas formas y en vista que las definiciones te dan la razón pido disculpas por la confusión. Y por último ¿conoces algún proyecto open source con restricciones? es que yo utilizo mucho software libre, siempre estoy buscando nuevos programas y no recuerdo haber leido ninguna licencia de tipo open source con algún tipo de restricción, y me gustaría conocer como evoluciona este tipo de software. Y sobre todo gracias por aclarame el concepto, nunca me acostaré sin saber algo nuevo. |
Un poco más de información
Quizá valga la pena dar una vuelta por la siguiente dirección
http://www.gnu.org/philosophy/categories.es.html que es la fuente oficial de todo lo que se está hablando cuando se habla de software libre, open source y otros. Un abrazo |
Pues yo no tomaria Wikipedia como una "autoridad" en este tipo de situaciones dado que hasta yo puedo entrar y escribir mi propia definición como se me antoje. Por lo tanto el articulo citado solo refleja el pensar de su autor y punto.
Por otro lado como bien dice semptrion el lugar adecuado es el portal de GNU, de donde sale todo y como bien lo dice: es oficial. |
Hola
Cita:
Cita:
Cita:
|
Buenas.
Hacer caso omiso de este mensage. Ha sido un error. El bueno es el siguiente. Perdón. |
Buenas.
Igual, más que ofuscarlo, te resulte interesante evitar la portabilidad, de forma que tu código funcione solo en el dominio que especifiques. Echa un vistazo en CopyRightParser. Este sitio te brinda también la posibilidad de establecer una frase visible de copy right, de manera tal que cualquier intento de eliminarla provocará un mal funcionamiento del código. Posteriormente, y si todavía te preocupa el ofuscado, puedes utilizar packer de Dean Edwards, para comprimir y ofuscar todavía más. Saludos. |
La franja horaria es GMT +2. Ahora son las 20:48:46. |
Powered by vBulletin® Version 3.6.8
Copyright ©2000 - 2024, Jelsoft Enterprises Ltd.
Traducción al castellano por el equipo de moderadores del Club Delphi