Java2html Reconstruction Reconstruction (3)

zhaozj2021-02-17  69

JA Java2HTML Regent Reconstruction (3)

First focus on this:

Public static void main (string args [])

{

.................

Java2html = new java2html ();

O01 = New O01 (ARGS);

.................

}

The parameter jumps to O01. So we continue, no way, reverse engineering needs patience.

// Source File Name: O01.JAVA

Package com.java2html;

Import java.io.file;

Import Java.io.printStream;

Import java.util.vector;

// Reference Classes of Package Com.java2HTML:

// BadoptionException, Java2HTML, Javadoc, O07

Public class O01

{

Private string o02 [];

Private boolean o03 [];

O01 (String as [])

{

O02 = as;

O03 = new bolean [as.length];

}

Boolean O04 (Java2HTML Java2HTML)

Throws BadOptionException

{

IF (o02.Length == 0 || O06 (new string [] {

"Help", "h", "?", "/?"

}))

{

System.out.println (O07.O08);

Return False;

}

String as [] = o010 (new string "

"Name", "N"

}, False, 1);

IF (as.length == 1)

{

Java2html.Settitle (as [0]);

}

Java2html.Setfooter (NEW STRING [] {

"Nofooter", "NF"

}));

Java2html.Setfooter (NEW STRING [] {

"noheader", "NH"

}));

Java2html.setsimple (new string "{

"simple", "s"

}));

INT ai [] = O012 (new string "

"margin", "m"

}, False, 1);

IF (ai.length == 1)

{

Java2html.SetMarginsize (Ai [0]);

}

INT Ai1 [] = O012 (New String "

"tabs", "t"

}, False, 1);

IF (ai1.length == 1)

{

Java2html.Settabsize (ai1 [0]);

}

String as1 [] = o010 (new string "

"destination", "D"

}, False, 1);

IF (as1.length == 1)

{

Java2html.SetDestination (AS1 [0]);

}

String as2 [] = o010 (new string "

"Javasource", "JS"

}, false, -1);

IF (as2.length> 0) {

Java2html.setjavadirectorySource (AS2);

}

Javadoc ajavadoc [] = o017 (new string "

"javadoc", "jd"

});

IF (ajavadoc.length> 0)

{

Java2html.setjavadoc (ajavadoc);

}

O018 ();

Return True;

}

Private Boolean O06 (String as [])

Throws BadOptionException

{

INT i = 0;

INT j = 0;

Boolean flag = false;

For (; i

{

For (int K = 0; k

{

IF (! o02 [i] .Equalsignorecase ("-" as [k]))))

{

CONTINUE;

}

O03 [i] = true;

IF (j> = 1)

{

Throw New BadoptionException (as [0] "Should Only Be Set Once);

}

J ;

Flag = true;

Break;

}

}

Return flag;

}

Private string [] O010 (String as [], Boolean Flag, INT i)

Throws BadOptionException

{

INT j = 0;

INT K = 0;

Vector vector = new vector ();

For (; j

{

For (int L = 0; l

{

IF (! o02 [j] .equalsignorecase ("-" as [l])))

{

CONTINUE;

}

O03 [J] = True;

J ;

IF (k == i)

{

Throw new badoptionException (as [0] "Should Only Be set" "TIME (S)");

}

IF (j> = o02.length)

{

Throw New BadoptionException ("Value Not Set for" AS [0]);

}

O03 [J] = True;

Vector.addelement (O02 [J]);

K ;

Break;

}

}

IF (Flag && K == 0)

{

Throw new badoptionException (as [0] "Needs to be set");

Else

{

RETURN O026 (Vector);

}

}

Private int [] O012 (String as [], Boolean Flag, INT i)

Throws BadOptionException

{

INT j = 0;

INT K = 0;

Vector vector = new vector ();

For (; j

{

For (int L = 0; l

IF (! o02 [j] .equalsignorecase ("-" as [l])))

{

CONTINUE;

}

O03 [J] = True;

J ;

IF (k == i)

{

Throw new badoptionException (as [0] "Should Only Be set" "TIME (S)");

}

IF (j> = o02.length)

{

Throw New BadoptionException ("Value Not Set for" AS [0]);

}

O03 [J] = True;

Vector.addelement (O02 [J]);

K ;

Break;

}

}

IF (Flag && K == 0)

{

Throw new badoptionException (as [0] "Needs to be set");

}

INT Ai [] = NULL;

Try

{

AI = O028 (Vector);

}

Catch (Exception_ex)

{

Throw New BadoptionException (AS [0] "Must Be a Number");

}

Return Ai;

}

Public Javadoc [] O017 (String as [])

Throws BadOptionException

{

INT i = 0;

INT j = 0;

Vector vector = new vector ();

For (; i

{

For (int K = 0; k

{

IF (! o02 [i] .Equalsignorecase ("-" as [k]))))

{

CONTINUE;

}

O03 [i] = true;

IF ( i> = o02.length)

{

Throw New BadoptionException ("Value Not Set for" AS [0]);

}

O03 [i] = true;

Javadoc javadoc = NULL;

File file = new file (O02 [i]);

String s = null;

IF (i 1

{

i ;

IF (! o02 [i] .StartSwith ("http: //")))

{

Throw New BadoptionException ("SECOND PARAMETER OF -JD / -JAVADOC OPTION MUST START with 'http: //'");

}

s = O02 [i];

O03 [i] = true;

}

IF (s! = null)

{

Javadoc = New javadoc (file, s);

Else

{

Javadoc = new javadoc (file);

}

Vector.AddeElement (Javadoc);

J ; Break;

}

}

Javadoc ajavadoc [] = new javadoc [vector.size ()];

For (int L = 0; l

{

Ajavadoc [L] = (javadoc) Vector.Elementat (L);

}

Return ajavadoc;

}

PRIVATE STRING [] O026 (Vector Vector)

{

String as [] = new string [vector.size ()];

For (int i = 0; i

{

AS [I] = (string) Vector.Elementat (i);

}

Return as;

}

PRIVATE INT [] O028 (Vector Vector)

{

INT Ai [] = new int [Vector.size ()];

For (int i = 0; i

{

Ai [I] = integer.parseint ((string) Vector.Elementat (i));

}

Return Ai;

}

Public void o018 ()

Throws BadOptionException

{

For (int i = 0; i

{

IF (! o03 [i])

{

Throw New BadoptionException ("Unkown Argument:" O02 [i]);

}

}

}

}

Find here:

O01 (String as [])

{

O02 = as;

O03 = new bolean [as.length];

}

It seems that there is nothing here, then we return to java2html.java file to continue to see:

Public static void main (string args [])

{

......................

Java2html = new java2html ();

O01 = New O01 (ARGS);

// here is

IF (! o01.O04 (java2html))

{

Return;

}

....................

}

It turned out to call the O01.O04 method. Take a look:

Boolean O04 (Java2HTML Java2HTML)

Throws BadOptionException

{

IF (o02.Length == 0 || O06 (new string [] {

"Help", "h", "?", "/?"

}))

{

System.out.println (O07.O08);

Return False;

}

String as [] = o010 (new string "

"Name", "N"

}, False, 1);

IF (as.length == 1)

{

Java2html.Settitle (as [0]);

}

Java2html.Setfooter (NEW STRING [] {

"Nofooter", "NF"

}));

Java2html.Setfooter (NEW STRING [] {

"noheader", "NH"

}));

Java2html.setsimple (new string "{

"simple", "s"});

INT ai [] = O012 (new string "

"margin", "m"

}, False, 1);

IF (ai.length == 1)

{

Java2html.SetMarginsize (Ai [0]);

}

INT Ai1 [] = O012 (New String "

"tabs", "t"

}, False, 1);

IF (ai1.length == 1)

{

Java2html.Settabsize (ai1 [0]);

}

String as1 [] = o010 (new string "

"destination", "D"

}, False, 1);

IF (as1.length == 1)

{

Java2html.SetDestination (AS1 [0]);

}

String as2 [] = o010 (new string "

"Javasource", "JS"

}, false, -1);

IF (as2.length> 0)

{

Java2html.setjavadirectorySource (AS2);

}

Javadoc ajavadoc [] = o017 (new string "

"javadoc", "jd"

});

IF (ajavadoc.length> 0)

{

Java2html.setjavadoc (ajavadoc);

}

O018 ();

Return True;

}

I want to know how the matter is, and I listen to the decomposition.

转载请注明原文地址:https://www.9cbs.com/read-31160.html

New Post(0)