MCPcopy Create free account
hub / github.com/dobin/SuperMega / add_project

Function add_project

app/views_project.py:173–204  ·  view source on GitHub ↗
()

Source from the content-addressed store, hash-verified

171
172@views_project.route("/project_add", methods=['POST', 'GET'])
173def add_project():
174 if request.method == 'POST':
175 project_name = request.form['project_name']
176 comment = request.form['comment']
177
178 # check if already exists
179 if storage.get_project_setting(project_name) != None:
180 logger.error("Project {} already exists".format(project_name))
181 return redirect("/projects", code=302)
182
183 # Empty settings, except name
184 settings = Settings(project_name)
185 settings.project_comment = comment
186
187 # Sane defaults for web
188 settings.injectable_base = "7z.exe"
189 settings.payload_base = "calc64.bin"
190
191 settings.decoder_style = "xor_2"
192 settings.carrier_name = "alloc_rw_rx"
193 settings.carrier_invoke_style = CarrierInvokeStyle.BackdoorFunc
194 settings.payload_location = PayloadLocation.DATA
195 settings.fix_missing_iat = True
196 settings.plugin_antiemulation = "sirallocalot"
197
198 # add new project to disk
199 storage.add_project_setting(settings)
200
201 return redirect("/project/{}".format(project_name), code=302)
202
203 else: # GET
204 return render_template('project_add_get.html')
205
206
207@views_project.route("/project_update", methods=['POST'])

Callers

nothing calls this directly

Calls 4

SettingsClass · 0.90
get_project_settingMethod · 0.80
formatMethod · 0.80
add_project_settingMethod · 0.80

Tested by

no test coverage detected