mirror of
https://github.com/pumpbin/pumpbin
synced 2026-03-14 23:04:30 -07:00
refactor: chore iced
This commit is contained in:
21
Cargo.lock
generated
21
Cargo.lock
generated
@@ -1820,7 +1820,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced"
|
name = "iced"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"iced_core",
|
"iced_core",
|
||||||
"iced_futures",
|
"iced_futures",
|
||||||
@@ -1834,7 +1834,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_core"
|
name = "iced_core"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.5.0",
|
"bitflags 2.5.0",
|
||||||
"bytes",
|
"bytes",
|
||||||
@@ -1852,7 +1852,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_futures"
|
name = "iced_futures"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"futures",
|
"futures",
|
||||||
"iced_core",
|
"iced_core",
|
||||||
@@ -1866,7 +1866,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_graphics"
|
name = "iced_graphics"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.5.0",
|
"bitflags 2.5.0",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
@@ -1887,7 +1887,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_renderer"
|
name = "iced_renderer"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"iced_graphics",
|
"iced_graphics",
|
||||||
"iced_tiny_skia",
|
"iced_tiny_skia",
|
||||||
@@ -1899,7 +1899,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_runtime"
|
name = "iced_runtime"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytes",
|
"bytes",
|
||||||
"iced_core",
|
"iced_core",
|
||||||
@@ -1911,7 +1911,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_tiny_skia"
|
name = "iced_tiny_skia"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
"cosmic-text",
|
"cosmic-text",
|
||||||
@@ -1927,7 +1927,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_wgpu"
|
name = "iced_wgpu"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"bitflags 2.5.0",
|
"bitflags 2.5.0",
|
||||||
"bytemuck",
|
"bytemuck",
|
||||||
@@ -1947,11 +1947,12 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_widget"
|
name = "iced_widget"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"iced_renderer",
|
"iced_renderer",
|
||||||
"iced_runtime",
|
"iced_runtime",
|
||||||
"num-traits",
|
"num-traits",
|
||||||
|
"once_cell",
|
||||||
"rustc-hash",
|
"rustc-hash",
|
||||||
"thiserror",
|
"thiserror",
|
||||||
"unicode-segmentation",
|
"unicode-segmentation",
|
||||||
@@ -1960,7 +1961,7 @@ dependencies = [
|
|||||||
[[package]]
|
[[package]]
|
||||||
name = "iced_winit"
|
name = "iced_winit"
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
source = "git+https://github.com/iced-rs/iced?rev=978327f9e7f68d3e5bc280faa0617487d8eabc57#978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
source = "git+https://github.com/iced-rs/iced?rev=143f4c86caeb43cfff6573fe192c8eb877bb044c#143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
dependencies = [
|
dependencies = [
|
||||||
"iced_futures",
|
"iced_futures",
|
||||||
"iced_graphics",
|
"iced_graphics",
|
||||||
|
|||||||
@@ -33,9 +33,9 @@ flate2 = "1.0.30"
|
|||||||
[dependencies.iced]
|
[dependencies.iced]
|
||||||
version = "0.13.0-dev"
|
version = "0.13.0-dev"
|
||||||
git = "https://github.com/iced-rs/iced"
|
git = "https://github.com/iced-rs/iced"
|
||||||
rev = "978327f9e7f68d3e5bc280faa0617487d8eabc57"
|
rev = "143f4c86caeb43cfff6573fe192c8eb877bb044c"
|
||||||
default-features = false
|
default-features = false
|
||||||
features = ["advanced", "svg", "tokio", "wgpu", "image"]
|
features = ["wgpu", "tiny-skia", "advanced", "svg", "tokio", "image"]
|
||||||
|
|
||||||
[package.metadata.winresource]
|
[package.metadata.winresource]
|
||||||
LegalCopyright = "Copyright (c) 2024 b1n <b1n@b1n.io>"
|
LegalCopyright = "Copyright (c) 2024 b1n <b1n@b1n.io>"
|
||||||
|
|||||||
@@ -5,13 +5,14 @@ use std::{fs, ops::Not, path::PathBuf};
|
|||||||
use anyhow::{anyhow, bail};
|
use anyhow::{anyhow, bail};
|
||||||
use dirs::{desktop_dir, home_dir};
|
use dirs::{desktop_dir, home_dir};
|
||||||
use iced::{
|
use iced::{
|
||||||
|
alignment::{Horizontal, Vertical},
|
||||||
application,
|
application,
|
||||||
futures::TryFutureExt,
|
futures::TryFutureExt,
|
||||||
widget::{
|
widget::{
|
||||||
button, column, horizontal_rule, pick_list, radio, row, svg::Handle, text, text_editor,
|
button, column, horizontal_rule, pick_list, radio, row, svg::Handle, text, text_editor,
|
||||||
text_input, Column, Svg,
|
text_input, Column, Svg,
|
||||||
},
|
},
|
||||||
Alignment, Length, Size, Task, Theme,
|
Length, Size, Task, Theme,
|
||||||
};
|
};
|
||||||
use pumpbin::{
|
use pumpbin::{
|
||||||
plugin::{Plugin, PluginInfo, PluginReplace},
|
plugin::{Plugin, PluginInfo, PluginReplace},
|
||||||
@@ -476,30 +477,30 @@ impl Maker {
|
|||||||
text("Plugin Name"),
|
text("Plugin Name"),
|
||||||
text_input("", self.plugin_name()).on_input(MakerMessage::PluginNameChanged),
|
text_input("", self.plugin_name()).on_input(MakerMessage::PluginNameChanged),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Author"),
|
text("Author"),
|
||||||
text_input("", self.author()).on_input(MakerMessage::AuthorChanged),
|
text_input("", self.author()).on_input(MakerMessage::AuthorChanged),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Version"),
|
text("Version"),
|
||||||
text_input("", self.version()).on_input(MakerMessage::VersionChanged),
|
text_input("", self.version()).on_input(MakerMessage::VersionChanged),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Prefix"),
|
text("Prefix"),
|
||||||
text_input("", self.src_prefix()).on_input(MakerMessage::SrcPrefixChanged),
|
text_input("", self.src_prefix()).on_input(MakerMessage::SrcPrefixChanged),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Max Len"),
|
text("Max Len"),
|
||||||
text_input("", self.max_len()).on_input(MakerMessage::MaxLenChanged),
|
text_input("", self.max_len()).on_input(MakerMessage::MaxLenChanged),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
]
|
]
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
column![
|
column![
|
||||||
text("Type"),
|
text("Type"),
|
||||||
row![
|
row![
|
||||||
@@ -523,15 +524,15 @@ impl Maker {
|
|||||||
text_input("", self.size_holder())
|
text_input("", self.size_holder())
|
||||||
.on_input(MakerMessage::SizeHolderChanged)
|
.on_input(MakerMessage::SizeHolderChanged)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
),
|
),
|
||||||
ShellcodeSaveType::Remote => None,
|
ShellcodeSaveType::Remote => None,
|
||||||
})
|
})
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.height(30)
|
.height(30)
|
||||||
.spacing(20)
|
.spacing(20)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Windows"),
|
text("Windows"),
|
||||||
row![
|
row![
|
||||||
@@ -545,10 +546,10 @@ impl Maker {
|
|||||||
choose_button()
|
choose_button()
|
||||||
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::WindowsLib)),
|
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::WindowsLib)),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Linux"),
|
text("Linux"),
|
||||||
row![
|
row![
|
||||||
@@ -561,10 +562,10 @@ impl Maker {
|
|||||||
choose_button()
|
choose_button()
|
||||||
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::LinuxLib)),
|
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::LinuxLib)),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text("Darwin"),
|
text("Darwin"),
|
||||||
row![
|
row![
|
||||||
@@ -578,10 +579,10 @@ impl Maker {
|
|||||||
choose_button()
|
choose_button()
|
||||||
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::DarwinLib)),
|
.on_press(MakerMessage::ChooseFileClicked(ChooseFileType::DarwinLib)),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
row![
|
row![
|
||||||
column![column![
|
column![column![
|
||||||
text("Encrypt Shellcode Plug-in"),
|
text("Encrypt Shellcode Plug-in"),
|
||||||
@@ -592,10 +593,10 @@ impl Maker {
|
|||||||
ChooseFileType::EncryptShellcodePlugin
|
ChooseFileType::EncryptShellcodePlugin
|
||||||
))
|
))
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10),
|
.spacing(10),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start)]
|
.align_x(Horizontal::Left)]
|
||||||
.push_maybe(match self.shellcode_save_type() {
|
.push_maybe(match self.shellcode_save_type() {
|
||||||
ShellcodeSaveType::Local => None,
|
ShellcodeSaveType::Local => None,
|
||||||
ShellcodeSaveType::Remote => Some(column![
|
ShellcodeSaveType::Remote => Some(column![
|
||||||
@@ -607,12 +608,12 @@ impl Maker {
|
|||||||
ChooseFileType::FormatUrlRemote
|
ChooseFileType::FormatUrlRemote
|
||||||
))
|
))
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
]),
|
]),
|
||||||
})
|
})
|
||||||
.width(Length::FillPortion(1))
|
.width(Length::FillPortion(1))
|
||||||
.align_items(Alignment::Center),
|
.align_x(Horizontal::Center),
|
||||||
column![column![
|
column![column![
|
||||||
text("Format Encrypted Shellcode Plug-in"),
|
text("Format Encrypted Shellcode Plug-in"),
|
||||||
row![
|
row![
|
||||||
@@ -622,10 +623,10 @@ impl Maker {
|
|||||||
ChooseFileType::FormatEncryptedShellcodePlugin
|
ChooseFileType::FormatEncryptedShellcodePlugin
|
||||||
))
|
))
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10),
|
.spacing(10),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start)]
|
.align_x(Horizontal::Left)]
|
||||||
.push_maybe(match self.shellcode_save_type() {
|
.push_maybe(match self.shellcode_save_type() {
|
||||||
ShellcodeSaveType::Local => None,
|
ShellcodeSaveType::Local => None,
|
||||||
ShellcodeSaveType::Remote => Some(
|
ShellcodeSaveType::Remote => Some(
|
||||||
@@ -640,16 +641,16 @@ impl Maker {
|
|||||||
ChooseFileType::UploadFinalShellcodeRemote
|
ChooseFileType::UploadFinalShellcodeRemote
|
||||||
))
|
))
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start)
|
.align_x(Horizontal::Left)
|
||||||
),
|
),
|
||||||
})
|
})
|
||||||
.width(Length::FillPortion(1))
|
.width(Length::FillPortion(1))
|
||||||
.align_items(Alignment::Center)
|
.align_x(Horizontal::Center)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.spacing(10),
|
.spacing(10),
|
||||||
column![
|
column![
|
||||||
text("Description"),
|
text("Description"),
|
||||||
@@ -657,14 +658,14 @@ impl Maker {
|
|||||||
.on_action(MakerMessage::DescAction)
|
.on_action(MakerMessage::DescAction)
|
||||||
.height(Length::Fill)
|
.height(Length::Fill)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![row![
|
column![row![
|
||||||
button("Generate").on_press(MakerMessage::GenerateClicked)
|
button("Generate").on_press(MakerMessage::GenerateClicked)
|
||||||
]]
|
]]
|
||||||
.align_items(Alignment::Center)
|
.align_x(Horizontal::Center)
|
||||||
.width(Length::Fill),
|
.width(Length::Fill),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start)
|
.align_x(Horizontal::Left)
|
||||||
.padding(20)
|
.padding(20)
|
||||||
.spacing(10);
|
.spacing(10);
|
||||||
|
|
||||||
@@ -703,20 +704,20 @@ impl Maker {
|
|||||||
row![
|
row![
|
||||||
column![version]
|
column![version]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![row![b1n, github].align_items(Alignment::Center)]
|
column![row![b1n, github].align_y(Vertical::Center)]
|
||||||
.width(Length::Shrink)
|
.width(Length::Shrink)
|
||||||
.align_items(Alignment::Center),
|
.align_x(Horizontal::Center),
|
||||||
column![theme_list]
|
column![theme_list]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.align_items(Alignment::End)
|
.align_x(Horizontal::Right)
|
||||||
]
|
]
|
||||||
.padding([0, 20])
|
.padding([0, 20])
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center);
|
.align_x(Horizontal::Center);
|
||||||
|
|
||||||
column![maker, footer].align_items(Alignment::Center)
|
column![maker, footer].align_x(Horizontal::Center)
|
||||||
}
|
}
|
||||||
|
|
||||||
pub fn theme(&self) -> Theme {
|
pub fn theme(&self) -> Theme {
|
||||||
|
|||||||
80
src/lib.rs
80
src/lib.rs
@@ -11,13 +11,14 @@ use std::{fmt::Display, fs, ops::Not, path::PathBuf};
|
|||||||
use anyhow::anyhow;
|
use anyhow::anyhow;
|
||||||
use dirs::{desktop_dir, home_dir};
|
use dirs::{desktop_dir, home_dir};
|
||||||
use iced::{
|
use iced::{
|
||||||
|
alignment::{Horizontal, Vertical},
|
||||||
futures::TryFutureExt,
|
futures::TryFutureExt,
|
||||||
widget::{
|
widget::{
|
||||||
button, column, container, horizontal_rule, pick_list, row, scrollable,
|
button, column, container, horizontal_rule, pick_list, row,
|
||||||
svg::{self, Handle},
|
svg::{self, Handle},
|
||||||
text, text_editor, text_input, vertical_rule, Column, Scrollable, Svg,
|
text, text_editor, text_input, vertical_rule, Column, Scrollable, Svg,
|
||||||
},
|
},
|
||||||
Alignment, Background, Length, Task, Theme,
|
Background, Length, Task, Theme,
|
||||||
};
|
};
|
||||||
use plugin::{Plugin, Plugins};
|
use plugin::{Plugin, Plugins};
|
||||||
use plugin_system::Pass;
|
use plugin_system::Pass;
|
||||||
@@ -489,7 +490,7 @@ impl Pumpbin {
|
|||||||
.on_press(Message::ChooseShellcodeClicked),
|
.on_press(Message::ChooseShellcodeClicked),
|
||||||
]
|
]
|
||||||
.spacing(3)
|
.spacing(3)
|
||||||
.align_items(Alignment::Center);
|
.align_y(Vertical::Center);
|
||||||
|
|
||||||
let pick_list_handle = || pick_list::Handle::Dynamic {
|
let pick_list_handle = || pick_list::Handle::Dynamic {
|
||||||
closed: pick_list::Icon {
|
closed: pick_list::Icon {
|
||||||
@@ -535,7 +536,7 @@ impl Pumpbin {
|
|||||||
text!("Generate")
|
text!("Generate")
|
||||||
]
|
]
|
||||||
.spacing(3)
|
.spacing(3)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
)
|
)
|
||||||
.on_press_maybe(
|
.on_press_maybe(
|
||||||
if self.selected_binary_type().is_some() && self.shellcode_src().is_empty().not() {
|
if self.selected_binary_type().is_some() && self.shellcode_src().is_empty().not() {
|
||||||
@@ -547,10 +548,10 @@ impl Pumpbin {
|
|||||||
|
|
||||||
let setting_panel = row![shellcode_src, platform, binary_type, generate]
|
let setting_panel = row![shellcode_src, platform, binary_type, generate]
|
||||||
.spacing(spacing)
|
.spacing(spacing)
|
||||||
.align_items(Alignment::Center);
|
.align_y(Vertical::Center);
|
||||||
|
|
||||||
let mut plugin_items = column![]
|
let mut plugin_items = column![]
|
||||||
.align_items(Alignment::Center)
|
.align_x(Horizontal::Center)
|
||||||
.spacing(10)
|
.spacing(10)
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.padding(3);
|
.padding(3);
|
||||||
@@ -568,7 +569,7 @@ impl Pumpbin {
|
|||||||
.color(self.theme().extended_palette().primary.base.color)
|
.color(self.theme().extended_palette().primary.base.color)
|
||||||
]
|
]
|
||||||
.spacing(spacing)
|
.spacing(spacing)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
);
|
);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -587,7 +588,7 @@ impl Pumpbin {
|
|||||||
row![
|
row![
|
||||||
column![text!(" {}", plugin.info().author())]
|
column![text!(" {}", plugin.info().author())]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![row!(
|
column![row!(
|
||||||
text(" ").color(self.theme().extended_palette().primary.base.color),
|
text(" ").color(self.theme().extended_palette().primary.base.color),
|
||||||
if plugin.bins().windows().is_platform_supported() {
|
if plugin.bins().windows().is_platform_supported() {
|
||||||
@@ -608,13 +609,13 @@ impl Pumpbin {
|
|||||||
text(" ").color(self.theme().extended_palette().danger.base.color)
|
text(" ").color(self.theme().extended_palette().danger.base.color)
|
||||||
}
|
}
|
||||||
)
|
)
|
||||||
.align_items(Alignment::Center)]
|
.align_y(Vertical::Center)]
|
||||||
.width(Length::Shrink)
|
.width(Length::Shrink)
|
||||||
.align_items(Alignment::End)
|
.align_x(Horizontal::Right)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center),
|
.align_x(Horizontal::Center),
|
||||||
)
|
)
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.style(match self.selected_plugin() {
|
.style(match self.selected_plugin() {
|
||||||
@@ -672,14 +673,12 @@ impl Pumpbin {
|
|||||||
plugin_info_title(" Darwin:"),
|
plugin_info_title(" Darwin:"),
|
||||||
plugin_info_title(" Description:"),
|
plugin_info_title(" Description:"),
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Start)]
|
.align_x(Horizontal::Left)]
|
||||||
.align_items(Alignment::Start),
|
.align_y(Vertical::Top),
|
||||||
row![pumpkin]
|
row![pumpkin].height(Length::Fill).align_y(Vertical::Bottom),
|
||||||
.height(Length::Fill)
|
|
||||||
.align_items(Alignment::End),
|
|
||||||
]
|
]
|
||||||
.width(Length::FillPortion(1))
|
.width(Length::FillPortion(1))
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![
|
column![
|
||||||
text(plugin.info().plugin_name()).size(16),
|
text(plugin.info().plugin_name()).size(16),
|
||||||
text(plugin.info().author()).size(16),
|
text(plugin.info().author()).size(16),
|
||||||
@@ -711,7 +710,7 @@ impl Pumpbin {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
.spacing(3)
|
.spacing(3)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
row![
|
row![
|
||||||
text(BinaryType::Executable.to_string()),
|
text(BinaryType::Executable.to_string()),
|
||||||
{
|
{
|
||||||
@@ -733,7 +732,7 @@ impl Pumpbin {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
.spacing(3)
|
.spacing(3)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
row![
|
row![
|
||||||
text(BinaryType::Executable.to_string()),
|
text(BinaryType::Executable.to_string()),
|
||||||
{
|
{
|
||||||
@@ -755,30 +754,27 @@ impl Pumpbin {
|
|||||||
}
|
}
|
||||||
]
|
]
|
||||||
.spacing(3)
|
.spacing(3)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
text_editor(self.plugin_desc())
|
text_editor(self.plugin_desc())
|
||||||
.padding(10)
|
.padding(10)
|
||||||
.height(Length::Fill)
|
.height(Length::Fill)
|
||||||
.on_action(Message::EditorAction),
|
.on_action(Message::EditorAction),
|
||||||
]
|
]
|
||||||
.width(Length::FillPortion(3))
|
.width(Length::FillPortion(3))
|
||||||
.align_items(Alignment::Start)
|
.align_x(Horizontal::Left)
|
||||||
]
|
]
|
||||||
.spacing(spacing)
|
.spacing(spacing)
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
}
|
}
|
||||||
None => row![pumpkin],
|
None => row![pumpkin],
|
||||||
}]
|
}]
|
||||||
.align_items(Alignment::Start);
|
.align_x(Horizontal::Left);
|
||||||
|
|
||||||
let plugin_list_view = container(
|
let plugin_list_view = container(
|
||||||
column![
|
column![
|
||||||
Scrollable::with_direction(
|
Scrollable::new(plugin_items)
|
||||||
plugin_items,
|
.width(Length::Fill)
|
||||||
scrollable::Direction::Vertical(scrollable::Properties::new())
|
.height(Length::Fill),
|
||||||
)
|
|
||||||
.width(Length::Fill)
|
|
||||||
.height(Length::Fill),
|
|
||||||
column![
|
column![
|
||||||
horizontal_rule(0),
|
horizontal_rule(0),
|
||||||
row![
|
row![
|
||||||
@@ -818,16 +814,16 @@ impl Pumpbin {
|
|||||||
vertical_rule(0),
|
vertical_rule(0),
|
||||||
]
|
]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.align_items(Alignment::Center),
|
.align_y(Vertical::Center),
|
||||||
]
|
]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.height(20)
|
.height(20)
|
||||||
.align_items(Alignment::Center)
|
.align_x(Horizontal::Center)
|
||||||
]
|
]
|
||||||
.spacing(3)
|
.spacing(3)
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.height(Length::Fill)
|
.height(Length::Fill)
|
||||||
.align_items(Alignment::Center),
|
.align_x(Horizontal::Center),
|
||||||
)
|
)
|
||||||
.height(Length::Fill)
|
.height(Length::Fill)
|
||||||
.style(|theme: &Theme| {
|
.style(|theme: &Theme| {
|
||||||
@@ -840,7 +836,7 @@ impl Pumpbin {
|
|||||||
plugin_list_view.width(Length::FillPortion(1))
|
plugin_list_view.width(Length::FillPortion(1))
|
||||||
]
|
]
|
||||||
.spacing(spacing)
|
.spacing(spacing)
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.height(Length::Fill);
|
.height(Length::Fill);
|
||||||
|
|
||||||
@@ -879,27 +875,27 @@ impl Pumpbin {
|
|||||||
row![
|
row![
|
||||||
column![version]
|
column![version]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.align_items(Alignment::Start),
|
.align_x(Horizontal::Left),
|
||||||
column![row![b1n, github].align_items(Alignment::Center)]
|
column![row![b1n, github].align_y(Vertical::Center)]
|
||||||
.width(Length::Shrink)
|
.width(Length::Shrink)
|
||||||
.align_items(Alignment::Center),
|
.align_x(Horizontal::Center),
|
||||||
column![theme_list]
|
column![theme_list]
|
||||||
.width(Length::Fill)
|
.width(Length::Fill)
|
||||||
.align_items(Alignment::End)
|
.align_x(Horizontal::Right)
|
||||||
]
|
]
|
||||||
.padding([0, padding])
|
.padding([0, padding])
|
||||||
.align_items(Alignment::Center)
|
.align_y(Vertical::Center)
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center);
|
.align_x(Horizontal::Center);
|
||||||
|
|
||||||
let home = column![
|
let home = column![
|
||||||
column![setting_panel, plugin_panel]
|
column![setting_panel, plugin_panel]
|
||||||
.padding(padding)
|
.padding(padding)
|
||||||
.align_items(Alignment::Center)
|
.align_x(Horizontal::Center)
|
||||||
.spacing(spacing),
|
.spacing(spacing),
|
||||||
footer
|
footer
|
||||||
]
|
]
|
||||||
.align_items(Alignment::Center);
|
.align_x(Horizontal::Center);
|
||||||
|
|
||||||
home
|
home
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -40,5 +40,6 @@ fn try_main() -> anyhow::Result<()> {
|
|||||||
.window(utils::window_settings())
|
.window(utils::window_settings())
|
||||||
.theme(Pumpbin::theme)
|
.theme(Pumpbin::theme)
|
||||||
.run()?;
|
.run()?;
|
||||||
|
|
||||||
Ok(())
|
Ok(())
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -73,7 +73,7 @@ pub fn replace(
|
|||||||
|
|
||||||
let position = memmem::find_iter(bin, holder)
|
let position = memmem::find_iter(bin, holder)
|
||||||
.next()
|
.next()
|
||||||
.ok_or(anyhow!("Not found {}", String::from_utf8_lossy(holder)))?;
|
.ok_or(anyhow!("Not found {}.", String::from_utf8_lossy(holder)))?;
|
||||||
let mut random: Vec<u8> = iter::repeat(b'0')
|
let mut random: Vec<u8> = iter::repeat(b'0')
|
||||||
.take(max_len - replace_by.len())
|
.take(max_len - replace_by.len())
|
||||||
.collect();
|
.collect();
|
||||||
|
|||||||
Reference in New Issue
Block a user