Skip to content

Commit faf3125

Browse files
committed
Add lite instaler
1 parent e1ef7de commit faf3125

14 files changed

+1154
-0
lines changed
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
@ECHO OFF
2+
3+
cd "..\..\..\"
4+
5+
:: Analysis
6+
RMDIR "toolkit\Analysis\PEiD" /S /Q
7+
RMDIR "toolkit\Analysis\ProtectionID" /S /Q
8+
9+
:: Decompilers
10+
RMDIR "toolkit\Decompilers\[AUTOIT] Exe2Aut" /S /Q
11+
RMDIR "toolkit\Decompilers\[AUTOIT] MyAutToExe" /S /Q
12+
RMDIR "toolkit\Decompilers\[AUTOIT] UnAutoIt" /S /Q
13+
RMDIR "toolkit\Decompilers\[DELPHI] Dede" /S /Q
14+
RMDIR "toolkit\Decompilers\[DOTNET] GrayWolf" /S /Q
15+
RMDIR "toolkit\Decompilers\[VB] VB Decompiler" /S /Q
16+
17+
:: Dissasembler
18+
RMDIR "toolkit\Dissasembler\BDASM" /S /Q
19+
RMDIR "toolkit\Dissasembler\Immunity Debugger" /S /Q
20+
RMDIR "toolkit\Dissasembler\OllyDbg 1.10" /S /Q
21+
RMDIR "toolkit\Dissasembler\w32Dasm" /S /Q
22+
23+
:: Monitor
24+
RMDIR "toolkit\Monitor\RegShot" /S /Q
25+
RMDIR "toolkit\Monitor\SysAnalyzer" /S /Q
26+
27+
:: NFOMaker
28+
RMDIR "toolkit\NFOMaker" /S /Q
29+
30+
:: Other
31+
RMDIR "toolkit\Other\APKEasyTool" /S /Q
32+
RMDIR "toolkit\Other\AVFucker" /S /Q
33+
RMDIR "toolkit\Other\ImpREC" /S /Q
34+
RMDIR "toolkit\Other\Indetectables Offset Locator" /S /Q
35+
RMDIR "toolkit\Other\ShowString" /S /Q
36+
37+
:: Rootkits Detector
38+
RMDIR "toolkit\Rootkits Detector" /S /Q
39+
40+
:: UnPacking
41+
RMDIR "toolkit\UnPacking\GUnPacker" /S /Q
42+
RMDIR "toolkit\UnPacking\NETUnpack" /S /Q
43+
RMDIR "toolkit\UnPacking\QUnpack" /S /Q
44+
RMDIR "toolkit\UnPacking\RL!dePacker" /S /Q
45+
RMDIR "toolkit\UnPacking\VMUnpacker" /S /Q
46+
47+
pause
+129
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,129 @@
1+
; 4n4lDetector
2+
[Components]
3+
Name: "analysis\4n4ldetector"; Description: "4n4lDetector"; Types: full;
4+
5+
[Files]
6+
Source: "{#MySrcDir}\toolkit\Analysis\4n4lDetector\*"; DestDir: "{#MyAppToolsFolder}\Analysis\4n4lDetector"; Components: "analysis\4n4ldetector"; Flags: ignoreversion recursesubdirs createallsubdirs;
7+
8+
[Icons]
9+
Name: "{group}\{#MyAppName}\4n4lDetector"; Filename: "{#MyAppToolsFolder}\Analysis\4n4lDetector\4N4LDetector.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\4n4lDetector"; Components: "analysis\4n4ldetector";
10+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\4n4lDetector"; Filename: "{#MyAppToolsFolder}\Analysis\4n4lDetector\4N4LDetector.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\4n4lDetector"; Components: "analysis\4n4ldetector";
11+
12+
13+
14+
; CAPA
15+
[Components]
16+
Name: "analysis\capa"; Description: "CAPA"; Types: full compact;
17+
18+
[Files]
19+
Source: "{#MySrcDir}\toolkit\Analysis\CAPA\*"; DestDir: "{#MyAppToolsFolder}\Analysis\CAPA"; Components: "analysis\capa"; Flags: ignoreversion recursesubdirs createallsubdirs;
20+
21+
[Icons]
22+
Name: "{group}\{#MyAppName}\CAPA x64"; Filename: "{sys}\cmd.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\CAPA"; Components: "analysis\capa"; Parameters: "/K ""{#MyAppToolsFolder}\Analysis\CAPA\capa.exe"""; IconFilename: "{#MyAppToolsFolder}\Analysis\CAPA\capa.exe"; Check: Is64BitInstallMode;
23+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\CAPA x64"; Filename: "{sys}\cmd.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\CAPA"; Components: "analysis\capa"; Parameters: "/K ""{#MyAppToolsFolder}\Analysis\CAPA\capa.exe"""; IconFilename: "{#MyAppToolsFolder}\Analysis\CAPA\capa.exe"; Check: Is64BitInstallMode;
24+
25+
26+
27+
; DIE
28+
[Components]
29+
Name: "analysis\die"; Description: "DIE"; Types: full compact;
30+
31+
[Files]
32+
Source: "{#MySrcDir}\toolkit\Analysis\DIE\*"; DestDir: "{#MyAppToolsFolder}\Analysis\DIE"; Components: "analysis\die"; Flags: ignoreversion recursesubdirs createallsubdirs;
33+
34+
[Icons]
35+
Name: "{group}\{#MyAppName}\DIE"; Filename: "{#MyAppToolsFolder}\Analysis\DIE\die.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\DIE"; Components: "analysis\die";
36+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\DIE"; Filename: "{#MyAppToolsFolder}\Analysis\DIE\die.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\DIE"; Components: "analysis\die";
37+
38+
39+
40+
; ExeExplorer
41+
[Components]
42+
Name: "analysis\exeexplorer"; Description: "ExeExplorer"; Types: full;
43+
44+
[Files]
45+
Source: "{#MySrcDir}\toolkit\Analysis\ExeExplorer\*"; DestDir: "{#MyAppToolsFolder}\Analysis\ExeExplorer"; Components: "analysis\exeexplorer"; Flags: ignoreversion recursesubdirs createallsubdirs;
46+
47+
[Icons]
48+
Name: "{group}\{#MyAppName}\ExeExplorer"; Filename: "{#MyAppToolsFolder}\Analysis\ExeExplorer\EXE.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\ExeExplorer"; Components: "analysis\exeexplorer"; Check: not Is64BitInstallMode;
49+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\ExeExplorer"; Filename: "{#MyAppToolsFolder}\Analysis\ExeExplorer\EXE.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\ExeExplorer"; Components: "analysis\exeexplorer"; Check: not Is64BitInstallMode;
50+
51+
52+
53+
; ExeinfoPe
54+
[Components]
55+
Name: "analysis\exeinfope"; Description: "ExeinfoPe"; Types: full compact;
56+
57+
[Files]
58+
Source: "{#MySrcDir}\toolkit\Analysis\ExeinfoPe\*"; DestDir: "{#MyAppToolsFolder}\Analysis\ExeinfoPe"; Components: "analysis\exeinfope"; Flags: ignoreversion recursesubdirs createallsubdirs;
59+
60+
[Icons]
61+
Name: "{group}\{#MyAppName}\ExeinfoPe"; Filename: "{#MyAppToolsFolder}\Analysis\ExeinfoPe\exeinfope.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\ExeinfoPe"; Components: "analysis\exeinfope";
62+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\ExeinfoPe"; Filename: "{#MyAppToolsFolder}\Analysis\ExeinfoPe\exeinfope.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\ExeinfoPe"; Components: "analysis\exeinfope";
63+
64+
65+
66+
; PE-Bear
67+
[Components]
68+
Name: "analysis\pebear"; Description: "PE-Bear"; Types: full;
69+
70+
[Files]
71+
Source: "{#MySrcDir}\toolkit\Analysis\PE-Bear\*"; DestDir: "{#MyAppToolsFolder}\Analysis\PE-Bear"; Components: "analysis\pebear"; Flags: ignoreversion recursesubdirs createallsubdirs;
72+
73+
[Icons]
74+
Name: "{group}\{#MyAppName}\PE-Bear x64"; Filename: "{#MyAppToolsFolder}\Analysis\PE-Bear\PE-bear.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\PE-Bear"; Components: "analysis\pebear"; Check: Is64BitInstallMode;
75+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\PE-Bear x64"; Filename: "{#MyAppToolsFolder}\Analysis\PE-Bear\PE-bear.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\PE-Bear"; Components: "analysis\pebear"; Check: Is64BitInstallMode;
76+
77+
78+
79+
; PEStudio
80+
[Components]
81+
Name: "analysis\pestudio"; Description: "PEStudio"; Types: full compact;
82+
83+
[Files]
84+
Source: "{#MySrcDir}\toolkit\Analysis\PEStudio\*"; DestDir: "{#MyAppToolsFolder}\Analysis\PEStudio"; Components: "analysis\pestudio"; Flags: ignoreversion recursesubdirs createallsubdirs;
85+
86+
[Icons]
87+
Name: "{group}\{#MyAppName}\PEStudio x64"; Filename: "{#MyAppToolsFolder}\Analysis\PEStudio\pestudio.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\PEStudio"; Components: "analysis\pestudio"; Check: Is64BitInstallMode;
88+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\PEStudio x64"; Filename: "{#MyAppToolsFolder}\Analysis\PEStudio\pestudio.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\PEStudio"; Components: "analysis\pestudio"; Check: Is64BitInstallMode;
89+
90+
91+
92+
; XAPKDetector
93+
[Components]
94+
Name: "analysis\xapkdetector"; Description: "XAPKDetector"; Types: full compact;
95+
96+
[Files]
97+
Source: "{#MySrcDir}\toolkit\Analysis\XAPKDetector\*"; DestDir: "{#MyAppToolsFolder}\Analysis\XAPKDetector"; Components: "analysis\xapkdetector"; Flags: ignoreversion recursesubdirs createallsubdirs;
98+
99+
[Icons]
100+
Name: "{group}\{#MyAppName}\XAPKDetector"; Filename: "{#MyAppToolsFolder}\Analysis\XAPKDetector\xapkd.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\XAPKDetector"; Components: "analysis\xapkdetector";
101+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\XAPKDetector"; Filename: "{#MyAppToolsFolder}\Analysis\XAPKDetector\xapkd.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\XAPKDetector"; Components: "analysis\xapkdetector";
102+
103+
104+
105+
; XELFViewer
106+
[Components]
107+
Name: "analysis\xelfviewer"; Description: "XELFViewer"; Types: full;
108+
109+
[Files]
110+
Source: "{#MySrcDir}\toolkit\Analysis\XELFViewer\*"; DestDir: "{#MyAppToolsFolder}\Analysis\XELFViewer"; Components: "analysis\xelfviewer"; Flags: ignoreversion recursesubdirs createallsubdirs;
111+
112+
[Icons]
113+
Name: "{group}\{#MyAppName}\XELFViewer"; Filename: "{#MyAppToolsFolder}\Analysis\XELFViewer\xelfviewer.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\XELFViewer"; Components: "analysis\xelfviewer";
114+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\XELFViewer"; Filename: "{#MyAppToolsFolder}\Analysis\XELFViewer\xelfviewer.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\XELFViewer"; Components: "analysis\xelfviewer";
115+
116+
117+
118+
; XPEViewer
119+
[Components]
120+
Name: "analysis\xpeviewer"; Description: "XPEViewer"; Types: full;
121+
122+
[Files]
123+
Source: "{#MySrcDir}\toolkit\Analysis\XPEViewer\*"; DestDir: "{#MyAppToolsFolder}\Analysis\XPEViewer"; Components: "analysis\xpeviewer"; Flags: ignoreversion recursesubdirs createallsubdirs;
124+
125+
[Icons]
126+
Name: "{group}\{#MyAppName}\XPEViewer"; Filename: "{#MyAppToolsFolder}\Analysis\XPEViewer\xpeviewer.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\XPEViewer"; Components: "analysis\xpeviewer";
127+
Name: "{#MyAppBinsFolder}\sendto\sendto\Analysis\XPEViewer"; Filename: "{#MyAppToolsFolder}\Analysis\XPEViewer\xpeviewer.exe"; WorkingDir: "{#MyAppToolsFolder}\Analysis\XPEViewer"; Components: "analysis\xpeviewer";
128+
129+

bin/installer/lite/sections/cli.iss

+80
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,80 @@
1+
[Code]
2+
procedure EnvAddPath(Path: string);
3+
var
4+
Paths: string;
5+
begin
6+
{ Retrieve current path (use empty string if entry not exists) }
7+
if not RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
8+
Paths := '';
9+
10+
{ Skip if string already found in path }
11+
if Pos(';' + Uppercase(Path) + ';', ';' + Uppercase(Paths) + ';') > 0 then
12+
exit;
13+
14+
{ App string to the end of the path variable }
15+
Paths := Paths + ';'+ Path //+';'
16+
17+
{ Overwrite (or create if missing) path environment variable }
18+
if RegWriteStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
19+
Log(Format('The [%s] added to PATH: [%s]', [Path, Paths]))
20+
else
21+
Log(Format('Error while adding the [%s] to PATH: [%s]', [Path, Paths]));
22+
end;
23+
24+
procedure EnvRemovePath(Path: string);
25+
var
26+
Paths: string;
27+
P: Integer;
28+
begin
29+
{ Skip if registry entry not exists }
30+
if not RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
31+
exit;
32+
33+
{ Skip if string not found in path }
34+
P := Pos(';' + Uppercase(Path) + ';', ';' + Uppercase(Paths) + ';');
35+
if P = 0 then
36+
exit;
37+
38+
{ Update path variable }
39+
Delete(Paths, P - 1, Length(Path) + 1);
40+
41+
{ Overwrite path environment variable }
42+
if RegWriteStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
43+
Log(Format('The [%s] removed from PATH: [%s]', [Path, Paths]))
44+
else
45+
Log(Format('Error while removing the [%s] from PATH: [%s]', [Path, Paths]));
46+
end;
47+
48+
{
49+
;;;;; AUTOGENERATED!
50+
;;;;;;;;;;;;;;;;;;;;;;;;;
51+
}
52+
procedure CurStepChanged(CurStep: TSetupStep);
53+
begin
54+
if CurStep = ssPostInstall then
55+
begin
56+
if WizardIsComponentSelected('analysis\capa') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Analysis\CAPA');
57+
if WizardIsComponentSelected('monitor\hollowshunter') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Monitor\HollowsHunter');
58+
if WizardIsComponentSelected('monitor\pesieve') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Monitor\PE-sieve');
59+
if WizardIsComponentSelected('other\floss') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\FLOSS');
60+
if WizardIsComponentSelected('other\processdump') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\Process-Dump');
61+
if WizardIsComponentSelected('other\rawcap') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\RawCap');
62+
if WizardIsComponentSelected('other\strings') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\Strings');
63+
if WizardIsComponentSelected('unpacking\de4dot') then EnvAddPath(ExpandConstant('{#MyAppToolsFolder}') + '\UnPacking\De4Dot');
64+
end
65+
end;
66+
67+
procedure CurUninstallStepChanged(CurUninstallStep: TUninstallStep);
68+
begin
69+
if CurUninstallStep = usPostUninstall then
70+
begin
71+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Analysis\CAPA');
72+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Monitor\HollowsHunter');
73+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Monitor\PE-sieve');
74+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\FLOSS');
75+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\Process-Dump');
76+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\RawCap');
77+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\Other\Strings');
78+
EnvRemovePath(ExpandConstant('{#MyAppToolsFolder}') + '\UnPacking\De4Dot');
79+
end
80+
end;
+47
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,47 @@
1+
[Code]
2+
procedure EnvAddPath(Path: string);
3+
var
4+
Paths: string;
5+
begin
6+
{ Retrieve current path (use empty string if entry not exists) }
7+
if not RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
8+
Paths := '';
9+
10+
{ Skip if string already found in path }
11+
if Pos(';' + Uppercase(Path) + ';', ';' + Uppercase(Paths) + ';') > 0 then
12+
exit;
13+
14+
{ App string to the end of the path variable }
15+
Paths := Paths + ';'+ Path //+';'
16+
17+
{ Overwrite (or create if missing) path environment variable }
18+
if RegWriteStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
19+
Log(Format('The [%s] added to PATH: [%s]', [Path, Paths]))
20+
else
21+
Log(Format('Error while adding the [%s] to PATH: [%s]', [Path, Paths]));
22+
end;
23+
24+
procedure EnvRemovePath(Path: string);
25+
var
26+
Paths: string;
27+
P: Integer;
28+
begin
29+
{ Skip if registry entry not exists }
30+
if not RegQueryStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
31+
exit;
32+
33+
{ Skip if string not found in path }
34+
P := Pos(';' + Uppercase(Path) + ';', ';' + Uppercase(Paths) + ';');
35+
if P = 0 then
36+
exit;
37+
38+
{ Update path variable }
39+
Delete(Paths, P - 1, Length(Path) + 1);
40+
41+
{ Overwrite path environment variable }
42+
if RegWriteStringValue(HKEY_CURRENT_USER, 'Environment', 'Path', Paths) then
43+
Log(Format('The [%s] removed from PATH: [%s]', [Path, Paths]))
44+
else
45+
Log(Format('Error while removing the [%s] from PATH: [%s]', [Path, Paths]));
46+
end;
47+

0 commit comments

Comments
 (0)