mirror of
https://github.com/jankammerath/BogusMips.git
synced 2026-11-07 10:15:59 -10:00
feat: initialize BogusMips project with basic app structure
- Add Cargo.toml with project metadata and dependencies. - Create main application logic in src/app.rs, including a simple UI that displays "Hello, World!". - Implement main function in src/main.rs to run the application with specified window options. - Set up module structure with src/ui for theme management. - Add dark theme application in src/ui/theme.rs to customize the UI appearance.
This commit is contained in:
1 parent
bb31650f8a
commit
d243a3af64
8 files changed
+4195
-1
No files matched your search
@@ -0,0 +1,2 @@
|
||||
/target
|
||||
.DS_Store
|
||||
Generated
+4103
File diff suppressed because it is too large.
Load diff
+14
@@ -0,0 +1,14 @@
|
||||
[package]
|
||||
name = "bogusmips"
|
||||
version = "0.1.0"
|
||||
edition = "2024"
|
||||
rust-version = "1.85"
|
||||
description = "Analyze how far an Android app (*.apk / *.aab) can be disassembled"
|
||||
readme = "README.md"
|
||||
|
||||
[dependencies]
|
||||
eframe = "0.32.3"
|
||||
|
||||
[profile.release]
|
||||
lto = true
|
||||
codegen-units = 1
|
||||
@@ -1,3 +1,23 @@
|
||||
# BogusMips
|
||||
|
||||
BogusMips is written in Rust and allows performing analyses on how far your Android app can be disassembled. It allows you to open the `*.apk` or `*.aab` file of your app to see how far your app can be disassembled.
|
||||
BogusMips is written in Rust and allows performing analyses on how far your Android app can be disassembled. It allows you to open the `*.apk` or `*.aab` file of your app to see how far your app can be disassembled.
|
||||
|
||||
## Building & running
|
||||
|
||||
Requires Rust 1.85 or newer.
|
||||
|
||||
```sh
|
||||
cargo run # debug build
|
||||
cargo run --release # optimized build
|
||||
```
|
||||
|
||||
## Project structure
|
||||
|
||||
```
|
||||
src/
|
||||
├── main.rs # entry point, window setup
|
||||
├── app.rs # application state and main UI loop
|
||||
└── ui/
|
||||
├── mod.rs
|
||||
└── theme.rs # dark theme configuration
|
||||
```
|
||||
+23
@@ -0,0 +1,23 @@
|
||||
use eframe::egui;
|
||||
|
||||
use crate::ui::theme;
|
||||
|
||||
#[derive(Default)]
|
||||
pub struct BogusMipsApp;
|
||||
|
||||
impl BogusMipsApp {
|
||||
pub fn new(cc: &eframe::CreationContext<'_>) -> Self {
|
||||
theme::apply_dark(&cc.egui_ctx);
|
||||
Self
|
||||
}
|
||||
}
|
||||
|
||||
impl eframe::App for BogusMipsApp {
|
||||
fn update(&mut self, ctx: &egui::Context, _frame: &mut eframe::Frame) {
|
||||
egui::CentralPanel::default().show(ctx, |ui| {
|
||||
ui.centered_and_justified(|ui| {
|
||||
ui.heading("Hello, World!");
|
||||
});
|
||||
});
|
||||
}
|
||||
}
|
||||
+20
@@ -0,0 +1,20 @@
|
||||
mod app;
|
||||
mod ui;
|
||||
|
||||
use app::BogusMipsApp;
|
||||
|
||||
fn main() -> eframe::Result {
|
||||
let options = eframe::NativeOptions {
|
||||
viewport: eframe::egui::ViewportBuilder::default()
|
||||
.with_title("BogusMips")
|
||||
.with_inner_size([1024.0, 720.0])
|
||||
.with_min_inner_size([640.0, 400.0]),
|
||||
..Default::default()
|
||||
};
|
||||
|
||||
eframe::run_native(
|
||||
"BogusMips",
|
||||
options,
|
||||
Box::new(|cc| Ok(Box::new(BogusMipsApp::new(cc)))),
|
||||
)
|
||||
}
|
||||
@@ -0,0 +1 @@
|
||||
pub mod theme;
|
||||
@@ -0,0 +1,11 @@
|
||||
use eframe::egui::{self, Color32};
|
||||
|
||||
pub fn apply_dark(ctx: &egui::Context) {
|
||||
ctx.set_theme(egui::Theme::Dark);
|
||||
ctx.style_mut_of(egui::Theme::Dark, |style| {
|
||||
let bg = Color32::from_rgb(0x1e, 0x1e, 0x22);
|
||||
style.visuals.panel_fill = bg;
|
||||
style.visuals.window_fill = bg;
|
||||
style.visuals.override_text_color = Some(Color32::from_rgb(0xe6, 0xe6, 0xe6));
|
||||
});
|
||||
}
|
||||
Reference in new issue
Block a user