META-INF/
META-INF/MANIFEST.MF
com/
com/android/
com/android/jobb/
com/android/jobb/Main$1.classMain.java
package com.android.jobb
final com.android.jobb.Main$1 extends java.lang.Object implements com.android.jobb.Main$FileProcessor {
java.util.Stack mCurDir
final String val$rootPath
final de.waldheinz.fs.fat.FatFileSystem val$fs
void (java.lang.String, de.waldheinz.fs.fat.FatFileSystem)
public void processDirectory (java.io.File)
java.io.IOException e
java.io.IOException e
String name
de.waldheinz.fs.fat.FatLfnDirectoryEntry entry
java.io.File tempFile
java.util.Stack pathStack
java.io.File curFile
String directory
de.waldheinz.fs.fat.FatLfnDirectory curDir
public void processFile (java.io.File)
de.waldheinz.fs.fat.FatLfnDirectoryEntry entry
java.io.IOException e
de.waldheinz.fs.fat.FatFile f
java.nio.ByteBuffer buf
int numRead
long offset
java.io.IOException e
java.io.IOException e
java.io.IOException e
java.io.File curFile
de.waldheinz.fs.fat.FatLfnDirectoryEntry entry
de.waldheinz.fs.fat.FatLfnDirectory curDir
java.nio.channels.ReadableByteChannel channel
public void endDirectory (java.io.File)
java.io.File dir
}
com/android/jobb/Main$2.classMain.java
package com.android.jobb
final com.android.jobb.Main$2 extends java.lang.Object implements com.android.jobb.Main$FileProcessor {
java.util.Stack mDirLen
final boolean val$calculateSlop
final int val$clusterSize
final long[] val$mSize
void (boolean, int, long[])
public void processFile (java.io.File)
int[] dirLen
long realLength
long slop
java.io.File f
long length
public void processDirectory (java.io.File)
int[] dirLen
java.io.File f
public void endDirectory (java.io.File)
long realLength
long slop
int[] dirLen
long lastDirLen
java.io.File dir
}
com/android/jobb/Encoder.classEncoder.java
package com.android.jobb
public abstract com.android.jobb.Encoder extends java.lang.Object {
public abstract int encode (byte[], int, int, java.io.OutputStream) throws java.io.IOException
public abstract int decode (byte[], int, int, java.io.OutputStream) throws java.io.IOException
public abstract int decode (java.lang.String, java.io.OutputStream) throws java.io.IOException
}
com/android/jobb/Main$FileProcessor.classMain.java
package com.android.jobb
abstract com.android.jobb.Main$FileProcessor extends java.lang.Object {
public abstract void processFile (java.io.File)
public abstract void processDirectory (java.io.File)
public abstract void endDirectory (java.io.File)
}
com/android/jobb/Base64.classBase64.java
package com.android.jobb
public com.android.jobb.Base64 extends java.lang.Object {
private static final byte[] encodingTable
private static final byte[] decodingTable
public void ()
public static byte[] encode (byte[])
byte[] bytes
int a1
int a2
int a3
int i
int j
int b1
int b2
int d1
int b1
int b2
int b3
int d1
int d2
byte[] data
byte[] bytes
int modulus
int dataLength
public static byte[] decode (byte[])
byte[] bytes
byte[] bytes
byte b1
byte b2
byte b3
byte b4
int i
int j
byte b1
byte b2
byte b1
byte b2
byte b3
byte b3
byte b4
byte[] data
byte[] bytes
byte b1
byte b2
public static byte[] decode (java.lang.String)
byte[] bytes
byte[] bytes
byte b1
byte b2
byte b3
byte b4
int i
int j
byte b1
byte b2
byte b1
byte b2
byte b3
byte b3
byte b4
String data
byte[] bytes
byte b1
byte b2
static void ()
int i
int i
int i
}
com/android/jobb/EncryptedBlockFile$EncryptedBlockFileChannel.classEncryptedBlockFile.java
package com.android.jobb
final com.android.jobb.EncryptedBlockFile$EncryptedBlockFileChannel extends java.nio.channels.FileChannel {
final java.nio.channels.FileChannel mFC
final com.android.jobb.EncryptedBlockFile this$0
protected void (com.android.jobb.EncryptedBlockFile, java.nio.channels.FileChannel)
java.nio.channels.FileChannel wrappedFC
public void force (boolean) throws java.io.IOException
boolean metaData
public java.nio.channels.FileLock lock (long, long, boolean) throws java.io.IOException
long position
long size
boolean shared
public java.nio.MappedByteBuffer map (java.nio.channels.FileChannel$MapMode, long, long) throws java.io.IOException
java.nio.channels.FileChannel$MapMode mode
long position
long size
public long position () throws java.io.IOException
public java.nio.channels.FileChannel position (long) throws java.io.IOException
long newPosition
public int read (java.nio.ByteBuffer) throws java.io.IOException
java.nio.ByteBuffer dst
long position
int read
public int read (java.nio.ByteBuffer, long) throws java.io.IOException
boolean isMisaligned
boolean doubleBuffer
boolean isPartial
java.nio.ByteBuffer tempDest
int i
java.nio.ByteBuffer dest
long position
boolean isMisaligned
boolean isPartial
boolean doubleBuffer
int toRead
int targetRead
int numSectors
int alignmentOff
int firstSector
int partialReadSize
java.nio.ByteBuffer tempDest
int lastSector
public long read (java.nio.ByteBuffer[], int, int) throws java.io.IOException
java.nio.ByteBuffer[] dsts
int offset
int length
public long size () throws java.io.IOException
public long transferFrom (java.nio.channels.ReadableByteChannel, long, long) throws java.io.IOException
java.nio.channels.ReadableByteChannel src
long position
long count
public long transferTo (long, long, java.nio.channels.WritableByteChannel) throws java.io.IOException
long position
long count
java.nio.channels.WritableByteChannel target
public java.nio.channels.FileChannel truncate (long) throws java.io.IOException
long size
public java.nio.channels.FileLock tryLock (long, long, boolean) throws java.io.IOException
long position
long size
boolean shared
public int write (java.nio.ByteBuffer) throws java.io.IOException
java.nio.ByteBuffer src
long position
int write
public int write (java.nio.ByteBuffer, long) throws java.io.IOException
long alignmentOff
long readOffset
java.nio.ByteBuffer dest
int bufOffset
int i
java.nio.ByteBuffer src
long position
int toWrite
int targetWrite
int firstSector
int numSectors
boolean fixAccess
long readOffset
int lastSector
public long write (java.nio.ByteBuffer[], int, int) throws java.io.IOException
java.nio.ByteBuffer[] srcs
int offset
int length
protected void implCloseChannel () throws java.io.IOException
private void cryptIVPlainGen (int, byte[])
int sector
byte[] out
private void readDecryptedSector (int, java.nio.ByteBuffer) throws java.io.IOException
int read
int j
byte[] decryptBuf
int i
int sector
java.nio.ByteBuffer dest
java.nio.ByteBuffer temp
int toRead
int devOffset
int blockSize
byte[] bufLast
int numBlocks
byte[] buf
private void writeEncryptedSector (int, java.nio.ByteBuffer) throws java.io.IOException
int j
int written
byte[] encryptBuf
int toWrite
java.nio.ByteBuffer encryptBuffer
int i
int sector
java.nio.ByteBuffer src
byte[] sectorBuf
int toRead
int devOffset
int blockSize
byte[] bufLast
int numBlocks
int pos
byte[] buf
public volatile java.nio.channels.SeekableByteChannel truncate (long) throws java.io.IOException
public volatile java.nio.channels.SeekableByteChannel position (long) throws java.io.IOException
}
com/android/jobb/PBKDF.classPBKDF.java
package com.android.jobb
public com.android.jobb.PBKDF extends java.lang.Object {
public static final int SALT_LEN
private static final int ROUNDS
private static final int KEY_BITS
public void ()
public static byte[] getKey (java.lang.String, byte[]) throws java.security.InvalidKeyException java.security.NoSuchAlgorithmException java.io.UnsupportedEncodingException
byte[] pbkdfKey
javax.crypto.interfaces.PBEKey pbeKey
java.security.spec.InvalidKeySpecException e
String password
byte[] saltBytes
javax.crypto.spec.PBEKeySpec pwKey
javax.crypto.SecretKeyFactory factory
public static byte[] getRandomSalt ()
java.security.SecureRandom random
byte[] saltBytes
}
com/android/jobb/EncryptedBlockFile.classEncryptedBlockFile.java
package com.android.jobb
public com.android.jobb.EncryptedBlockFile extends java.io.RandomAccessFile {
public static final int BYTES_PER_SECTOR
private final Object mKey
private final com.android.jobb.EncryptedBlockFile$EncryptedBlockFileChannel mEBFC
public com.android.jobb.EncryptedBlockFile$EncryptedBlockFileChannel getEncryptedFileChannel ()
public void setLength (long) throws java.io.IOException
int i
long newLength
int numsectors
byte[] byteBuf
java.nio.ByteBuffer buf
public void (byte[], java.io.File, java.lang.String) throws java.io.FileNotFoundException java.security.InvalidKeyException
byte[] key
java.io.File file
String mode
static java.lang.Object access$000 (com.android.jobb.EncryptedBlockFile)
com.android.jobb.EncryptedBlockFile x0
}
com/android/jobb/Main.classMain.java
package com.android.jobb
public com.android.jobb.Main extends java.lang.Object {
private static final int BLOCK_SIZE
static String sDirectory
static java.io.File sDirectoryFile
static boolean sHasOutputDirectory
static String sKey
static String sOutputFile
static boolean sVerboseMode
static String sPackageName
static int sPackageVersion
static byte[] sSalt
static boolean sOverlay
static int sFlags
static String sInputFile
static byte[] sFishKey
static java.nio.ByteBuffer sTempBuf
public void ()
public static void printArgs ()
public static void dumpDirectory (de.waldheinz.fs.FsDirectory, int, java.io.File) throws java.io.IOException
int idx
int idx
int idx
int readLength
long pos
java.nio.channels.FileChannel outputChannel
int capacity
long length
de.waldheinz.fs.FsFile f
java.io.FileOutputStream fos
java.io.File curFile
de.waldheinz.fs.FsDirectoryEntry e
de.waldheinz.fs.FsDirectory dir
int tabStop
java.io.File curDirectory
java.util.Iterator i
public static void main (java.lang.String[])
String saltString
java.math.BigInteger bi
String curArg
int i
ArrayIndexOutOfBoundsException e
java.security.InvalidKeyException e
java.security.NoSuchAlgorithmException e
java.io.UnsupportedEncodingException e
java.math.BigInteger bi
com.android.jobb.EncryptedBlockFile ebf
de.waldheinz.fs.BlockDevice fd
de.waldheinz.fs.fat.FatType ft
de.waldheinz.fs.fat.FatFileSystem fatFs
de.waldheinz.fs.fat.BootSector bs
de.waldheinz.fs.FsDirectory rootDir
de.waldheinz.fs.BlockDevice fd
java.io.IOException e
java.security.InvalidKeyException e
com.android.jobb.ObbFile obbFile
java.io.File obbInputFile
boolean printArgs
boolean printArgs
boolean printArgs
boolean printArgs
boolean printArgs
Exception e
int out
byte b
int out
byte b
com.android.jobb.EncryptedBlockFile ebf
de.waldheinz.fs.BlockDevice fd
java.security.InvalidKeyException e
de.waldheinz.fs.BlockDevice fd
de.waldheinz.fs.fat.FatFileSystem fs
String rootPath
de.waldheinz.fs.fat.Fat fat
com.android.jobb.ObbFile ob
java.io.IOException e
java.io.File f
long fileSize
long numSectors
long clusterSize
long fatOverhead
long clusterSizeInBytes
long filesystemSize
java.io.File fsFile
String[] args
boolean displayHelp
boolean isEncrypted
boolean printArgs
public static long getTotalFileSize (java.io.File, int)
java.io.File dir
int clusterSize
long[] mSize
boolean calculateSlop
public static void processAllFiles (java.io.File, com.android.jobb.Main$FileProcessor)
int i
String[] children
java.io.File dir
com.android.jobb.Main$FileProcessor fp
static void ()
}
com/android/jobb/ObbFile.classObbFile.java
package com.android.jobb
public com.android.jobb.ObbFile extends java.lang.Object {
public static final int OBB_OVERLAY
public static final int OBB_SALTED
static final int kFooterTagSize
static final int kFooterMinSize
static final int kMaxBufSize
static final long kSignature
static final int kSigVersion
static final int kPackageVersionOffset
static final int kFlagsOffset
static final int kSaltOffset
static final int kPackageNameLenOffset
static final int kPackageNameOffset
long mPackageVersion
long mFlags
String mPackageName
byte[] mSalt
public void ()
public boolean readFrom (java.lang.String)
String filename
java.io.File obbFile
public boolean readFrom (java.io.File)
java.io.File obbFile
public static long get4LE (java.nio.ByteBuffer)
java.nio.ByteBuffer buf
public void setPackageName (java.lang.String)
String packageName
public void setSalt (byte[])
byte[] salt
public void setPackageVersion (long)
long packageVersion
public void setFlags (long)
long flags
public boolean parseObbFile (java.io.File)
long fileLength
java.io.RandomAccessFile raf
byte[] footer
java.nio.ByteBuffer footBuf
long fileSig
long footerSize
long fileOffset
long sigVersion
long packageNameLen
byte[] packageNameBuf
java.io.IOException e
java.io.File obbFile
public boolean writeTo (java.lang.String)
String fileName
java.io.File obbFile
public boolean writeTo (java.io.File)
long fileLength
java.io.RandomAccessFile raf
java.nio.channels.FileChannel fc
java.nio.ByteBuffer bbInt
java.io.IOException e
java.io.File obbFile
}
Twofish/
Twofish/Twofish_Properties.classTwofish_Properties.java
package Twofish
public Twofish.Twofish_Properties extends java.lang.Object {
static final boolean GLOBAL_DEBUG
static final String ALGORITHM
static final double VERSION
static final String FULL_NAME
static final String NAME
static final java.util.Properties properties
private static final String[][] DEFAULT_PROPERTIES
public void ()
public static java.lang.String getProperty (java.lang.String)
String key
public static java.lang.String getProperty (java.lang.String, java.lang.String)
String key
String value
public static void list (java.io.PrintStream)
java.io.PrintStream out
public static void list (java.io.PrintWriter)
String key
String value
java.io.PrintWriter out
java.util.Enumeration en
public static java.util.Enumeration propertyNames ()
static boolean isTraceable (java.lang.String)
String label
String s
static int getLevel (java.lang.String)
NumberFormatException e
String label
String s
static java.io.PrintWriter getOutput ()
java.io.PrintWriter pw
java.io.PrintWriter pw
String name
static void ()
Exception x
int i
int n
String it
java.io.InputStream is
boolean ok
}
Twofish/Twofish_Algorithm.classTwofish_Algorithm.java
package Twofish
public final Twofish.Twofish_Algorithm extends java.lang.Object {
static final String NAME
static final boolean IN
static final boolean OUT
static final boolean DEBUG
static final int debuglevel
static final java.io.PrintWriter err
static final boolean TRACE
static final int BLOCK_SIZE
private static final int ROUNDS
private static final int MAX_ROUNDS
private static final int INPUT_WHITEN
private static final int OUTPUT_WHITEN
private static final int ROUND_SUBKEYS
private static final int TOTAL_SUBKEYS
private static final int SK_STEP
private static final int SK_BUMP
private static final int SK_ROTL
private static final byte[][] P
private static final int P_00
private static final int P_01
private static final int P_02
private static final int P_03
private static final int P_04
private static final int P_10
private static final int P_11
private static final int P_12
private static final int P_13
private static final int P_14
private static final int P_20
private static final int P_21
private static final int P_22
private static final int P_23
private static final int P_24
private static final int P_30
private static final int P_31
private static final int P_32
private static final int P_33
private static final int P_34
private static final int GF256_FDBK
private static final int GF256_FDBK_2
private static final int GF256_FDBK_4
private static final int[][] MDS
private static final int RS_GF_FDBK
private static final char[] HEX_DIGITS
public void ()
static void debug (java.lang.String)
String s
static void trace (boolean, java.lang.String)
boolean in
String s
static void trace (java.lang.String)
String s
private static final int LFSR1 (int)
int x
private static final int LFSR2 (int)
int x
private static final int Mx_1 (int)
int x
private static final int Mx_X (int)
int x
private static final int Mx_Y (int)
int x
public static synchronized java.lang.Object makeKey (byte[]) throws java.security.InvalidKeyException
int A
int B
int b0
int b1
int b2
int b3
byte[] k
int length
int k64Cnt
int subkeyCnt
int[] k32e
int[] k32o
int[] sBoxKey
int i
int j
int offset
int q
int[] subKeys
int k0
int k1
int k2
int k3
int[] sBox
Object sessionKey
public static byte[] blockEncrypt (byte[], int, java.lang.Object)
int t0
int t1
int R
byte[] in
int inOffset
Object sessionKey
Object[] sk
int[] sBox
int[] sKey
int x0
int x1
int x2
int x3
int k
byte[] result
public static byte[] blockDecrypt (byte[], int, java.lang.Object)
int t0
int t1
int R
byte[] in
int inOffset
Object sessionKey
Object[] sk
int[] sBox
int[] sKey
int x2
int x3
int x0
int x1
int k
byte[] result
public static boolean self_test ()
private static final int b0 (int)
int x
private static final int b1 (int)
int x
private static final int b2 (int)
int x
private static final int b3 (int)
int x
private static final int RS_MDS_Encode (int, int)
int i
int i
int k0
int k1
int r
private static final int RS_rem (int)
int x
int b
int g2
int g3
int result
private static final int F32 (int, int, int[])
int k64Cnt
int x
int[] k32
int b0
int b1
int b2
int b3
int k0
int k1
int k2
int k3
int result
private static final int Fe32 (int[], int, int)
int[] sBox
int x
int R
private static final int _b (int, int)
int x
int N
int result
public static int blockSize ()
private static boolean self_test (int)
byte[] kb
byte[] pt
int i
Object key
byte[] ct
byte[] cpt
int keysize
boolean ok
private static boolean areEqual (byte[], byte[])
int i
byte[] a
byte[] b
int aLength
private static java.lang.String intToString (int)
int i
int n
char[] buf
private static java.lang.String toString (byte[])
byte[] ba
private static java.lang.String toString (byte[], int, int)
int i
int j
int k
byte[] ba
int offset
int length
char[] buf
public static void main (java.lang.String[])
String[] args
static void ()
int j
long time
int[] m1
int[] mX
int[] mY
int i
}