OSDN Git Service

update document
authortama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Mon, 11 Jun 2007 09:58:30 +0000 (09:58 +0000)
committertama3 <tama3@acee48c3-7b26-0410-bdac-b3d0e5314bbc>
Mon, 11 Jun 2007 09:58:30 +0000 (09:58 +0000)
git-svn-id: svn+ssh://svn.sourceforge.jp/svnroot/stigmata/trunk@125 acee48c3-7b26-0410-bdac-b3d0e5314bbc

src/site/apt/definition.apt [new file with mode: 0755]
src/site/apt/download.apt
src/site/apt/dtd.apt [new file with mode: 0755]
src/site/apt/faq.apt [new file with mode: 0755]
src/site/apt/index.apt
src/site/site.xml

diff --git a/src/site/apt/definition.apt b/src/site/apt/definition.apt
new file mode 100755 (executable)
index 0000000..b62d216
--- /dev/null
@@ -0,0 +1,59 @@
+ ----
+ Definitions
+ ----
+ Haruaki Tamada
+ ----
+ 2007-06-11
+ ----
+
+Definitions
+
+*Birthmark
+
+ Let <p>, <q> be programs and <f(p)> be a set of characteristics
+extracted from <p> by a certain method <f>. Then <f(p)> is called a
+<birthmark> of <p> iff both of the following conditions are satisfied.
+
+*Conditions of Birthmark
+
+ First condition means that the birthmark is not extra information and
+is required for <p> to run.  Hence, extracting a birthmark does not
+require extra code as watermarking does.  Second condition states that
+the same birthmark has to be obtained from copied programs.  By
+contraposition, if birthmarks <f(p)> and <f(q)> are different, then
+<p> is different from <q> holds. That is, we can guarantee that <q> is
+not a copy of <p>.
+
+ [[1]]<f(p)> is obtained from <p> itself without any extra information.
+
+ [[2]]If <q> is copied from <p>, then <f(p)=f(q)>
+
+*Properties of Birthmark
+
+ Hopefully, a birthmark will satisfy the following properties.  These
+properties strengthen Condition 2 of birthmark definition.  First
+property specifies <preservation property> of the birthmark against
+program transformation.  Preservation property specifies that the same
+birthmark must be obtained from <p> and converted to <p'>.  However,
+there exist many ways to transform a program into an equivalent
+one. Hence, in reality, it is difficult to extract strong enough
+birthmarks to perfectly satisfy preservation property.
+
+ Second property specifies the <distinction property> of the
+birthmark, stating that: even though the specification of <p> and <q>
+is the same, if implemented separately, different birthmarks should be
+extracted.  In general, the detail of two independent programs is
+almost never completely the same.  However, in the case that <p> and
+<q> are both <tiny> programs, extracted birthmarks could become the
+same, even if <p> and <q> are written independently.  Those properties
+should be tuned within an allowable range at the user's discretion.
+
+**Preservation
+
+ For <p'> obtained from <p> by any program transformation, <f(p) =
+f(p')> holds.
+
+**Distinction
+
+ For <p> and <q> such that same specification, if <p> and <q> are
+written independently, then <f(p)!=f(q)>.
index aea1b51..3645748 100755 (executable)
@@ -117,5 +117,5 @@ $ svn checkout http://svn.sourceforge.jp/svnroot/stigmata/trunk/ stigmata
 \r
  You can brouse the source code from following link.\r
 \r
- {{{http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/?root=stigmata}http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/?root=stigmata}}\r
+ {{http://svn.sourceforge.jp/cgi-bin/viewcvs.cgi/?root=stigmata}}\r
 \r
diff --git a/src/site/apt/dtd.apt b/src/site/apt/dtd.apt
new file mode 100755 (executable)
index 0000000..c6f4376
--- /dev/null
@@ -0,0 +1,120 @@
+ ----
+ DTD
+ ----
+ Haruaki Tamada
+ ----
+ 2006-12-12
+ ----
+
+Overview
+
+ Stigmata supports two types of xml file. One is
+ {{{#Stigmata setting xml}configuration settings}} of Stigmata. Another is
+ {{{#Birthmarking result xml}result of birthmarking}}.
+
+{Stigmata setting xml}
+
+ This dtd is defined for configuration settings of Stigmata.  A xml
+file formatted in this dtd can be specified <<<--config-file>>> option
+of Stigmata.
+
+*DTD
+
+----
+<?xml version="1.0" encoding="euc-jp"?>
+
+<!--
+ $Id: stigmata-4.0.dtd 124 2007-06-11 04:22:36Z tama3 $
+-->
+
+<!ELEMENT classpath               (#PCDATA)>
+
+<!ELEMENT type                    (#PCDATA)>
+<!ELEMENT display-name            (#PCDATA)>
+<!ELEMENT description             (#PCDATA)>
+<!ELEMENT extractor               (#PCDATA)>
+<!ELEMENT comparator              (#PCDATA)>
+
+<!ELEMENT suffix                  (#PCDATA)>
+<!ELEMENT prefix                  (#PCDATA)>
+<!ELEMENT match                   (#PCDATA)>
+
+<!ELEMENT name                    (#PCDATA)>
+<!ELEMENT value                   (#PCDATA)>
+
+<!ELEMENT criterion               (#PCDATA)>
+<!ELEMENT filter-type             (#PCDATA)>
+
+<!ELEMENT exclude                 (suffix|prefix|match)>
+<!ELEMENT package                 (suffix|prefix|match)>
+<!ELEMENT class-name              (suffix|prefix|match)>
+<!ELEMENT fully-name              (suffix|prefix|match)>
+
+<!ELEMENT wellknown-classes       ((exclude|package|class-name|fully-name)*)>
+
+<!ELEMENT property                (name,value)>
+<!ELEMENT properties              (property*)>
+
+<!ELEMENT birthmark-service       (type,display-name,description,extractor,comparator)>
+<!ELEMENT birthmark-services      (birthmark-service*)>
+
+<!ELEMENT classpath-list          (classpath*)>
+
+<!ELEMENT attribute               (name,value)>
+<!ELEMENT attributes              (attribute*)>
+<!ELEMENT filter                  (filter-type,criterion,attributes)>
+<!ELEMENT filter-list             (filter*)>
+<!ELEMENT filterset               (name,match,filter-list)>
+<!ELEMENT filterset-list          (filterset*)>
+
+<!ELEMENT stigmata (birthmark-services,wellknown-classes?,classpath-list?,properties?,filterset-list?) >
+----
+
+{Birthmarking result xml}
+
+ This dtd is defined for a result of Stigmata. The result of Stigmata
+is birthmark service list, list of extracted birthmarks, and
+similarities between all combinations of class files.  Those
+information is shown as xml file formatted in this DTD.
+
+*DTD
+
+----
+<!--
+  $Id: birthmark-1.0.dtd 124 2007-06-11 04:22:36Z tama3 $
+-->
+
+<!ATTLIST birthmark
+  type  NAME  #REQUIRED
+  count CDATA #REQUIRED
+>
+
+<!ATTLIST birthmark-similarity
+  type             NAME  #REQUIRED
+  comparison-count CDATA #REQUIRED
+>
+
+<!ELEMENT type                   (#PCDATA)>
+<!ELEMENT display-type           (#PCDATA)>
+<!ELEMENT description            (#PCDATA)>
+<!ELEMENT class-name             (#PCDATA)>
+<!ELEMENT location               (#PCDATA)>
+<!ELEMENT element                (#PCDATA)>
+<!ELEMENT birthmark-similarity   (#PCDATA)>
+<!ELEMENT similarity             (#PCDATA)>
+
+<!ELEMENT birthmark-service      (type,display-type,description,class-name)>
+<!ELEMENT birthmark-services     (birthmark-service*)>
+
+<!ELEMENT birthmark              (element*)>
+<!ELEMENT extracted-birthmark    (class-name,location,birthmark)>
+<!ELEMENT extracted-birthmarks   (extracted-birthmark*)>
+
+<!ELEMENT target1                (class-name,location)>
+<!ELEMENT target2                (class-name,location)>
+<!ELEMENT birthmark-similarities (birthmark-similarity*)>
+<!ELEMENT comparison-result      (target1,target2,birthmark-similarities,similarity)>
+<!ELEMENT comparison-result-set  (comparison-result*)>
+
+<!ELEMENT birthmark              (birthmark-services?,extracted-birthmarks?,comparison-result-set?)>
+----
\ No newline at end of file
diff --git a/src/site/apt/faq.apt b/src/site/apt/faq.apt
new file mode 100755 (executable)
index 0000000..68beeba
--- /dev/null
@@ -0,0 +1,55 @@
+ ----
+ FAQ
+ ----
+ Haruaki Tamada
+ ----
+ 2007-06-11
+ ----
+
+{FAQ}
+
+ *{{{#What is stigmata}What is stigmata}}
+
+ *{{{#What is birthmark}What is birthmark}}
+
+ *{{{#Why did I name it stigmata}Why did I name it stigmata}}
+
+ *{{{#What kind of features does stigmata have}What kind of features does stigmata have}}
+
+*{What is stigmata}
+
+ Stigmata is a toolkit for birthmarking Java class files.  Extracting
+birthmarks from Java class files directly and comparing them.  And
+analyzing birthmarks in multi-dimensional scaling.
+
+*{What is birthmark}
+
+ A birthmark is a unique and native characteristics of a program.  The
+birthmark provides a way to detect stolen software without embedding
+any additional information before distribution.
+
+ For more defails, see {{{definition.html}Definitions}}.
+
+*{Why did I name it stigmata}
+
+ Birthmark is marks that appear on a person's body in the same places
+ as those made on Jesus Christ's body when he was nailed to a cross.
+
+ {{http://dictionary.cambridge.org/define.asp?key=78150&dict=CALD}}
+
+ We liken birthmarks to holy sign of programs.
+
+*{What kind of features does stigmata have}
+
+ Stigmata have general mode and expert mode.  In general mode, we can
+extract certain birthmarks from jar file directly, and compare
+extracted birthmarks. Additionally, analyzing extracted birthmarks
+with MDS (multi-dimensional scaling).
+
+ In expert mode, it added to general mode, we can define the new
+birthmark, and a new filter (filtering the result of comparing).
+
+ Moreover, a part of extracting/comparing birthmarks is provided as
+plugins, you can define original birthmark plugin and easily install
+it to Stigmata.
+
index 1e9f946..c73dbaa 100755 (executable)
@@ -9,9 +9,10 @@
 Overview\r
 \r
  Stigmata is rewrite almost every source code based on <<<jbirth>>>\r
-which available at http://se.naist.jp/jbirth.  Stigmata aims to detect\r
-the theft of programs, too.  This tool can extract birthmarks from\r
-Java class files, and compare them.  Differences from <<<jbirth>>> are\r
+which available at {{http://se.naist.jp/jbirth}}.  Stigmata aims to\r
+detect the theft of programs, too.  This tool can extract birthmarks\r
+from Java class files, and compare them.  Differences from\r
+<<<jbirth>>> are\r
 \r
  * using spi (service provider interface) architecture for birthmark implementation\r
 \r
@@ -66,7 +67,7 @@ Related Tools
 \r
  *{{{http://www.e-t.com/jshrink.html}JShrink}}\r
 \r
- *{{{http://www.drjava.de/obfuscator/}Marvin Obfuscator }}\r
+ *{{{http://www.drjava.de/obfuscator/}Marvin Obfuscator}}\r
 \r
  *{{{http://proguard.sourceforge.net/}ProGuard}}\r
 \r
index 85d9b37..d1720a0 100755 (executable)
@@ -36,6 +36,9 @@
     <menu name="Stigmata">
       <item name="Introduction"        href="index.html"/>
       <item name="Download"            href="download.html" />
+      <item name="Definition"          href="definition.html" />
+      <item name="DTD"                 href="dtd.html" />
+      <item name="FAQ"                 href="faq.html"/>
       <item name="License"             href="license.html"/>
       <item name="Project Page"        href="http://sourceforge.jp/projects/stigmata/"/>
     </menu>