CEPD News 
December, 2012 - Vol 5, Issue 4
Join Our Mailing List!
In This Issue
Happy Holidays
Moving update
Protect your software
Quick Links


Happy Holidays


All of us at CEPD would like to extend our best wishes to you, our collegues, and to your families for the holidays.  May your 2013 be healthy, happy and prosperous!


Moving Update


We have completed our move and are happy to be doing design work at our new address:
CEPD, Inc.
5485 Conestoga Ct., Suite 210
Boulder, CO 80301
Protect Your .net Software

One of the advantages of the .NET framework is the extra data built into the executable that allows for easy debugging and integration with an IDE. The downside is that anyone with access to this executable can use that extra information to decompile or reverse engineer the software. The executable can be protected using obfuscation techniques to prevent reverse engineering.


Programs written in .NET are not compiled to machine code that runs on the processor. Instead they are compiled into an intermediate language which then runs of a virtual machine, similar to Java. This code, being at a much higher level than binary code contains a lot of metadata that can be used to easily debug a program, but also can be recovered and used to find security vulnerabilities, steal ideas and remove protections.


A solution to this is to obfuscate the executable. Visual Studio provides a Dotfuscator tool for this purpose. The obfuscator renames and rearranges code while keeping the functionality intact. The obfuscator performs tasks such as removing non essential metadata that is used by the debuggers and IDE but is not needed to run the program. This can reduce the size of the executable and improve performance. This tool can also alter the control flow of the program, for example breaking up WHILE loops into IF statements to make it harder to trace through the code. Another useful feature is string encryption which prevents an attacker from easily locating critical sections of the program.


The structure of the .NET framework is such that it provides the ability for rapid software development and easy debugging by embedding extra metadata into assemblies. Unfortunately this information can also be used to reverse engineer software. Obfuscation provides an easy way to protect your code. -PM

If you would like help developing a new product or if you find your project understaffed, CEPD can help you meet your deadlines. Our staff draws on years of diverse product design experience to provide creative and timely solutions for your product needs. Some of our specialties include:
  • DSP
  • Embedded Systems Hardware and Software
  • Data Acquisition
  • Wireless Sensor and Telemetry Systems (Zigbee, Cellular, VHF, Bluetooth, ANT+, etc.)
  • Control Systems
  • Programmable Logic: FPGA / CPLD / EPLD
  • Analog Circuit Design
  • Switching Power Supply Design
  • Battery charging (all chemistries)
  • PCB Design and Layout
  • Analysis and Documentation
Our goal is to provide cost effective and expedient design options for our clients. Our services range from an hour of consultation to large turn-key product development projects. We provide detailed proposals, accurate estimates and time schedules to help you manage each phase of the project. We can offer fixed cost or time and materials proposals to suit your specific needs. There is no cost to you for the initial proposal we create and the initial discussion required! 

The Staff of CEPD, Inc.
2012, CEPD, Inc.             
 303 415-1112    Fax 720 306-4445