scanoss 0.4.8-beta → 0.4.10-beta
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.idea/workspace.xml +100 -3
- package/build/main/cli/bin/cli-bin.js +2 -3
- package/build/main/cli/commands/scan.js +1 -16
- package/build/main/index.d.ts +1 -8
- package/build/main/index.js +2 -13
- package/build/main/sdk/filters/filtering.js +1 -1
- package/build/main/sdk/scanner/Dispatcher/Dispatcher.js +1 -1
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +2 -2
- package/build/main/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +2 -1
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.d.ts +4 -1
- package/build/main/sdk/scanner/WfpProvider/WfpProvider.js +7 -1
- package/build/main/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +2 -1
- package/build/main/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +54 -10
- package/build/main/sdk/tree/File.js +2 -2
- package/build/main/sdk/tree/Filters/DependencyFilter.js +2 -2
- package/build/main/sdk/tree/Filters/ScanFilter.js +2 -2
- package/build/main/sdk/tree/Folder.d.ts +0 -1
- package/build/main/sdk/tree/Folder.js +2 -5
- package/build/main/sdk/tree/Node.d.ts +0 -1
- package/build/main/sdk/tree/Node.js +1 -4
- package/build/main/sdk/tree/Tree.js +1 -2
- package/build/main/tsconfig.tsbuildinfo +63 -223
- package/build/module/cli/bin/cli-bin.js +2 -3
- package/build/module/cli/commands/scan.js +1 -16
- package/build/module/index.d.ts +1 -8
- package/build/module/index.js +2 -13
- package/build/module/sdk/filters/filtering.js +1 -1
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.d.ts +2 -2
- package/build/module/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.js +2 -1
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.d.ts +4 -1
- package/build/module/sdk/scanner/WfpProvider/WfpProvider.js +7 -1
- package/build/module/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.d.ts +2 -1
- package/build/module/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.js +53 -10
- package/build/module/sdk/tree/File.js +2 -2
- package/build/module/sdk/tree/Filters/DependencyFilter.js +2 -2
- package/build/module/sdk/tree/Filters/ScanFilter.js +2 -2
- package/build/module/sdk/tree/Folder.d.ts +0 -1
- package/build/module/sdk/tree/Folder.js +2 -5
- package/build/module/sdk/tree/Node.d.ts +0 -1
- package/build/module/sdk/tree/Node.js +1 -4
- package/build/module/sdk/tree/Tree.js +1 -2
- package/build/module/tsconfig.module.tsbuildinfo +63 -223
- package/package-lock.json +2 -2
- package/package.json +2 -9
- package/src/cli/bin/cli-bin.ts +2 -2
- package/src/cli/commands/scan.ts +0 -21
- package/src/index.ts +2 -14
- package/src/sdk/filters/filtering.ts +0 -1
- package/src/sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator.ts +3 -1
- package/src/sdk/scanner/WfpProvider/WfpProvider.ts +15 -1
- package/src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter.ts +70 -10
- package/src/sdk/tree/File.ts +1 -1
- package/src/sdk/tree/Filters/DependencyFilter.ts +1 -1
- package/src/sdk/tree/Filters/ScanFilter.ts +1 -1
- package/src/sdk/tree/Folder.ts +1 -4
- package/src/sdk/tree/Node.ts +0 -4
- package/src/sdk/tree/Tree.ts +0 -1
- package/tests/scanoss.sh +61 -0
- package/tests/sdk/Scanner/WfpProvider/WfpSplitter/WfpSplitter.spec.ts +37 -0
- package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp +68 -0
- package/tests/sdk/Scanner/WfpProvider/WfpSplitter/samples/wfp.wfp~ +68 -0
- package/yarn.lock +4736 -5067
- package/src/sdk/Decompress/DecompressionManager.ts +0 -80
- package/src/sdk/Decompress/Decompressor/DecompressTgz.ts +0 -20
- package/src/sdk/Decompress/Decompressor/DecompressZips.ts +0 -21
- package/src/sdk/Decompress/Decompressor/Decompressor.ts +0 -20
- package/src/sdk/tree/Filters/DecompressionFilter.ts +0 -22
- package/tests/sdk/DataLayer/DataProviderManager.spec.ts +0 -19
package/src/index.ts
CHANGED
|
@@ -1,22 +1,10 @@
|
|
|
1
|
-
// *** Code scanner exports *** //
|
|
2
|
-
export * from './sdk/scanner/Scanner';
|
|
3
1
|
export * from './sdk/scanner/ScannerTypes';
|
|
4
|
-
export * from './sdk/scanner/ScannerCfg'
|
|
2
|
+
export * from './sdk/scanner/ScannerCfg'
|
|
3
|
+
export * from './sdk/scanner/Scanner'
|
|
5
4
|
export * from './sdk/scanner/WfpProvider/WfpCalculator/WfpCalculator';
|
|
6
|
-
|
|
7
|
-
// *** Dependency scanner exports *** //
|
|
8
5
|
export * from './sdk/Dependencies/DependencyTypes';
|
|
9
6
|
export * from './sdk/Dependencies/DependencyScannerCfg';
|
|
10
7
|
export * from './sdk/Dependencies/DependencyScanner';
|
|
11
8
|
|
|
12
9
|
|
|
13
|
-
// *** Data layers export *** //
|
|
14
|
-
export * from './sdk/DataLayer/DataLayerTypes';
|
|
15
|
-
export * from './sdk/DataLayer/DataProviderManager';
|
|
16
|
-
export * from './sdk/DataLayer/DataProviders/LicenseDataProvider';
|
|
17
|
-
export * from './sdk/DataLayer/DataProviders/SummaryDataProvider';
|
|
18
|
-
export * from './sdk/DataLayer/DataProviders/DependencyDataProvider';
|
|
19
|
-
export * from './sdk/DataLayer/DataProviders/ComponentDataProvider';
|
|
20
10
|
|
|
21
|
-
// *** Unzip *** //
|
|
22
|
-
export * from './sdk/Decompress/DecompressionManager';
|
|
@@ -468,7 +468,7 @@ export class WfpCalculator extends WfpProvider {
|
|
|
468
468
|
}
|
|
469
469
|
|
|
470
470
|
|
|
471
|
-
public start(params: IWfpProviderInput): void {
|
|
471
|
+
public start(params: IWfpProviderInput): Promise<void> {
|
|
472
472
|
|
|
473
473
|
if(!params.fileList) this.sendError('File list is required');
|
|
474
474
|
this.sendLog('[ SCANNER ]: WFP Calculator starting...');
|
|
@@ -481,6 +481,8 @@ export class WfpCalculator extends WfpProvider {
|
|
|
481
481
|
this.folderRoot = params.folderRoot;
|
|
482
482
|
this.fileList = params.fileList;
|
|
483
483
|
this.nextStepMachine();
|
|
484
|
+
|
|
485
|
+
return this.finishPromise;
|
|
484
486
|
}
|
|
485
487
|
|
|
486
488
|
|
|
@@ -20,12 +20,23 @@ export abstract class WfpProvider extends EventEmitter {
|
|
|
20
20
|
protected worker: Worker;
|
|
21
21
|
protected pendingFiles: boolean;
|
|
22
22
|
protected winnowingMode: WinnowingMode;
|
|
23
|
+
protected finishPromise: Promise<void>;
|
|
24
|
+
|
|
25
|
+
//Allow resolve or reject the promise returned in start call
|
|
26
|
+
protected finishPromiseResolve: (value?: void | PromiseLike<void>) => void;
|
|
27
|
+
protected finishPromiseReject: (value?: void | PromiseLike<void>) => void;
|
|
23
28
|
|
|
24
29
|
protected init(): void {
|
|
25
30
|
this.wfp = '';
|
|
26
31
|
this.folderRoot = '';
|
|
27
32
|
this.pendingFiles = false;
|
|
28
33
|
this.winnowingMode = WinnowingMode.FULL_WINNOWING;
|
|
34
|
+
|
|
35
|
+
this.finishPromise = new Promise((resolve, reject) =>{
|
|
36
|
+
this.finishPromiseResolve = resolve;
|
|
37
|
+
this.finishPromiseReject = reject;
|
|
38
|
+
});
|
|
39
|
+
|
|
29
40
|
}
|
|
30
41
|
|
|
31
42
|
// returns true if the function emitted a new fingerprint packet
|
|
@@ -59,6 +70,7 @@ export abstract class WfpProvider extends EventEmitter {
|
|
|
59
70
|
if (this.wfp.length !== 0) this.sendFingerprint(new FingerprintPackage(this.wfp, this.folderRoot));
|
|
60
71
|
this.pendingFiles = false;
|
|
61
72
|
this.emit(ScannerEvents.WINNOWING_FINISHED);
|
|
73
|
+
this.finishPromiseResolve();
|
|
62
74
|
}
|
|
63
75
|
|
|
64
76
|
|
|
@@ -72,13 +84,15 @@ export abstract class WfpProvider extends EventEmitter {
|
|
|
72
84
|
|
|
73
85
|
protected sendError(errorMsg: string): void {
|
|
74
86
|
this.emit(ScannerEvents.ERROR, new Error(errorMsg));
|
|
87
|
+
this.finishPromiseReject();
|
|
75
88
|
}
|
|
76
89
|
|
|
77
90
|
protected setWinnowingMode(mode: WinnowingMode): void {
|
|
78
91
|
this.winnowingMode = mode;
|
|
79
92
|
}
|
|
80
93
|
|
|
81
|
-
public abstract start(params: IWfpProviderInput): void
|
|
94
|
+
public abstract start(params: IWfpProviderInput): Promise<void>;
|
|
95
|
+
|
|
82
96
|
public abstract stop(): void;
|
|
83
97
|
public abstract pause(): void;
|
|
84
98
|
public abstract resume(): void;
|
|
@@ -3,6 +3,8 @@ import fs from "fs";
|
|
|
3
3
|
import { ScannerCfg } from "../../ScannerCfg";
|
|
4
4
|
import { Readable } from "stream";
|
|
5
5
|
|
|
6
|
+
//Regex find paths from wfp string
|
|
7
|
+
|
|
6
8
|
export class WfpSplitter extends WfpProvider {
|
|
7
9
|
|
|
8
10
|
private continue: boolean;
|
|
@@ -17,12 +19,15 @@ export class WfpSplitter extends WfpProvider {
|
|
|
17
19
|
|
|
18
20
|
private timer: ReturnType<typeof setTimeout>;
|
|
19
21
|
|
|
22
|
+
private ignoreFiles: Set<string>;
|
|
23
|
+
|
|
20
24
|
constructor(scannerCfg = new ScannerCfg()) {
|
|
21
25
|
super();
|
|
22
26
|
this.scannerCfg = scannerCfg;
|
|
23
27
|
}
|
|
24
28
|
|
|
25
|
-
public start(params: IWfpProviderInput): void {
|
|
29
|
+
public start(params: IWfpProviderInput): Promise<void> {
|
|
30
|
+
|
|
26
31
|
this.sendLog('[ SCANNER ]: WFP Splitter starting...');
|
|
27
32
|
|
|
28
33
|
this.init();
|
|
@@ -31,11 +36,16 @@ export class WfpSplitter extends WfpProvider {
|
|
|
31
36
|
this.fingerprints = [];
|
|
32
37
|
this.continue = true;
|
|
33
38
|
this.fingerprintIndex = 0;
|
|
39
|
+
this.ignoreFiles = new Set(params.fileList);
|
|
40
|
+
|
|
34
41
|
const wfpPath = params.wfpPath;
|
|
42
|
+
|
|
35
43
|
if (!wfpPath) this.sendError('WFP path is not defined');
|
|
36
44
|
|
|
37
45
|
this.wfpStream = fs.createReadStream(wfpPath, { encoding: 'utf8' });
|
|
38
46
|
this.setStreamListeners();
|
|
47
|
+
|
|
48
|
+
return this.finishPromise;
|
|
39
49
|
}
|
|
40
50
|
|
|
41
51
|
public stop(): void {
|
|
@@ -56,6 +66,7 @@ export class WfpSplitter extends WfpProvider {
|
|
|
56
66
|
|
|
57
67
|
|
|
58
68
|
private sendFingerprints() {
|
|
69
|
+
//The timer allows the main thread not to be blocked while sending wfps
|
|
59
70
|
if(this.timer === undefined) {
|
|
60
71
|
this.timer = setInterval(() => {
|
|
61
72
|
if(this.fingerprintIndex < this.fingerprints.length && this.continue) {
|
|
@@ -80,18 +91,67 @@ export class WfpSplitter extends WfpProvider {
|
|
|
80
91
|
}
|
|
81
92
|
|
|
82
93
|
private streamBufferFlush(): void {
|
|
83
|
-
// Use a loop to make sure we read all currently available data
|
|
84
|
-
while (this.continue && null !== (this.chunkDataRead = this.wfpStream.read(1 * 1024 * 1024))) { // Read chunks of 1MB
|
|
85
94
|
|
|
95
|
+
let ignoreFirstChunkOfFingerprint = false;
|
|
96
|
+
|
|
97
|
+
|
|
98
|
+
//Use a loop to make sure we read all currently available data
|
|
99
|
+
while (this.continue && null !== (this.chunkDataRead = this.wfpStream.read(1 * 1024 * 1024))) { // Read chunks of 1MB 1*1024*1024
|
|
86
100
|
|
|
87
|
-
//
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
101
|
+
// Removes fingerprints that are loose because the file=...... was removed in previous iteration
|
|
102
|
+
if (ignoreFirstChunkOfFingerprint) { //TODO: Test this scenario
|
|
103
|
+
//If there is no file= delete everything then
|
|
104
|
+
if (this.chunkDataRead.indexOf("file=") >= 0) {
|
|
105
|
+
this.chunkDataRead = this.chunkDataRead.substring(this.chunkDataRead.indexOf('file='));
|
|
106
|
+
ignoreFirstChunkOfFingerprint = false;
|
|
107
|
+
} else this.chunkDataRead = "";
|
|
92
108
|
}
|
|
93
|
-
|
|
94
|
-
this.
|
|
109
|
+
|
|
110
|
+
/**** This part removes all the wfp that includes the paths inside this.ignoreFiles ****/
|
|
111
|
+
const rWfpPath = new RegExp(/^file=\w+,\d+,(?<path>.+)$/gm)
|
|
112
|
+
//Search for paths in the wfp and compares with the ignorefiles set
|
|
113
|
+
//When there is a match the matched fingerprint is deleted on the fly
|
|
114
|
+
let result;
|
|
115
|
+
while((result = rWfpPath.exec(this.chunkDataRead)) !== null) {
|
|
116
|
+
if (this.ignoreFiles.has(result?.groups?.path)) {
|
|
117
|
+
const indexDeleteFrom = result.index
|
|
118
|
+
|
|
119
|
+
//TODO: Verify this condition
|
|
120
|
+
//If there is no next file= in the string, remove until end.
|
|
121
|
+
let indexDeleteTo = this.chunkDataRead.indexOf('file=', indexDeleteFrom+1)
|
|
122
|
+
if (indexDeleteTo < 0) {
|
|
123
|
+
indexDeleteTo = this.chunkDataRead.length;
|
|
124
|
+
|
|
125
|
+
//After the deletion of a wfp there are no other file=, so then set ignoreFirstChunkOfFingerprint to true.
|
|
126
|
+
//In the next iteration, the next chunk of data will be fingerprints without a file=. So, this first part will be discarded.
|
|
127
|
+
ignoreFirstChunkOfFingerprint = true;
|
|
128
|
+
}
|
|
129
|
+
|
|
130
|
+
const first = this.chunkDataRead.substring(0,indexDeleteFrom);
|
|
131
|
+
const second = this.chunkDataRead.substring(indexDeleteTo, this.chunkDataRead.length);
|
|
132
|
+
this.chunkDataRead = first + second;
|
|
133
|
+
rWfpPath.lastIndex = 0; //Make sure we reset the state of the regex.
|
|
134
|
+
}
|
|
135
|
+
}
|
|
136
|
+
/**** This part removes all the wfp that includes the paths inside this.ignoreFiles ****/
|
|
137
|
+
|
|
138
|
+
|
|
139
|
+
|
|
140
|
+
/**** This part process a chunk of wfp and send the packages to the subscriber ****/
|
|
141
|
+
if(this.chunkDataRead.length){
|
|
142
|
+
|
|
143
|
+
// Extract the first portion of the chunk until the first file=
|
|
144
|
+
// Then append the chunk to the last fingerprint.
|
|
145
|
+
if (!this.chunkDataRead.startsWith('file=') ) {
|
|
146
|
+
const chunkOfData = this.chunkDataRead.substring(0, this.chunkDataRead.indexOf('file='));
|
|
147
|
+
this.fingerprints[this.fingerprints.length-1] += chunkOfData;
|
|
148
|
+
}
|
|
149
|
+
|
|
150
|
+
this.fingerprints = [...this.fingerprints, ...this.splitFingerprints(this.chunkDataRead)];
|
|
151
|
+
this.sendFingerprints();
|
|
152
|
+
}
|
|
153
|
+
/**** This part process a chunk of wfp and send the packages to the subscriber ****/
|
|
154
|
+
|
|
95
155
|
}
|
|
96
156
|
}
|
|
97
157
|
|
package/src/sdk/tree/File.ts
CHANGED
package/src/sdk/tree/Folder.ts
CHANGED
|
@@ -42,16 +42,13 @@ export default class Folder extends Node {
|
|
|
42
42
|
}
|
|
43
43
|
|
|
44
44
|
public getFiles(f?: Filter): Array<string> {
|
|
45
|
-
if (
|
|
45
|
+
if (f && f.evaluate(this)) return []
|
|
46
46
|
|
|
47
47
|
const files: Array<string> = [];
|
|
48
48
|
this.children.forEach((child) => {
|
|
49
49
|
files.push(...child.getFiles(f));
|
|
50
50
|
});
|
|
51
51
|
return files;
|
|
52
|
-
}
|
|
53
52
|
|
|
54
|
-
public removeChildren(){
|
|
55
|
-
this.children = [];
|
|
56
53
|
}
|
|
57
54
|
}
|
package/src/sdk/tree/Node.ts
CHANGED
package/src/sdk/tree/Tree.ts
CHANGED
package/tests/scanoss.sh
ADDED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
#!/usr/bin/env bash
|
|
2
|
+
|
|
3
|
+
# filename: commandLine.sh
|
|
4
|
+
# author: @theBuzzyCoder
|
|
5
|
+
|
|
6
|
+
|
|
7
|
+
|
|
8
|
+
#
|
|
9
|
+
# Print help info
|
|
10
|
+
#
|
|
11
|
+
help() {
|
|
12
|
+
echo "Usage: $0 [-h]
|
|
13
|
+
[-r file to result.json]
|
|
14
|
+
[-w file to winnowing]"
|
|
15
|
+
exit 2
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
cmd_compare_wfp_result() {
|
|
19
|
+
result_json_path=$1
|
|
20
|
+
winnowing_path=$2
|
|
21
|
+
if [ ! -e "$result_json_path" ] || [ ! -e "$winnowing_path" ]; then
|
|
22
|
+
echo "Error: Please, specify a valid path"
|
|
23
|
+
exit 1
|
|
24
|
+
fi
|
|
25
|
+
|
|
26
|
+
diff <(sed -n -E 's/file=\w+,[[:digit:]]+,//p' "$winnowing_path" | sort) <(jq -r '.scanner | keys | .[]' "$result_json_path" | sort)
|
|
27
|
+
|
|
28
|
+
exit 1
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
|
|
32
|
+
#
|
|
33
|
+
# Parse command options and take action
|
|
34
|
+
#
|
|
35
|
+
force=false
|
|
36
|
+
while getopts ":r:w:,h" o; do
|
|
37
|
+
case "${o}" in
|
|
38
|
+
r)
|
|
39
|
+
r=${OPTARG}
|
|
40
|
+
;;
|
|
41
|
+
w)
|
|
42
|
+
w=${OPTARG}
|
|
43
|
+
;;
|
|
44
|
+
h)
|
|
45
|
+
help
|
|
46
|
+
;;
|
|
47
|
+
*)
|
|
48
|
+
echo "Unknown option: $o"
|
|
49
|
+
help
|
|
50
|
+
;;
|
|
51
|
+
esac
|
|
52
|
+
done
|
|
53
|
+
shift $((OPTIND - 1))
|
|
54
|
+
|
|
55
|
+
if [ -z "${r}" ] || [ -z "${w}" ]; then
|
|
56
|
+
echo "Please specify a result json and a winnowing file"
|
|
57
|
+
help
|
|
58
|
+
fi
|
|
59
|
+
|
|
60
|
+
|
|
61
|
+
cmd_compare_wfp_result "$r" "$w"
|
|
@@ -0,0 +1,37 @@
|
|
|
1
|
+
import { WfpSplitter } from '../../../../../src/sdk/scanner/WfpProvider/WfpSplitter/WfpSplitter'
|
|
2
|
+
import { ScannerEvents } from '../../../../../src/sdk/scanner/ScannerTypes'
|
|
3
|
+
import { ScannerCfg } from '../../../../../src/sdk/scanner/ScannerCfg'
|
|
4
|
+
import { FingerprintPackage } from '../../../../../src/sdk/scanner/WfpProvider/FingerprintPackage';
|
|
5
|
+
import fs from 'fs';
|
|
6
|
+
import path from 'path';
|
|
7
|
+
|
|
8
|
+
|
|
9
|
+
|
|
10
|
+
describe('Suit test for WfpSplitter Class', () => {
|
|
11
|
+
|
|
12
|
+
it('Test ignore file list', async function () {
|
|
13
|
+
|
|
14
|
+
const wfpSplitter = new WfpSplitter();
|
|
15
|
+
const filesToIgnore = ["/embedded/AIM6/xprt5.dll", "/embedded/Common Files/AOL/AOLDiag/aoldiag.dll"];
|
|
16
|
+
|
|
17
|
+
let wfp = ""
|
|
18
|
+
wfpSplitter.on(ScannerEvents.WINNOWING_NEW_CONTENT, (f: FingerprintPackage) => {
|
|
19
|
+
wfp += f.getContent();
|
|
20
|
+
});
|
|
21
|
+
|
|
22
|
+
await wfpSplitter.start({wfpPath: path.join(__dirname, '/samples/wfp.wfp'), fileList: filesToIgnore })
|
|
23
|
+
|
|
24
|
+
//Verify that the filesToIgnore does not been proceeded
|
|
25
|
+
for (const toIgnore of filesToIgnore) {
|
|
26
|
+
if (wfp.indexOf(toIgnore) >= 0) {
|
|
27
|
+
throw new Error(`File ${toIgnore} is in the generated wfp. Should be ignored`);
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
|
|
31
|
+
console.log(wfp)
|
|
32
|
+
|
|
33
|
+
});
|
|
34
|
+
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
file=bf9d64e0ecd591bc1b38bd335156b66f,249856,/embedded/AIM6/xprt5.dll
|
|
2
|
+
8=479962ba
|
|
3
|
+
10=64d5d78d,b01153a3,d8a338dd,8a81316d,ca73589f
|
|
4
|
+
11=be49438c,08423e42,0d2c3010,7c8bc702,71e593ff,7665c60d,6677f85f
|
|
5
|
+
13=27a6519f,fa025815,af41b930,a8f636a9,ab4a757f,8bd1859a,03669c44,29a7b9bd,19e09635
|
|
6
|
+
14=a75ba044
|
|
7
|
+
15=e4412a62,0a476f6b
|
|
8
|
+
16=93571edb
|
|
9
|
+
17=09e848b9,88b56a25,99c96bd0,7b810505,e5dbcb7b,f4ba57c0
|
|
10
|
+
18=5f7ef89d
|
|
11
|
+
19=9189d871,d2411eca,294c1585,feca5a0d,51dda3db,6b99eb56
|
|
12
|
+
20=9c0e6525
|
|
13
|
+
21=e4412a62,0a476f6b
|
|
14
|
+
24=93571edb
|
|
15
|
+
26=09e848b9,88b56a25,99c96bd0,7b810505,e5dbcb7b,f4ba57c0
|
|
16
|
+
30=5f7ef89d
|
|
17
|
+
33=9189d871,d2411eca,294c1585,feca5a0d,51dda3db,6b99eb56
|
|
18
|
+
35=9c0e6525
|
|
19
|
+
file=c88752bd115f27169a710324c3212fcd,306176,/embedded/Common Files/AOL/AOLDiag/aoldiag.dll
|
|
20
|
+
3=ac71d428
|
|
21
|
+
4=91fd0942,d90a5a02,11fffad4,a7d3e9b8,fb80ddf3
|
|
22
|
+
file=e11ff49abe1319d9361c9b4a8bf01e61,4905472,/embedded/Common Files/Adobe/AdobeGraphicsManager/AGM.dll
|
|
23
|
+
2=a3ca664f,f626e6ca,3c47a459,80927a63,5f84d06d,d2762759,37b25338,1156e5fd,367d100d,5f94e1de,f7de68c4,56338abf,6fefb6f3,3f4dc36f,85f01a3d,3e4d9256,9cd6cd96,78f28350,dfc12cfc,e2796229,cb2f3704
|
|
24
|
+
3=444014a3,68a6d01e,5134dd5a
|
|
25
|
+
4=38b1e226,cb9ca319,5ff4e6f8,6ffd74ec,78cd649f,ececc1e1,61ff0615,444c109f,e950dedf,f352c919,29bc4618,d5b143dc,06a4076b,602b5323,8b30c0bf,7a53184f,61377a03,ce6b8bef,b9fb7f04,7a1be21d,8c795393,22ac99de,dd893ca5
|
|
26
|
+
5=ae409118,9a1ed89f,69324e6e,17426a03,437e603d,7e6a4be5,c4211d7e,0fe982ba,f9993842,163e044e,f3fa4add,0bc14f0d,cf5b7bc0,2836fe5a,7be7bd1a,d19d674b,55225d3a,ae730856,bf35a664,d15b8ca5,05980010,bcada21d,a2befd4b,dbf92c38,8217e118,24732909
|
|
27
|
+
6=ac95a0bf,ec2eefe3,46e0fb74,4caa633c,0d49b5e5,c78a1a55
|
|
28
|
+
7=e516bf2f,f3fcaef8
|
|
29
|
+
file=b84493ade283ce96d3219dbe93c9ee16,439872,/embedded/Common Files/Yahoo!/Tookit/yt.dll
|
|
30
|
+
3=ac99db62,57b545ca,07af59ac,0f095e9d,52a317e9,c72e7ee1,a7faf12e,88168ef4
|
|
31
|
+
4=ed49fb9c,7c8d9644,25b6d9e6,95768215,a4b87c74,1cc07fd0,1958f7a3,0558c86a,482c0edd,a50156fa,7600f6c3,4d09ea20,466ccc82,c807fce6
|
|
32
|
+
5=8cc88029,8dd0a108
|
|
33
|
+
6=3b118a9e
|
|
34
|
+
7=c88ff8d6,fe08264c,0151500b,93405b4a,94fc0896,fa0d3b07,c43fa851,4b4996f1,55f5bed7
|
|
35
|
+
9=cfd44e2f,76100ef3,b9695c03,b955a831,b7225822,c5b3a3c0,a96fc8fd,461ac60d,b1799f2f,8c71ecce,b6560893,3c0ea167,24447a1d,90ab0abd,acd19588,bdbe0289,cdc1836d,2154d523,204f2913,25eb9708,caef0b1b,005e1aaf,eaa1565e,a9b5ca79,4dd93991
|
|
36
|
+
11=e9e1afe2,25d3f4c8,d45fe5b0,9f58df13,c5724ddf,bc81dfcf,bc489c33,676a28a6,0fa2b11f,8f998a38,4eb90916,7f21581e,73fee5d1,d0bf3311,837fb50a
|
|
37
|
+
file=7beeabc82f59ef465e55202ec7c67e43,2392064,/embedded/CoreFTP/coreftp.exe
|
|
38
|
+
4=95cf6bd2,e039e851,92dbb54f
|
|
39
|
+
5=96276c7f,6efd0470,ac61b2db
|
|
40
|
+
7=fc41fcd3,35f31081
|
|
41
|
+
8=5ed8101a
|
|
42
|
+
12=886a7685,c3428cd0
|
|
43
|
+
13=852ceb78
|
|
44
|
+
16=e85bef28
|
|
45
|
+
17=2608238d
|
|
46
|
+
18=952d9c38,446a6fc2,6c7192ae,e0dcd624,00a8e158,adaa4de3,b84e4489,cf9d49cb,5eb4785e,61ee835d,a100d798
|
|
47
|
+
file=68ba7a523a630e3114d463cf3411862a,2172176,/embedded/InterVideo/Common/Bin/IVIUMA.dll
|
|
48
|
+
2=1c72aa1f,c5670ffb,60286f48,b7c00749,ccda3c4e,b408aab1,cb8c6d30,a00673d4
|
|
49
|
+
3=cf0c2fab,7a98273d,a0b8ee69,ee86f14b
|
|
50
|
+
5=5ca2fac9
|
|
51
|
+
9=6923d370,f2a373af,efa1d25c,b0aaed4b,7a2f5fef,be903873,2bee25d9,348ce717,337d6427,374833ea,3dbee621,f0733e9d,8f1b2068,2024635a,7e1cdc46,4a3af19e,13c0795a,6ece3055,dd01013f
|
|
52
|
+
10=bed94972,af7a186b
|
|
53
|
+
12=f31f226a
|
|
54
|
+
13=e502aa52,8990e004
|
|
55
|
+
file=db0e461169599af137eb24478c5292ce,324238,/lib/cglib-nodep-2.1_3.jar
|
|
56
|
+
3=3386277d,f7c22df5
|
|
57
|
+
4=716c10c0,a8176aed,b5c7d92b,700a3854
|
|
58
|
+
5=82e547c0,5e6ec3e5
|
|
59
|
+
6=ac4fdd81,d0d17741,3493116a,7eca9f01,bf6c7b17
|
|
60
|
+
8=cfc4846b,acbb7a31
|
|
61
|
+
9=82f904ab,66d3d9fb
|
|
62
|
+
file=dcdcbb47176603907c9f79a1349193eb,245274,/lib/commons-lang-2.3.jar
|
|
63
|
+
6=b5902fc4,29fab39e
|
|
64
|
+
7=b3bcbe9c,df8c9594
|
|
65
|
+
9=4e8f9375
|
|
66
|
+
11=52ef1f95
|
|
67
|
+
12=444a07ca,a46a7fa4
|
|
68
|
+
14=7bb4fb48
|
|
@@ -0,0 +1,68 @@
|
|
|
1
|
+
file=bf9d64e0ecd591bc1b38bd335156b66f,249856,/embedded/AIM6/xprt5.dll
|
|
2
|
+
8=479962ba
|
|
3
|
+
10=64d5d78d,b01153a3,d8a338dd,8a81316d,ca73589f
|
|
4
|
+
11=be49438c,08423e42,0d2c3010,7c8bc702,71e593ff,7665c60d,6677f85f
|
|
5
|
+
13=27a6519f,fa025815,af41b930,a8f636a9,ab4a757f,8bd1859a,03669c44,29a7b9bd,19e09635
|
|
6
|
+
14=a75ba044
|
|
7
|
+
15=e4412a62,0a476f6b
|
|
8
|
+
16=93571edb
|
|
9
|
+
17=09e848b9,88b56a25,99c96bd0,7b810505,e5dbcb7b,f4ba57c0
|
|
10
|
+
18=5f7ef89d
|
|
11
|
+
19=9189d871,d2411eca,294c1585,feca5a0d,51dda3db,6b99eb56
|
|
12
|
+
20=9c0e6525
|
|
13
|
+
21=e4412a62,0a476f6b
|
|
14
|
+
24=93571edb
|
|
15
|
+
26=09e848b9,88b56a25,99c96bd0,7b810505,e5dbcb7b,f4ba57c0
|
|
16
|
+
30=5f7ef89d
|
|
17
|
+
33=9189d871,d2411eca,294c1585,feca5a0d,51dda3db,6b99eb56
|
|
18
|
+
35=9c0e6525
|
|
19
|
+
file=c88752bd115f27169a710324c3212fcd,306176,/embedded/Common Files/AOL/AOLDiag/aoldiag.dll
|
|
20
|
+
3=ac71d428
|
|
21
|
+
4=91fd0942,d90a5a02,11fffad4,a7d3e9b8,fb80ddf3
|
|
22
|
+
file=e11ff49abe1319d9361c9b4a8bf01e61,4905472,/embedded/Common Files/Adobe/AdobeGraphicsManager/AGM.dll
|
|
23
|
+
2=a3ca664f,f626e6ca,3c47a459,80927a63,5f84d06d,d2762759,37b25338,1156e5fd,367d100d,5f94e1de,f7de68c4,56338abf,6fefb6f3,3f4dc36f,85f01a3d,3e4d9256,9cd6cd96,78f28350,dfc12cfc,e2796229,cb2f3704
|
|
24
|
+
3=444014a3,68a6d01e,5134dd5a
|
|
25
|
+
4=38b1e226,cb9ca319,5ff4e6f8,6ffd74ec,78cd649f,ececc1e1,61ff0615,444c109f,e950dedf,f352c919,29bc4618,d5b143dc,06a4076b,602b5323,8b30c0bf,7a53184f,61377a03,ce6b8bef,b9fb7f04,7a1be21d,8c795393,22ac99de,dd893ca5
|
|
26
|
+
5=ae409118,9a1ed89f,69324e6e,17426a03,437e603d,7e6a4be5,c4211d7e,0fe982ba,f9993842,163e044e,f3fa4add,0bc14f0d,cf5b7bc0,2836fe5a,7be7bd1a,d19d674b,55225d3a,ae730856,bf35a664,d15b8ca5,05980010,bcada21d,a2befd4b,dbf92c38,8217e118,24732909
|
|
27
|
+
6=ac95a0bf,ec2eefe3,46e0fb74,4caa633c,0d49b5e5,c78a1a55
|
|
28
|
+
7=e516bf2f,f3fcaef8
|
|
29
|
+
file=b84493ade283ce96d3219dbe93c9ee16,439872,/embedded/Common Files/Yahoo!/Tookit/yt.dll
|
|
30
|
+
3=ac99db62,57b545ca,07af59ac,0f095e9d,52a317e9,c72e7ee1,a7faf12e,88168ef4
|
|
31
|
+
4=ed49fb9c,7c8d9644,25b6d9e6,95768215,a4b87c74,1cc07fd0,1958f7a3,0558c86a,482c0edd,a50156fa,7600f6c3,4d09ea20,466ccc82,c807fce6
|
|
32
|
+
5=8cc88029,8dd0a108
|
|
33
|
+
6=3b118a9e
|
|
34
|
+
7=c88ff8d6,fe08264c,0151500b,93405b4a,94fc0896,fa0d3b07,c43fa851,4b4996f1,55f5bed7
|
|
35
|
+
9=cfd44e2f,76100ef3,b9695c03,b955a831,b7225822,c5b3a3c0,a96fc8fd,461ac60d,b1799f2f,8c71ecce,b6560893,3c0ea167,24447a1d,90ab0abd,acd19588,bdbe0289,cdc1836d,2154d523,204f2913,25eb9708,caef0b1b,005e1aaf,eaa1565e,a9b5ca79,4dd93991
|
|
36
|
+
11=e9e1afe2,25d3f4c8,d45fe5b0,9f58df13,c5724ddf,bc81dfcf,bc489c33,676a28a6,0fa2b11f,8f998a38,4eb90916,7f21581e,73fee5d1,d0bf3311,837fb50a
|
|
37
|
+
file=7beeabc82f59ef465e55202ec7c67e43,2392064,/embedded/CoreFTP/coreftp.exe
|
|
38
|
+
4=95cf6bd2,e039e851,92dbb54f
|
|
39
|
+
5=96276c7f,6efd0470,ac61b2db
|
|
40
|
+
7=fc41fcd3,35f31081
|
|
41
|
+
8=5ed8101a
|
|
42
|
+
12=886a7685,c3428cd0
|
|
43
|
+
13=852ceb78
|
|
44
|
+
16=e85bef28
|
|
45
|
+
17=2608238d
|
|
46
|
+
18=952d9c38,446a6fc2,6c7192ae,e0dcd624,00a8e158,adaa4de3,b84e4489,cf9d49cb,5eb4785e,61ee835d,a100d798
|
|
47
|
+
file=68ba7a523a630e3114d463cf3411862a,2172176,/embedded/InterVideo/Common/Bin/IVIUMA.dll
|
|
48
|
+
2=1c72aa1f,c5670ffb,60286f48,b7c00749,ccda3c4e,b408aab1,cb8c6d30,a00673d4
|
|
49
|
+
3=cf0c2fab,7a98273d,a0b8ee69,ee86f14b
|
|
50
|
+
5=5ca2fac9
|
|
51
|
+
9=6923d370,f2a373af,efa1d25c,b0aaed4b,7a2f5fef,be903873,2bee25d9,348ce717,337d6427,374833ea,3dbee621,f0733e9d,8f1b2068,2024635a,7e1cdc46,4a3af19e,13c0795a,6ece3055,dd01013f
|
|
52
|
+
10=bed94972,af7a186b
|
|
53
|
+
12=f31f226a
|
|
54
|
+
13=e502aa52,8990e004
|
|
55
|
+
file=db0e461169599af137eb24478c5292ce,324238,/lib/cglib-nodep-2.1_3.jar
|
|
56
|
+
3=3386277d,f7c22df5
|
|
57
|
+
4=716c10c0,a8176aed,b5c7d92b,700a3854
|
|
58
|
+
5=82e547c0,5e6ec3e5
|
|
59
|
+
6=ac4fdd81,d0d17741,3493116a,7eca9f01,bf6c7b17
|
|
60
|
+
8=cfc4846b,acbb7a31
|
|
61
|
+
9=82f904ab,66d3d9fb
|
|
62
|
+
file=dcdcbb47176603907c9f79a1349193eb,245274,/lib/commons-lang-2.3.jar
|
|
63
|
+
6=b5902fc4,29fab39e
|
|
64
|
+
7=b3bcbe9c,df8c9594
|
|
65
|
+
9=4e8f9375
|
|
66
|
+
11=52ef1f95
|
|
67
|
+
12=444a07ca,a46a7fa4
|
|
68
|
+
14=7bb4fb48
|