MCPcopy Create free account
hub / github.com/Adaptix-Framework/AdaptixC2 / ListProjects

Method ListProjects

AdaptixClient/Source/Client/Storage.cpp:98–178  ·  view source on GitHub ↗

Source from the content-addressed store, hash-verified

96/// PROJECTS
97
98QVector<AuthProfile> Storage::ListProjects()
99{
100 auto list = QVector<AuthProfile>();
101 QSqlQuery query(QSqlDatabase::database(DB_CONNECTION_NAME));
102 query.prepare( "SELECT project, data FROM Projects;" );
103 if (query.exec()) {
104 while (query.next()) {
105 QString project = query.value("project").toString();
106 QString data = query.value("data").toString();
107
108 QJsonDocument doc = QJsonDocument::fromJson(data.toUtf8());
109 QJsonObject json = doc.object();
110
111 AuthProfile profile(project,
112 json["username"].toString(),
113 json["password"].toString(),
114 json["host"].toString(),
115 json["port"].toString(),
116 json["endpoint"].toString(),
117 json["projectDir"].toString());
118
119 if (json.contains("subscriptions")) {
120 QStringList subs;
121 for (const auto &v : json["subscriptions"].toArray())
122 subs.append(v.toString());
123
124 if (subs.contains("chat")) {
125 subs.removeAll("chat");
126 subs.append("chat_history");
127 subs.append("chat_realtime");
128 }
129 if (subs.contains("downloads")) {
130 subs.removeAll("downloads");
131 subs.append("downloads_history");
132 subs.append("downloads_realtime");
133 }
134 if (subs.contains("screenshots")) {
135 subs.removeAll("screenshots");
136 subs.append("screenshot_history");
137 subs.append("screenshot_realtime");
138 }
139 if (subs.contains("credentials")) {
140 subs.removeAll("credentials");
141 subs.append("credentials_history");
142 subs.append("credentials_realtime");
143 }
144 if (subs.contains("targets")) {
145 subs.removeAll("targets");
146 subs.append("targets_history");
147 subs.append("targets_realtime");
148 }
149 if (subs.contains("tasks_only_active")) {
150 subs.removeAll("tasks_only_active");
151 subs.append("tasks_only_jobs");
152 }
153
154 profile.SetSubscriptions(subs);
155 } else {

Callers 1

loadProjectsMethod · 0.80

Calls 11

LogErrorFunction · 0.85
execMethod · 0.80
appendMethod · 0.80
removeAllMethod · 0.80
SetSubscriptionsMethod · 0.80
push_backMethod · 0.80
toStdStringMethod · 0.80
valueMethod · 0.45
containsMethod · 0.45
SetConsoleMultiuserMethod · 0.45
textMethod · 0.45

Tested by

no test coverage detected