Académique Documents
Professionnel Documents
Culture Documents
and Analytics
Community Edition
Versin 5.19
Tabla de Contenidos
.
Tabla de Contenidos
Introduccin
1-2
Funciones
2-3
Actualizaciones
Primeros pasos
.
Entradas
Propiedades
Opciones de configuracin
3-7
7-9
9-13
13-14
Cambiar el nombre
14-18
Analytics
18-25
Resultados
25-26
Ms all de la ofuscacin
.
Community Workbench
Seguimiento de excepciones
.
26
26-27
27
27-28
28
28
28-30
30-31
Simular la alteracin
31
31
Indice
31
31-32
33-37
En
la
documentacin
de
PreEmptive
Dotfuscator
and
Analytics
CE
Introduccin
Se explican las ventajas del uso de PreEmptive Dotfuscator and Analytics Community Edition 5.19.
Primeros pasos
Se explica cmo iniciar PreEmptive Dotfuscator and Analytics Community Edition 5.19 y registrar el producto.
Opciones de configuracin
Se explica cmo ofuscar la aplicacin mediante el cambio de nombre. Despus se explica cmo usar las capacidades
de inyeccin de cdigo de Dotfuscator para realizar el seguimiento del uso de las funciones, detectar las alteraciones
y controlar la expiracin en las aplicaciones.
Resultados
Muestra una representacin visual de la aplicacin una vez que Dotfuscator and Analytics la recompila.
Ms all de la ofuscacin
Explica la nueva categora de control de deteccin de Dotfuscator and Analytics CE, que permite supervisar,
administrar y proteger mejor las aplicaciones
Portal gratuito de PreEmptive Analytics
Describe los informes y paneles disponibles de forma gratuita que permiten obtener una perspectiva de cmo se usan
las aplicaciones.
Introduccin
Su copia de Microsoft Visual Studio incluye una licencia gratuita de PreEmptive Dotfuscator and Analytics Community
Edition 5.19 (Dotfuscator and Analytics CE 5.19). Al igual que las versiones anteriores de Dotfuscator incluidas en
Visual Studio, Dotfuscator and Analytics CE proporciona herramientas para proteger y reforzar las aplicaciones .NET.
Dotfuscator and Analytics CE 5.19 funciona con ensamblados compilados sin necesidad de realizar ninguna
programacin adicional ni tener acceso al cdigo fuente.
Adems, Dotfuscator and Analytics CE 5.19 ofrece diversos servicios para desarrolladores, arquitectos y evaluadores.
Algunos ejemplos de las nuevas capacidades de proteccin, supervisin y administracin incluidas en Dotfuscator and
Analytics CE 5.19 son:
Seguimiento de excepciones para supervisar las excepciones no controladas, controladas o iniciadas dentro de la
aplicacin.
Defensa ante la alteracin para detectar la ejecucin de las aplicaciones alteradas, transmitir alertas de
incidentes y terminar las sesiones alteradas.
Comportamientos ante la expiracin de las aplicaciones que codifican la fecha de fin del perodo de vigencia,
transmiten alertas cuando las aplicaciones se ejecutan despus de la fecha de expiracin y/o terminan las
sesiones de las aplicaciones que han expirado.
Seguimiento de las sesiones para determinar qu aplicaciones se han ejecutado, las versiones de dichas
aplicaciones y durante cunto tiempo.
Seguimiento del uso de las sesiones para determinar qu funciones se estn usando, en qu secuencia y durante
cunto tiempo.
Funciones
Esta seccin se centra en las capacidades de Dotfuscator and Analytics CE 5.19 con algunas referencias a las opciones
avanzadas disponibles en las actualizaciones.
Dotfuscator and Analytics CE 5.19 es un sistema posterior a la compilacin destinado a las aplicaciones .NET. Con
Dotfuscator and Analytics CE 5.19, los usuarios de Visual Studio puede ofuscar los ensamblados e inyectar funciones
para la deteccin de alteraciones, la expiracin de las aplicaciones, la supervisin de las sesiones y el seguimiento de
caractersticas, todo ello sin necesidad de programar ni de tener acceso al cdigo fuente original. Esta informacin
puede dirigirse a uno o varios extremos (o nubes) para realizar informes y anlisis.
Proteccin
de
las
aplicaciones
El robo de la propiedad intelectual, la piratera y la alteracin por s solas incrementan materialmente el riesgo
financiero, operativo y para la reputacin tanto de los proveedores como de los consumidores. Dotfuscator and
Analytics CE 5.19 incluye una ofuscacin de lnea base que persigue reducir el riesgo de que se produzcan accesos no
autorizados al cdigo fuente a travs de tcnicas de ingeniera inversa.
Defensa
de
las
aplicaciones
Los avances en las arquitecturas de las aplicaciones y la informtica distribuida han hecho que sus componentes sean
cada vez ms vulnerables a los ataques y que resulte ms difcil establecer tcnicas de defensa caso por caso y sesin
por sesin. Dotfuscator and Analytics CE 5.19 incluye la capacidad de inyectar lgica que detecta la ejecucin de
cdigo alterado y, si se desea, transmitir una alerta de incidente a un extremo especificado por el desarrollador y/o
terminar la sesin alterada, y todo ello en tiempo real y a travs de distintos dispositivos, plataformas y modelos de
distribucin.
Medida
de
las
aplicaciones
El acceso a informacin detallada relativa al comportamiento de las aplicaciones .NET una vez que han sido
implementadas para los usuarios, ya sea en su versin beta, en la versin inicial o cuando estn disponibles de forma
generalizada, siempre ha sido un objetivo de los desarrolladores de aplicaciones. Dotfuscator and Analytics CE 5.19
puede ayudar a resolver cuestiones como:
Con qu frecuencia se bloquea una aplicacin y con qu frecuencia se encuentran excepciones controladas
Qu aplicaciones ejecutan los usuarios y qu versiones.
Qu funciones se ejecutan y en qu orden.
Cuanto tardan en ejecutarse dichas funciones y cul es la tendencia a lo largo del tiempo.
Qu grado de estabilidad experimentan los usuarios con las aplicaciones en su uso prctico.
Tradicionalmente, lo que supone recopilar esta informacin del rendimiento del usuario final es que algunos equipos
de desarrollo deban seguir los pasos para tener acceso a la misma. Y cuando lo hacen, la complejidad derivada de
tener que mantener los anlisis hace que el proceso sea frgil y resulte difcil adaptarlo a los cambios.
Dotfuscator and Analytics CE 5.19 facilita a los desarrolladores, evaluadores y arquitectos la obtencin de esta
informacin con apenas ningn efecto en el rendimiento del usuario final. Dotfuscator and Analytics CE 5.19 puede
inyectar la supervisin de sesiones, caractersticas y excepciones hasta el nivel de mtodo, y transmitir datos en
tiempo de ejecucin a uno o varios extremos. Tanto si se encuentra administrando el ciclo de una versin beta, en
una cartera de servicios Web o dentro del ciclo de vida de la evaluacin de un producto, Dotfuscator and Analytics CE
5.19 puede proporcionar una perspectiva eficaz para la adopcin, el comportamiento del usuario, la estabilidad y, a
la larga, las consecuencias del software en el negocio.
Administracin
de
aplicaciones
Actualizaciones
Es conveniente que los desarrolladores profesionales que requieren soporte tcnico, mantenimiento y actualizaciones
de productos de forma continuada actualicen su copia de Dotfuscator and Analytics CE 5.19 con una edicin
comercial de Dotfuscator que satisfaga las necesidades nicas de su organizacin de desarrollo de aplicaciones. Para
obtener ms informacin sobre las capacidades avanzadas de seguridad de las aplicaciones, supervisin, medicin y
administracin del producto completo de Dotfuscator, incluida una comparacin detallada de todas las ediciones de
Dotfuscator, consulte Informacin general sobre la familia Dotfuscator. Si desea una versin de evaluacin de
Dotfuscator con soporte tcnico completo, solictela.
Las versiones comerciales de Dotfuscator incluyen una seguridad mejorada, una integracin ms estrecha con Visual
Studio y otras extensiones importantes de las funciones de administracin y supervisin de Dotfuscator and Analytics
CE 5.19. Por ejemplo:
Proteccin de las aplicaciones: acceso a toda la gama de transformaciones de ofuscacin expandidas, as como la
capacidad de integrar marcas de agua y de vincular o eliminar ensamblados.
Defensa de las aplicaciones: capacidad de inyectar comportamientos de defensa de las aplicaciones y activar
servicios de informe de incidentes de alteracin.
Medida de las aplicaciones: capacidad de crear "seales" de datos extensibles, crear transmisiones cifradas,
realizar el seguimiento de un nmero ilimitado de caractersticas y mtodos, tener acceso a un variado conjunto
de servicios analticos de aplicaciones y la posibilidad de generar informes sobre excepciones detectadas o
iniciadas (adems de las no controladas).
Administracin de las aplicaciones: capacidad de inyectar comportamientos personalizados, agregar una fecha de
advertencia, obtener analsticas de informes y cifrar las transmisiones.
Primeros pasos
Para empezar a usar Dotfuscator and Analytics CE, realice estos pasos:
Inicie Visual Studio.
En la barra de mens de Visual Studio, haga clic en Herramientas
>
PreEmptive
Dotfuscator
and
Analytics.
Cuando se abra PreEmptive Dotfuscator and Analytics CE, se mostrar la pantalla de inicio en su escritorio:
El programa consta de tres paneles: el rbol de navegacin, el rea de trabajo y los resultados de la compilacin.
En la pantalla Inicio, puede realizar varias acciones. Si se habilita el Contenido dinmico, puede ver las notas de la
versin ms reciente de Dotfuscator Pro y las ltimas noticias de PreEmptive Solutions. Si no se habilita el Contenido
dinmico, la opcin para configurar las preferencias de usuario aparecer en la pantalla de inicio. La opcin
para registrar Dotfuscator and Analytics est visible en todo momento. El contenido dinmico se puede habilitar o
deshabilitar en Preferencias de usuario.
Si es necesario, escriba los detalles de configuracin de los requisitos del servidor proxy en la seccin Configuracin
de red del cuadro de dilogo Preferencias de usuario. La informacin de proxy no se necesita si no tiene un servidor
proxy o si su configuracin se controla a travs de Internet Explorer.
Si desea usar un visor XML para ver los archivos XML de Dotfuscator XML que no sea su visor predeterminado del
sistema, puede hacer clic en Examinar... en la seccin Aplicacin de visor XML y buscar la aplicacin que desee usar.
En la seccin Noticias y actualizaciones, puede optar por permitir que Dotfuscator busque peridicamente si hay
actualizaciones. Tambin es en esta seccin donde puede habilitar el Contenido dinmico para que se muestre en la
pantalla Inicio.
ltima
versin
de
Dotfuscator
and
Analytics
El rea de trabajo contiene un vnculo a las notas de la versin ms reciente de Dotfuscator and Analytics. Si el
Contenido dinmico est deshabilitado, este vnculo le llevar a la pgina del historial de versiones de Dotfuscator
and Analytics en www.preemptive.com.
Registre su producto si desea recibir actualizaciones y mejoras para Dotfuscator and Analytics CE. Escriba la
informacin que se solicita en cada uno de los campos. Para automatizar el envo, seleccione Registrarse
por
web.
Al hacer clic en Siguiente, se le dirige a la segunda pgina del cuadro de dilogo Registro. Si es necesario,
especifique los detalles de configuracin del servidor proxy para la red. Haga clic en Enviar cuando haya terminado.
Una vez que la solicitud de registro se reciba y procese, recibir un mensaje de correo electrnico de confirmacin
de PreEmptive Solutions que contendr el cdigo de comprobacin del registro y las credenciales para el rea de
soporte tcnico registrada de www.preemptive.com, donde podr tener acceso a las versiones actualizadas de
Dotfuscator and Analytics CE.
Ahora est preparado para comenzar a ofuscar e instrumentar su aplicacin con Dotfuscator and Analytics CE.
En
esta
seccin
Entradas
Entradas
Para comenzar a usar Dotfuscator and Analytics CE, agregue uno o varios paquetes o ensamblados de entrada al
proyecto. Para agregar entradas al proyecto, debe tener abierta la pantalla Entradas en el rea de trabajo. Para
activar esta pantalla, haga clic con el botn secundario en el nodo del proyecto en el rbol de navegacin y
seleccione Agregar
entradas, o seleccione la opcin Entradas en el rbol de navegacin.
Para agregar los ensamblados o paquetes de entrada a la lista de entradas, puede arrastrar y colocar los directorios o
archivos .exe o .dll en la seccin Entradas de la pgina.
Tambin puede hacer clic en el botn "Agregar entrada" o hacer clic con el botn secundario del mouse en el
rea Entradas y elegir Agregar entrada. Cuando agregue entradas de esta manera, puede examinar el
lugar donde se encuentra su entrada y seleccionarla o escribir la ruta de acceso a la entrada manualmente.
En la seccin Propiedades del panel del rea de trabajo, seleccione o anule la seleccin de:
Cumplir
atributos
de
instrumentacin: al seleccionar Cumplir atributos de instrumentacin, se indica que
Dotfuscator procese estos atributos y realice las transformaciones de instrumentacin indicadas en el ensamblado de
destino. Al anular la seleccin de esta opcin, se indica a Dotfuscator que debe omitir los atributos de
instrumentacin.
Los atributos de instrumentacin son atributos personalizados que se pueden aplicar en el cdigo de origen para
realizar el seguimiento de la estabilidad, funciones y uso de las aplicaciones, adems de agregar la
funcionalidad de vida til.
Cumplir
atributos
de
ofuscacin: al seleccionar Cumplir atributos de ofuscacin, se indica que Dotfuscator procese
estos atributos y realice las transformaciones de ofuscacin indicadas en el ensamblado de destino. Al anular la
seleccin de esta opcin, se indica a Dotfuscator que debe omitir los atributos de ofuscacin.
Los atributos de ofuscacin son atributos personalizados que se pueden aplicar en el cdigo fuente para
declarar de forma explcita la inclusin o exclusin de tipos, mtodos, enumeraciones, interfaces o miembros
de varios tipos de ofuscacin. El atributo que se usara para incluir o excluir tipos, mtodos, enumeraciones,
interfaces y miembros de la ofuscacin es System.Reflection.ObfuscationAttribute. Si deseara denotar que un
ensamblado especfico tendr sus elementos incluidos o excluidos de la ofuscacin, debera usar
System.Reflection.ObfuscateAssemblyAttribute. Dotfuscator and Analytics CE solo admite el cambio de
nombre. Hay ms funciones de ofuscacin adicionales disponibles en la versin comercial de Dotfuscator.
Informacin
de
entrada
Esta seccin del rea de trabajo Entradas proporciona datos generales acerca del ensamblado seleccionado
actualmente, incluidos el nombre de archivo, la ruta de acceso al archivo, la ruta de acceso al archivo ampliada (til
si se usa ${configdir} u otras propiedades), el tamao de archivo, la fecha de la ltima modificacin y la versin.
Propiedades
El elemento Propiedades del rbol de navegacin lleva al rea de trabajo de configuracin de propiedades. Contiene
seis pestaas, tres de las cuales estn disponibles para los usuarios de Dotfuscator and Analytics CE.
Propiedades
del
proyecto
Se puede considerar Propiedades del proyecto como simples macros de sustitucin de cadenas que pueden usarse
siempre que se requiera un nombre de archivo o una ruta de acceso. En la pantalla Propiedades
del
proyecto se
pueden ver, eliminar y agregar manualmente pares de nombre y valor definidos por el usuario, como propiedades del
proyecto; tambin se pueden ver las propiedades externas. Se consideran propiedades externas las que define
Dotfuscator (como configdir o appdatadir) o las que se pasan, a travs del modificador /p, en la lnea de comandos.
Las propiedades del proyecto son especialmente tiles al crear plantillas de compilacin de ofuscacin para poder
usar varios proyectos y configuraciones. Para hacer referencia a las propiedades, se usa la sintaxis siguiente:
Sintaxis
de
referencia
de
las
propiedades
${nombre_propiedad}
Las referencias a las propiedades distinguen maysculas y minsculas, por lo tanto ${MiDirDeProy} hace
referencia a una propiedad diferente de ${midirdeproy}. Las referencias a las propiedades se interpretan
literalmente y pueden no estar anidadas. En este momento, las referencias a propiedades solo se pueden usar como
valores en los atributos dir or name del elemento <file>.
Dotfuscator usa el algoritmo siguiente para encontrar un valor asociado a la propiedad:
Se busca un valor en la lista de propiedades externas.
Si no se encuentra, se busca una variable de entorno con el mismo nombre que la propiedad.
Si no se encuentra, se busca una propiedad del proyecto.
Si sigue sin encontrarse, se usa una cadena vaca como valor.
10
Propiedades
del
proyecto
En esta seccin, se tiene en cuenta la definicin y asignacin de propiedades adicionales arbitrarias que se van a usar
durante el proceso de compilacin. Estas propiedades se evaluarn del mismo modo que las propiedades externas. En
el ejemplo anterior, projectdir es la propiedad Property y myproject es su parmetro Value.
Cadenas
de
asignaciones
de
funcin
La seccin Cadenas de asignaciones de caracterstica se usa para la ofuscacin declarativa, que se implementa a
travs de la decoracin de atributos dentro del cdigo fuente mientras se escribe. Los atributos que se usan para
controlar la ofuscacin declarativa son System.Reflection.ObfuscateAssemblyAttribute y
System.Reflection.ObufscationAttribute. System.Reflection.ObfuscateAssemblyAttribute controla la ofuscacin del
ensamblado como un todo. System.Reflection.ObufscationAttribute controla la ofuscacin de tipos individuales y de
sus miembros. Cadenas de asignaciones de funcin permite declarar, dentro del cdigo fuente, lo que se debe y no se
debe ofuscar mediante atributos.
En esta seccin, puede agregar, modificar y quitar cadenas de asignaciones de funcin. Para agregar una cadena de
asignacin, haga clic en el campo Cadena de asignaciones y escriba el nombre de la cadena. Cuando lo haga, una fila
de casillas se muestra debajo de la fila actual que contiene la funcin que seleccione. Por ejemplo,
testmode es el nombre de la Cadena de asignaciones que se escribi
renaming es la Funcin de la cadena de asignaciones que se seleccion en la fila de abajo.
11
Cadena
de
funcin Accin
*controlflow
*stringencryption
*trigger
*conditionalinclude
Al decorar los elementos con un atributo de ofuscacin y asegurarse de que se establecen sus ensamblados de
entrada para cumplir los atributos de ofuscacin, puede especificar a qu elementos de la aplicacin no se les debe
cambiar el nombre. En el ejemplo de cdigo siguiente se invoca su mtodo a travs de la reflexin y se debe excluir
del cambio de nombre.
Invocado
a
travs
de
reflexin,
excluido
del
cambio
de
nombre:
[System.Reflection.Obfuscation(Exclude=true, Feature="renaming")]
public void CalledFromReflection(int someValue) {
Si tiene que excluir un mtodo de la ofuscacin en una configuracin concreta de la compilacin, cree una
declaracin de Asignacin de funcin y establezca el valor de la funcin para el atributo de ofuscacin de modo que
coincida. En la captura de pantalla anterior, hemos establecido una cadena de asignacin de funcin "testmode" que
se usar para excluir elementos del cambio de nombre. En el ejemplo de cdigo siguiente, hemos decorado nuestro
mtodo de modo que Dotfuscator cambie su nombre a menos que se defina la cadena de funcin "testmode".
Declaracin
de
la
asignacin
de
funcin
testmode:
[System.Reflection.Obfuscation(Exclude=true, Feature="testmode")]
public void OnlyCalledFromReflectionInTestMode(int someValue){
Configuracin
de
compilacin
Aqu es donde se define el directorio de destino, la configuracin de la compilacin y de la ofuscacin global.
12
Configuracin
de
la
compilacin
Al seleccionar Investigar nicamente se muestra lo que ocurrir como resultado del procesamiento de los
ensamblados de entrada, sin escribirlos realmente. Esto resulta til para crear archivos de asignaciones e informes.
Detalle del resultado de la compilacin: permite determinar la cantidad
El Directorio temporal: es opcional y se usa para almacenar los archivos temporales durante el procesamiento. De
forma predeterminada, Dotfuscator and Analytics CE usa el directorio temporal de Windows. Si desea especificar este
directorio, escriba el nombre del directorio en este campo. Por ejemplo, podra escribir ${projectdir}\temp en
este campo o hacer clic en Examinar para determinar su ubicacin.
de informacin que se presenta en el panel Resultado de la compilacin. Al seleccionar No
interactivo, se consigue
que la informacin resultante sea la mnima posible. Al seleccionar Detallado, se ofrece informacin detallada
acerca de todas las acciones que ocurren durante el proceso de compilacin. La opcin Detallada es especialmente
til si se intenta optimizar los resultados.
Configuracin
de
ofuscacin
global
En esta seccin, se puede seleccionar o anular la seleccin de las opciones Heredar atributos de ofuscacin y
Ofuscacin inteligente. Heredar atributos de ofuscacin especifica si un atributo de ofuscacin que se aplica a un
tipo se debe aplicar tambin a los tipos derivados. Ofuscacin inteligente usa el anlisis esttico para determinar qu
elementos deben excluirse del cambio de nombre. A veces, una regla puede reconocer que es necesario realizar una
accin, pero no puede determinar qu accin especfica llevar a cabo porque el anlisis esttico no genera suficiente
informacin. Cuando esto sucede, la regla emite una advertencia.
Tambin puede determinar si desea recibir notificaciones de ofuscacin inteligente si selecciona Todos para ver
todos los mensajes, Ninguno para no ver ningn mensaje o Solo
advertencias. Cuando se habilita la ofuscacin
inteligente, al compilar el proyecto, se genera un informe de ofuscacin inteligente en su propia pestaa, junto a la
pestaa Resultado de la compilacin. Si se generan advertencias, se presentarn en la pestaa Advertencias de
ofuscacin inteligente.
Rutas
de
acceso
de
carga
de
ensamblado,
eventos
de
compilacin
y
firma
Estas funciones son exclusivas de Dotfuscator Professional Edition. Para solicitar informacin y una evaluacin
gratuita de 14 das (donde corresponda), haga clic en el botn Probar
ahora en la barra de herramientas. Para saber
cmo comprar Dotfuscator Professional Edition, haga clic en el botn Comprar
ahora en la barra de herramientas.
Otra alternativa es seleccionar estas opciones en el men Ayuda.
Opciones de configuracin
En la seccin Opciones de configuracin se pueden establecer las opciones y exclusiones para cambiar los nombres,
elegir las reglas de cambio de nombre integradas y determinar la configuracin de Analytics.
Opciones como Ofuscacin del flujo de control, Cifrado de cadenas, Eliminacin, Vinculacin y Marcado previo son
exclusivas de Dotfuscator Professional Edition. Para solicitar informacin y una evaluacin gratuita de 14 das (donde
corresponda), haga clic en el botn Intentar ahora de la barra de herramientas. Para obtener informacin sobre cmo
13
En
esta
seccin
Cambiar el nombre
Analytics
Cambiar el nombre
El editor de cambio de nombre muestra cuatro pestaas de configuracin: Introduccin, que describe varias
caractersticas para la proteccin de las aplicaciones y explica cmo configurar las opciones de cambio de nombre y
las exclusiones; Exclusiones es una pestaa que sirve para definir grficamente reglas de exclusin personalizadas; la
pestaa Opciones se usa para configurar otras opciones relacionadas con el cambio de nombre; y Reglas integradas es
una pestaa que muestra reglas de exclusin de cambio de nombre preconfiguradas que se aplican a tipos de
aplicaciones o tecnologas concretas.
Exclusiones
de
cambio
de
nombre
La ficha Exclusiones
de
cambio
de
nombre le permite determinar qu partes de un programa se van a excluir del
proceso de cambio de nombre. Puede excluir elementos especficos del cambio de nombre examinando el rbol de
navegacin y activando esos elementos.
La ficha Exclusiones de cambio de nombre le ofrece un completo control detallado sobre todas las partes de un
programa que puede desear excluir del proceso de cambio de nombre.
Puede excluir elementos especficos del cambio de nombre examinando la vista de rbol de la aplicacin y activando
los elementos que desee excluir. Adems, puede crear .visualmente sus propias reglas personalizadas para
seleccionar varios elementos para la exclusin.
Se pueden definir reglas personalizadas para excluir mayores selecciones de elementos sin necesidad de
seleccionarlas individualmente para la exclusin en la vista de rbol. Se pueden definir reglas para excluir espacios
de nombres, clases, mtodos, propiedades, eventos y capos basndose en su nombre. Adems, se puede usar una
expresin regular para proporcionar una manera de especificar un modelo con cualesquiera elementos que coincidan
con ese modelo, que se excluirn de la ofuscacin.
Para ayudar a optimizar las reglas de exclusin, puede obtener una vista previa de los efectos acumulados en
cualquier momento haciendo clic en el botn Vista
previa. La vista del rbol de aplicacin atena todos los
elementos seleccionados para la exclusin.
14
15
16
La pestaa Reglas
integradasde
cambio
de
nombre muestra las reglas de exclusin de cambio de nombre
preconfiguradas que se aplican a tipos de aplicaciones o tecnologas especficas. Cada regla tiene una descripcin
que muestra en la pantalla cundo se selecciona. Para aplicar una regla integrada a su proyecto, basta con activarla.
17
Habilitar
cambio
de
nombre : active esta opcin para habilitar el cambio de nombre. Tambin puede hacer clic
con el botn secundario en Cambiar
nombre en el rbol de navegacin y activar Habilitar para habilitar el cambio
de nombre. Igualmente, si el cambio de nombre est habilitado, puede deshabilitarlo haciendo clic con el botn
secundario en Cambiar nombre en el rbol de navegacin y desactivando Habilitar. Si esta opcin se desactiva,
Dotfuscator no realizar el cambio de nombre cuando se compile el proyecto.
Asegurar
la
compatibilidad
con
el
serializador
XML: seleccione esta opcin para configurar el cambio de nombre
de modo que se permita la serializacin XML.
Introducir
invalidaciones
de
mtodos
explcitos
al
cambiar
de
nombre : actvela para permitir invalidar mtodos
para tener nombres diferentes de aquellos a los que invalidan.
Tambin puede seleccionar las opciones apropiadas de Control de espacio de nombres:
Acoplar
y
cambiar
el
nombre quita los espacios de nombres.
Solo cambiar
nombre cambia el nombre de los espacios de nombres, pero mantiene la jerarqua.
Preservar mantiene los espacios de nombres exactamente como estn en el ensamblado de entrada.
La seccin Asignacin de resultados es donde se establece el destino del archivo de asignaciones de salida. Tambin
tiene la opcin de sobrescribir el archivo de salida cada vez que compile la aplicacin sin generar una copia de
seguridad de los archivos de asignaciones existentes.
Analytics
Analytics agrega a las aplicaciones funcionalidad previamente compilada para el seguimiento de su uso, notificacin
de excepciones, deteccin de la alteracin binaria y expiracin de las aplicaciones, sin necesidad de cdigo
adicional. Dotfuscator and Analytics inyecta el cdigo necesario en su lugar. Puede definir puntos de inyeccin a
18
Atributos
de
ensamblado
Los atributos de ensamblado son aquellos que solo pueden aplicarse en el nivel de ensamblado. Se usan en el proceso
de inyeccin de cdigo para agregar datos de identificacin nicos a un ensamblado, como la informacin de la
compaa, o para realizar el seguimiento de las excepciones en todo el ensamblado.
Atributos
de
ensamblado
obligatorios
Para instrumentar los PreEmptive Analytics, hay dos atributos de ensamblado obligatorios. Estos atributos se agregan
a la aplicacin haciendo clic con el botn secundario en un nodo de ensamblado en el rbol Seleccione el atributo
que modificar:.
BusinessAttribute
BusinessAttribute es un atributo necesario que contiene los valores que identifican la compaa propietaria de la
aplicacin que es objeto de instrumentacin. Este atributo est formado por una clave CompanyKey, que se debe
establecer en "7d2b02e0-064d-49a0-bc1b-4be4381c62d3" para su uso con el portal gratuito de PreEmptive Analytics.
Por comodidad, CompanyKey se establece en este GUID de manera predeterminada. Si desea usar como destino un
extremo diferente, use el valor de CompanyKey que le haya proporcionado PreEmptive Solutions o genere un
identificador nico nuevo con el botn "..." asociado al rea de entrada de CompanyKey. CompanyName se puede
dejar vaco, pero se recomienda especificar el nombre de la compaa para la personalizacin del portal de
PreEmptive Analytics.
ApplicationAttribute
El atributo ApplicationAttribute es obligatorio y contiene los valores que se usan para identificar la aplicacin que se
instrumenta:
ApplicationType. Identifica el tipo de aplicacin que se instrumenta como una aplicacin Windows.
GUID. Es un identificador nico de la aplicacin que se genera haciendo clic en "..." en este campo.
Nombre Nombre de la aplicacin. Si lo deja en blanco, el nombre se rellenar mediante reflexin (si se permite
en tiempo de ejecucin). Rellnelo solo si desea que el nombre en el portal sea diferente del ensamblado o si no
se puede usar la reflexin en la aplicacin en tiempo de ejecucin (por ejemplo, si se trata de una aplicacin
Silverlight).
Version. Es la versin de la aplicacin. Si lo deja en blanco, el nombre se rellenar mediante reflexin (si se
permite en tiempo de ejecucin). Rellnelo solo si desea que la versin en el portal sea diferente de la versin en
19
Atributos
funcionales
Los atributos funcionales se pueden usar para realizar el seguimiento de la estabilidad de las aplicaciones, el uso de
funciones, los intentos de alteracin y la frecuencia de uso de una aplicacin. Tambin se pueden usar para hacer
que una aplicacin deje de funcionar despus de una fecha especificada.
SetupAttribute
El atributo SetupAttribute se usa para realizar el seguimiento de cundo se inicia una aplicacin. Dotfuscator and
Analytics inyecta cdigo de inicio para el envo de mensajes y enva el mensaje de inicio. Debe haber uno o varios
mtodos con este atributo en un ensamblado o en la aplicacin que use PreEmptive Analytics. Este atributo se debe
colocar lo ms cerca posible de la lgica de inicio normal de la aplicacin. En tiempo de ejecucin, la funcionalidad
que genera este atributo comenzar a enviar los datos de uso al portal de PreEmptive Analytics. Opcionalmente,
puede especificar la ubicacin en el cdigo de la funcionalidad que controla la transmisin de mensajes (el
comportamiento de alta o baja). Dotfuscator and Analytics usar esta informacin al generar el cdigo de
inicializacin.
20
21
Para configurar el comportamiento de alta o baja, debe configurar la propiedad OptInSourceElement con el tipo de
elemento de cdigo apropiado que vaya a contener el valor booleano. La propiedad OptInSourceName debe ser el
nombre del elemento que contenga el valor booleano que se vaya a usar para determinar si los datos de PreEmptive
Analytics se van a recopilar y transmitir. En tiempo de ejecucin, el valor de origen se debe establecer en el cdigo
de la aplicacin antes de llamar al mtodo de configuracin. La propiedad OptInSourceOwner debe dejarse sin valor
si el elemento se define en la misma clase que el mtodo con el atributo SetupAttribute. Si la propiedad
OptInSourceElement es el argumento de un mtodo, debe corresponderse a un parmetro del mtodo que se anote
con el atributo SetupAttribute.
TeardownAttribute
El atributo TeardownAttribute se usa para realizar el seguimiento del momento en que una aplicacin se detuvo
correctamente. Dotfuscator and Analytics inyecta cdigo de desensamblado para el envo de mensajes y enva el
mensaje de apagado. Debe haber uno o varios mtodos con este atributo en un ensamblado o aplicacin que use la
analtica de PreEmptive Analytics. El mtodo Teardown no tiene que ser necesariamente el ltimo al que se llame,
pero s debera tener la propiedad que se ejecute exactamente una vez cuando la aplicacin se cierre, lo ms cerca
posible del momento en que se salga de ella.
FeatureAttribute
El atributo FeatureAttribute sirve para marcar las caractersticas de las que se desea realizar un seguimiento con el
servicio de PreEmptive Analytics. Este atributo se puede incluir en cualquier mtodo o propiedad. PreEmptive
Analytics realiza el seguimiento de las funciones con el nombre que se proporciona en esta propiedad. Se puede dar
el mismo nombre a varios mtodos, con lo que se actualizar el mismo indicador de uso en el portal de PreEmptive
22
23
24
La seccin Configuracin de PreEmptive Analytics de esta pestaa es donde puede seleccionar qu tipos de mensaje
se enviarn al PreEmptive Analytics. La opcin Enviar mensajes de anlisis de aplicacin habilita el envo de
mensajes relacionados con el uso de las caractersticas. La opcin Enviar mensajes de notificacin de vida til
habilita el envo de mensajes de expiracin de vida til y de seal de vida. La opcin Enviar mensajes de alerta de
alteracin habilita el envo de mensajes de notificacin de alteracin. Desactivar las opciones para enviar mensajes
de vida til o alteracin solo afectar a la transmisin de dichos mensajes; si ha seleccionado que la accin
predeterminada tenga lugar, la aplicacin seguir cerrndose como estaba previsto. La opcin Versin de Analytics
permite especificar la versin mxima de la API de instrumentacin que se va a insertar. Por lo general, no tendr
que configurar est opcin y podr dejar el valor predeterminado, a no ser que el servicio tcnico de PreEmptive
Solutions le indique lo contrario.
Resultados
Una vez compilado el proyecto, puede inspeccionar los resultados en la pestaa Resultados.
25
Aqu puede examinar la vista de rbol y ver cmo Dotfuscator and Analytics cambia el nombre de los tipos, mtodos y
campos. Los nuevos nombres aparecen como nodos secundarios debajo de los nodos originales en el rbol. Esta
informacin tambin se guarda en el archivo de asignaciones tal como se configura en las Opciones de cambio de
nombre.
Ms all de la ofuscacin
Dotfuscator and Analytics CE combina su tecnologa de ofuscacin de confianza con la tecnologa de inyeccin para
proporcionar vistas casi en tiempo real de la implementacin, estabilidad y uso de las aplicaciones. Adems de la
ofuscacin, Dotfuscator and Analytics CE ofrece una nueva categora de control de deteccin para supervisar,
administrar y proteger mejor las aplicaciones. Dotfuscator and Analytics CE puede:
Proporcionar una vista casi en tiempo real de la integridad y la actividad de las aplicaciones en tiempo real.
Instrumentar las aplicaciones para detectar si han sido alteradas y, si fuera as, enviar un mensaje, si se desea, al
servicio PreEmptive Analytics.
Instrumentar las aplicaciones con lgica de expiracin, desactivacin y notificacin que reaccione ante la
expiracin de las mismas saliendo de ellas y/o enviando un mensaje de PreEmptive Analytics.
En
esta
seccin
Introduccin a la defensa activa contra la alteracin
Expiracin de las aplicaciones
Anlisis de las aplicaciones
Seguimiento de excepciones
26
PreEmptive
Analytics
Workbench
PreEmptive Analytics Workbench acepta, procesa, transforma y agrega mensajes analticos que pueden verse en un
explorador web. Gracias a sus muchas opciones de configuracin y personalizacin, es capaz de proporcionar gran
cantidad de informacin en tiempo real basada en roles sobre el uso de la aplicacin, su adopcin, el
comportamiento del usuario y la calidad del software, lo que contribuye a ahorrar tiempo y dinero.
Para obtener ms informacin sobre PreEmptive Analytics Workbench, visite nuestro sitio web.
PreEmptive tambin cuenta con Community Workbench, una herramienta gratuita que puede usarse, por ejemplo,
con Dotfuscator and Analytics.
PreEmptive
Analytics
para
Team
Foundation
Server
(TFS)
PreEmptive Analytics para Team Foundation Server agrega y analiza excepciones y crea automticamente elementos
de trabajo de Visual Studio o TFS utilizando nicamente las reglas y umbrales operativos definidos por usted.
PreEmptive Analytics para TFS est especialmente diseado para ayudar a optimizar los comentarios procedentes del
equipo de desarrollo e incrementar su eficacia, as como para mejorar la calidad del software y la experiencia del
usuario.
PreEmptive Analytics para TFS utiliza la instrumentacin de excepciones. No necesita la instrumentacin de
caractersticas, plataforma, rendimiento, etc.
Para obtener ms informacin sobre PreEmptive Analytics para TFS, visite nuestro sitio web.
En
esta
seccin
Tipos de aplicaciones .NET admitidas
Community Workbench
PreEmptive Solutions dispone de una instancia gratuita de PreEmptive Analytics Workbench llamada Community
Workbench. Esta instancia de Workbench permite a cualquier persona comprobar la instrumentacin de PreEmptive
Analytics en una instancia activa y determinar cmo dicha instrumentacin puede utilizarse para obtener informacin
en tiempo real basada en roles sobre el uso de la aplicacin, su adopcin, el comportamiento del usuario y la calidad
del software.
El uso de este servicio y del portal no ofrece ninguna garanta ni contrato de nivel de servicio.
Para utilizar Community Workbench, configure el extremo de instrumentacin como http://so-s.info/community y
utilice 7d2b02e0-064d-49a0-bc1b-4be4381c62d3 como valor de CompanyKey. Para acceder al portal y obtener ms
27
Seguimiento de excepciones
El seguimiento de excepciones es un mtodo que detecta las excepciones en la aplicacin de destino y reacciona
automticamente, a medida que se producen. Dotfuscator and Analytics inyecta cdigo que encuentra las
excepciones detectadas, iniciadas o no controladas. A continuacin, el cdigo de seguimiento de excepciones puede
recopilar detalles del usuario y notificar la excepcin detectada a un extremo de PreEmptive Analytics. Un usuario
puede permitir que se enve un informe de excepciones de forma explcita, aunque haya rechazado previamente el
envo de mensajes de PreEmptive Analytics, y puede proporcionar comentarios e informacin de contacto para que se
enven con el informe. Adems, el desarrollador puede especificar la accin personalizada que se debe llevar a cabo
cuando se detecte la excepcin.
Para facilitar el caso habitual de la notificacin de excepciones no controladas, Dotfuscator and Analytics puede
inyectar un cuadro de dilogo de informe de excepciones, creado previamente, que proporcione al usuario una
experiencia uniforme en los informes de excepciones. Se requiere una configuracin mnima para indicar a
Dotfuscator and Analytics que realice el seguimiento de las excepciones no controladas, muestre el cuadro de dilogo
de informe de excepciones que obtendr el consentimiento explcito del usuario, recopile comentarios y datos de
contacto opcionales del usuario y enve el informe al extremo de PreEmptive Analytics configurado.
En
esta
seccin
Informe de excepciones y el atributo ExceptionTrack
Recopilar la informacin del informe de excepciones especificada por el usuario
28
Usar
el
cuadro
de
dilogo
de
informe
de
excepciones
integrado
como
ReportInfoSource
Dotfuscator and Analytics puede inyectar un cuadro de dilogo de informe de excepciones, creado previamente, para
facilitar la configuracin en la mayora de los escenarios y proporcionar al usuario una experiencia coherente para la
notificacin de excepciones. Para usar el cuadro de dilogo integrado, el ensamblado debe tener como destino la
versin 1.1 (o posterior) de .NET Framework o Silverlight versin 2 (o posterior). Para indicar a Dotfuscator and
Analytics que use el cuadro de dilogo integrado cuando ReportInfoSourceestablezca el valor de
ReportInfoSourceElement en "DefaultAction".
Cuando el cuadro de dilogo integrado se usa en .NET Framework, se crea y muestra mediante la API de Windows
Forms. Esto puede tener consecuencias imprevistas para las aplicaciones de consola o servicios, por lo que sera
preferible usar un ReportInfoSource en estos casos. Si su ensamblado todava no hace referencia a las bibliotecas
correctas de Windows Forms, se agregarn referencias.
Usar
un
ReportInfoSource
personalizado
El ExceptionTrackAttribute define tres propiedades para especificar un ReportInfoSource:
ReportInfoSourceElement. El ReportInfoSourceElement puede ser cualquiera de los valores definidos en la
enumeracin SourceElements : un campo, propiedad o mtodo, o cuando se usa el seguimiento de excepciones
de nivel de mtodo, un argumento de mtodo. Si ReportInfoSourceElement es un argumento de mtodo,
debe corresponderse con un parmetro del mtodo al que se adjunta el atributo.
ReportInfoSourceOwner. Si ReportInfoSourceElement es un campo, mtodo o propiedad, o clase
ReportInfoSourceOwner debe indicar la clase que define el campo, mtodo o propiedad.
ReportInfoSourceName. El ReportInfoSourceName se debe establecer en el nombre del campo, mtodo,
propiedad o argumento de mtodo, de tipo IDictionary o IDictionary<string, string> que contiene la
informacin del informe especificada por el usuario en tiempo de ejecucin.
Hay tres pares clave-valor que se pueden incluir en el diccionario proporcionado por ReportInfoSource:
consent. Es una representacin de cadena de un valor booleano que indica si el usuario ha aceptado o rechazado
29
Uso
de
atributos
de
seguimiento
de
excepciones
con
ReportInfoSource
[ExceptionTrack(
ReportInfoSourceElement = SourceElements.Method,
ReportInfoSourceName = "GetDictionary"
)]
private void Foo() {
...
}
// Crea y rellena un diccionario con los datos del informe especificados por el usuario
public IDictionary<string, string> GetDictionary() {
Dictionary<string, string> dict = new Dictionary<string, string>();
dict.Add("consentimiento", "true");
dict.Add("comentario", "El mtodo Foo() inici una excepcin".);
dict.Add("contacto", "foo@bar.com");
return dict;
}
30
Simular la alteracin
Dotfuscator incluye una utilidad de lnea de comandos sencilla que altera un ensamblado. Se denomina
TamperTester.exe y se instala en la misma carpeta que Dotfuscator.
Uso
tampertester <file_name> [destination folder]
Al ejecutar los ensamblados de Dotfuscator and Analytics con esta utilidad, puede probar que los mensajes de
notificacin de alteracin estn generndose y envindose segn lo previsto. Tambin puede probar el cdigo de
aplicacin que ha escrito para ejecutarse en respuesta a la deteccin de una alteracin.
En
esta
seccin
Introduccin a las claves de activacin de vida til
32
Indice
.exe,
7-9
.NET,
31
,
27
compact framework, 31
.xaml,
7-9
accin
de
funcin,
9-13
Actualizaciones,
3
alteracin,
18-25
,
26
,
30-31
,
31
defensa, 1-2 , 2-3 , 30-31
deteccin, 30-31
notificacin, 30-31
simulacin, 31
Anlisis
de
las
aplicaciones,
26-27
Analytics,
1-2
,
13-14
,
18-25
,
26
,
31-32
,
26-27
configuracin, 13-14 , 18-25
editor, 18-25
extremo personalizado, 18-25
opciones, 18-25
pestaa, 31-32
Portal gratuito, 1 , 1-2 , 18-25
Portal, 1 , 1-2 , 18-25
aplicacin
administracin, 2-3 , 3
anlisis, 26 , 26-27
atributo, 18-25
defensa, 2-3 , 3
desactivacin, 31
excepciones, 1-2 , 2-3 , 3 , 18-25 , 28 , 28 , 28-30
expiracin, 1-2 , 2-3 , 26 , 31
GUID, 18-25
medida, 2-3 , 3
nombre, 18-25
proteccin, 2-3 , 3
seguridad, 1-2
tipo, 18-25
versin, 18-25
application,
18-25
,
26
,
26-27
archivo
nombre, 7-9
ruta de acceso, 7-9
tamao, 7-9
asignacin
de
resultados,
14-18
assembly,
7-9
33
9-13
atributo
insert
tamper
check,
30-31
atributo
personalizado,
14-18
atributo,
9-13
,
18-25
binario, 18-25
empresa, 18-25
ensamblado, 18-25
extendido , 18-25
feature, 18-25
funcional, 18-25
insertar comprobacin de alteracin, 18-25
insertar seal de vida, 18-25
insertar vida til, 18-25
obligatorio, 18-25
ofuscacin, 9-13
personalizado, 18-25
setup, 18-25
teardown, 18-25
baml,
7-9
cdigo
administrado,
31
,
27
cdigo
nativo,
31
,
27
C++,
31
,
27
cadena
de
funcin,
9-13
cadenas
de
asignaciones
de
funcin,
9-13
cambiar
el
nombre,
14-18
cambio
de
nombre
exclusiones, 14-18
introducir invalidaciones de mtodos explcitos, 14-18
opciones, 14-18
reglas integradas, 14-18
cifrado
de
cadenas,
13-14
Community
Workbench,
27-28
compilacin,
9-13
configuracin, 9-13
detalle de salida, 9-13
eventos, 9-13
configuracin
de
ofuscacin
global,
9-13
configuracin,
1
,
13-14
opciones, 13-14
contenido
dinmico,
3-7
cuadro
de
dilogo
de
informe
de
excepciones,
28-30
cumplir
atributos
de
instrumentacin,
7-9
cumplir
atributos
de
ofuscacin,
7-9
defensa
activa
contra
la
alteracin,
26
34
26
directorio,
9-13
destino, 9-13
temporal, 9-13
dll,
7-9
Dotfuscator,
1
,
3-7
eliminacin,
13-14
ensamblado
de
entrada
varios mdulos, 31 , 27
ensamblado
agregar, 7-9
entrada , 7-9
informacin, 7-9
propiedad, 7-9
entradas,
3-7
espacio
de
nombres,
14-18
opciones de control, 14-18
exclusiones
de
cambio
de
nombre,
13-14
expiration,
26
extremo
personalizado,
18-25
fecha
de
modificacin,
7-9
file,
7-9
firma,
9-13
funcin
seguimiento del uso, 1-2 , 2-3
Funciones,
2-3
Informe
de
excepciones
y
el
atributo
ExceptionTrack,
28
Introduccin
Actualizaciones, 3
Funciones, 2-3
Introduccin, 1-2
Introduccin
a
la
defensa
activa
contra
la
alteracin,
30-31
Introduccin
a
las
claves
de
activacin
de
vida
til,
31-32
Introduccin,
1-2
Ms
all
de
la
ofuscacin
Anlisis de las aplicaciones, 26-27
Community Workbench, 27-28
Expiracin de las aplicaciones, 31
Informe de excepciones y el atributo ExceptionTrack, 28
Introduccin a la defensa activa contra la alteracin, 30-31
Introduccin a las claves de activacin de vida til, 31-32
Ms all de la ofuscacin, 26
Recopilar la informacin del informe de excepciones especificada por el usuario, 28-30
Seguimiento de excepciones, 28
35
26
marcado
previo,
13-14
mensaje,
18-25
analtica de aplicacin, 18-25
notificacin de alteracin, 18-25
seal de vida, 18-25
vida til, 18-25
modo
de
biblioteca,
7-9
notificacin
de
alteracin,
31
notificacin,
26
lgica, 26
ofuscacin
declarativa,
9-13
ofuscacin
del
flujo
de
control,
13-14
ofuscacin
inteligente,
9-13
informe, 9-13
ofuscacin,
7-9
,
9-13
opciones
de
cambio
de
nombre,
13-14
Opciones
de
configuracin
Analytics, 18-25
Cambiar el nombre, 14-18
Opciones de configuracin, 13-14
Opciones
de
configuracin,
13-14
opciones
de
exclusin,
14-18
package,
7-9
paquete
agregar, 7-9
entrada, 7-9
informacin, 7-9
propiedad, 7-9
Portada
Portada, -2--1
Portada,
-2--1
PreEmptive
Dotfuscator
and
Analytics
CE
PreEmptive Dotfuscator and Analytics CE, 1
PreEmptive
Dotfuscator
and
Analytics
CE,
1
preferencias
de
usuario,
3-7
configuracin, 3-7
Primeros
pasos
Entradas, 7-9
Primeros pasos, 3-7
Propiedades, 9-13
Primeros
pasos,
3-7
36
9-13
propiedades
externas,
9-13
propiedades,
3-7
,
9-13
sintaxis de referencia, 9-13
valor, 9-13
quitar
atributos
de
ofuscacin,
7-9
Recopilar
la
informacin
del
informe
de
excepciones
especificada
por
el
usuario,
28-30
reflexin,
9-13
registrarse
ahora,
3-7
registro,
3-7
estado, 3-7
reglas
integradas,
13-14
cambio de nombre, 13-14 , 14-18
reglas
personalizadas,
14-18
Resultados
Resultados, 25-26
resultados,
1
,
25-26
ficha, 25-26
ruta
de
acceso
de
carga
de
ensamblado,
9-13
seal
de
vida,
18-25
seguimiento
de
excepciones,
1-2
,
2-3
,
18-25
,
28
,
28
,
28-30
seguimiento
de
la
sesin,
1-2
,
2-3
serializador
XML,
14-18
Silverlight,
31
Simular
la
alteracin,
31
SLAK,
31
,
31-32
Software
+
Servicios,
1-2
supertipos,
14-18
TamperTester.exe,
31
tipo
de
aplicacin,
31
.NET admitida, 31
tipo,
14-18
Tipos
de
aplicaciones
.NET
admitidas,
31
,
27
transformacin
xaml,
7-9
version,
3-7
,
7-9
,
9-13
vida
til,
18-25
,
31
,
31-32
atributo, 31-32
clave de activacin, 31 , 31-32
configuracin, 31-32
vinculacin,
13-14
vista
previa,
14-18
Visual
Studio,
3-7
37