Files
Ryujin/RyujinGUI/RyujinApp.hh
keowu a96d97b9b0 feat: MSVC optimization bug fixes, FFI standard support, and Anti-Debug options in RyujinGui
- Fixed a bug related to MSVC optimizations that broke Ryujin's relocation algorithm and its fix-up logic.
- Introduced a standardized FFI argument-passing method for Ryujin Core; the legacy method remains compatible.
- Ryujin GUI now fully supports the Anti-Debug features.
- Various minor bug fixes and improvements to project structure.
2025-07-10 20:55:39 -03:00

42 lines
1.3 KiB
C++

#include <wx/wx.h>
#include <wx/filedlg.h>
#include <wx/gauge.h>
#include <wx/textdlg.h>
#include <wx/statline.h>
#include <wx/mstream.h>
#include <thread>
#include "resource.h"
#include "RyujinCore.hh"
class RyujinApp : public wxApp {
private:
wxTextCtrl* m_input = nullptr;
wxTextCtrl* m_pdb = nullptr;
wxTextCtrl* m_output = nullptr;
wxCheckBox* m_virtualize = nullptr;
wxCheckBox* m_junk = nullptr;
wxCheckBox* m_encrypt = nullptr;
wxCheckBox* m_randomSection = nullptr;
wxCheckBox* m_obfuscateIat = nullptr;
wxCheckBox* m_ignoreOriginalCodeRemove = nullptr;
wxCheckBox* m_isAntiDebugWithTroll = nullptr;
wxCheckBox* m_isAntiDebugNormal = nullptr;
wxListBox* m_procList = nullptr;
wxGauge* m_progress = nullptr;
auto DrawnPathRow(wxWindow* parent, wxBoxSizer* sizer, const wxString& label, int buttonId) -> wxTextCtrl*;
auto DrawnStyledCheckbox(wxWindow* parent, const wxString& label) -> wxCheckBox*;
auto DrawnRyujinButton(wxWindow* parent, const wxString& label, int id) -> wxButton*;
auto BindFileDialogs(wxFrame* frame) -> void;
auto BindListEvents(wxFrame* frame) -> void;
auto BindRunEvent(wxFrame* frame) -> void;
auto LoadPngFromRes(wxWindow* parent, wxWindowID id, int resId) -> wxStaticBitmap*;
public:
bool OnInit() override;
};
wxIMPLEMENT_APP(RyujinApp);