SandMark version 3.0


See below for copyright information.

See:
          Description

Packages
sandmark  
sandmark.config Contains classes that abstract different properties about the algorithms in Sandmark.
sandmark.gui  
sandmark.obfuscate  
sandmark.obfuscate.addbogusfields Contains an obfuscator which inserts a bogus field into a class and then makes assignments to that field in specific locations throughout the code.
sandmark.obfuscate.addmethodargs  
sandmark.obfuscate.appendboguscode  
sandmark.obfuscate.ArrayObfuscation  
sandmark.obfuscate.blockmarker  
sandmark.obfuscate.boguspredicates This algorithm implements simple boolean identities  and add them to the conditional
statements of the user's code.
sandmark.obfuscate.boolsplitter  
sandmark.obfuscate.boolsplitter.dcfg  
sandmark.obfuscate.boolsplitter.dtree  
sandmark.obfuscate.buggycode This directory contains a simple obfuscator that inserts a buggy code into the control flow graph of a random methods taken from a classfile.
sandmark.obfuscate.classsplitter  
sandmark.obfuscate.degradation  
sandmark.obfuscate.degradation.contention  
sandmark.obfuscate.degradation.promotion  
sandmark.obfuscate.inliner  
sandmark.obfuscate.localvar Contains an obfuscator that scrambles the local variables used in a method.
sandmark.obfuscate.loop  
sandmark.obfuscate.loop.dfa  
sandmark.obfuscate.methodmadness Contains a collection of signature scrambling obfuscations.
sandmark.obfuscate.modifyifelse  
sandmark.obfuscate.nameoverloading  
sandmark.obfuscate.nodesplitter  
sandmark.obfuscate.promotelocals  
sandmark.obfuscate.renameidentifiers Contains a simple name obfuscator.
sandmark.obfuscate.setfieldspublic  
sandmark.obfuscate.UltimateReorderer.ConstantPoolReorderer  
CONSTANTPOOL REORDERER: The  constants in the constantpool are randomly assigned some
unique index within the length of the constantpool  ,and changes
should also be made to reflect the recursive indices within a
particular constantpool index.
sandmark.obfuscate.UltimateReorderer.LVReorderer  
LVReorderer ,reorders only local variables and no parameter reordering is done.
sandmark.obfuscate.varsplitter  
sandmark.optimise  
sandmark.statistics This directory contains the various statistics implementations in the SandMark.
sandmark.util  
sandmark.util.classloading  
sandmark.util.controlflowgraph This package performs analysis and synthesis related to program control flow.
sandmark.util.exec  
sandmark.util.graph  
sandmark.util.graph.codec  
sandmark.util.javagen  
sandmark.util.opaquepredicatelib  
sandmark.util.stacksimulator  
sandmark.view  
sandmark.watermark  
sandmark.watermark.addmethfield Contains a watermarker that embeds the watermark as the name of a newly added field and method.
sandmark.watermark.assignlv Contains a watermarker which embeds the watermark through local variable assignment.
sandmark.watermark.bogusexp This directory contains a very simple static watermarker that adds a bogus expression to the constant pool and later recovers the watermark from this expression value.
sandmark.watermark.bogusinitializer This algorithm adds the watermark and  splits it into bogus initializers to be embedded as local variables in a
selected method of the classfile .
sandmark.watermark.bogusswitch  
sandmark.watermark.constantstring  
sandmark.watermark.ct This package implements the Collberg-Thomborson software watermarking algorithm.
sandmark.watermark.ct.embed  
sandmark.watermark.ct.encode  
sandmark.watermark.ct.encode.ir  
sandmark.watermark.ct.encode.ir2ir  
sandmark.watermark.ct.encode.storage  
sandmark.watermark.ct.recognize  
sandmark.watermark.ct.trace This package implements the tracing part of the Collberg-Thomborson software watermarking algorithm.
sandmark.watermark.ct.trace.callforest This package takes a list TracePoint.java-objects and turns it into a forest of call-graphs.
sandmark.watermark.gtw  
sandmark.watermark.hattrick  
sandmark.watermark.objectwm This directory contains a static watermarker that embeds the watermark in the code as vector whose components are formed out of the frequency of occurences of specific group of instructions.
sandmark.watermark.renamefieldsmethods Contains a watermarking algorithm which embeds the mark in the method names of the application.
sandmark.watermark.util  

 

See below for copyright information.

Copyright 2000 Arizona Board of Regents
on behalf of The University of Arizona
All Rights Reserved


USE AND RESTRICTIONS


 
Non-Commercial Use: Permission is granted to use, copy and modify this software and any documentation for any non-commercial use, subject to the following restrictions:
1. The above copyright notice appears on all copies anddocumentation.

2. Neither this software and its name nor the names "Arizona Board of Regents" and "The University of Arizona" shall be used in any advertisements or publicity programs.

Commercial Use: Any commercial use of this software will require a license and a fee. Contact the Office of Technology Transfer at The University of Arizona:


e-mail: ott@u.arizona.edu
Fax: (520) 626-4600    Phone: (520) 621-5000


NO WARRANTY THIS SOFTWARE IS PROVIDED "AS IS" AND WITHOUT WARRANTY OF ANY KIND, EXPRESS, IMPLIED OR OTHERWISE, INCLUDING WITHOUT LIMITATION, ANY WARRANTY OF MERCHANTABILITY OR FITNESS FOR A SPECIAL PURPOSE. IN NO EVENT SHALL THE ARIZONA BOARD OF REGENTS ON BEHALF OF THE UNIVERSITY OF ARIZONA BE LIABLE FOR ANY SPECIAL, INCIDENTAL, INDIRECT OR CONSEQUENTIAL DAMAGES OF ANY KIND, OR ANY DAMAGES WHATSOEVER RESULTING FROM LOSS OF USE, DATA OR PROFITS, WHETHER OR NOT ADVISED OF THE POSSIBILITY OF DAMAGE, AND ON ANY THEORY OF LIABILITY, ARISING OUT OF OR IN CONNECTION WITH THE USE OR PERFORMANCE OF THIS SOFTWARE.



SandMark version 3.0

Wed Jan 29 10:30:05 MST 2003