找回密码
 立即注册

QQ登录

只需一步,快速开始

搜索
热搜: 文档 工具 设计
查看: 17|回复: 1

UPX3.96GUI工具主要源码

[复制链接]

2万

主题

1547

回帖

3万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
10
听众
1
威望
7
贡献
17231
违规
0
书币
55845
注册时间
2020-4-8

论坛元老灌水之王

发表于 2025-8-2 07:40 | 显示全部楼层 |阅读模式
UPX3.96GUI工具主要源码


[C++] 纯文本查看 复制代码
// UPX路径默认检测逻辑
CString GetDefaultUPXPath() {
    TCHAR path[MAX_PATH];
    GetWindowsDirectory(path, MAX_PATH);
    CString strUPX = CString(path) + _T("\\upx.exe");
    if (PathFileExists(strUPX)) return strUPX;
 
    if (GetEnvironmentVariable(_T("UPX_HOME"), path, MAX_PATH))
        return CString(path) + _T("\\upx.exe");
 
    return _T("upx.exe"); // 尝试系统PATH
}
 
// 执行UPX命令的核心方法
bool ExecuteUPXCommand(CString cmd) {
    SECURITY_ATTRIBUTES sa = { sizeof(sa), NULL, TRUE };
    HANDLE hRead, hWrite;
    CreatePipe(&hRead, &hWrite, &sa, 0);
    STARTUPINFO si = { sizeof(si) };
    PROCESS_INFORMATION pi;
    si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
    si.wShowWindow = SW_HIDE;
    si.hStdOutput = hWrite;
    si.hStdError = hWrite;
    BOOL success = CreateProcess(NULL, cmd.GetBuffer(), NULL, NULL, TRUE,
        CREATE_NO_WINDOW, NULL, NULL, &si, &pi);
    cmd.ReleaseBuffer();
    if (!success) return false;
    CloseHandle(hWrite);
 
    WaitForSingleObject(pi.hProcess, INFINITE);
    DWORD exitCode;
    GetExitCodeProcess(pi.hProcess, &exitCode);
 
    CloseHandle(pi.hThread);
    CloseHandle(pi.hProcess);
    CloseHandle(hRead);
 
    return exitCode == 0;
}
 
void CUPXToolsDlg::OnBnClickedButton1()
{
    CString path;
    m_editPath.GetWindowTextW(path);
 
    if (path == L"请设置文件路径") {
        MessageBox(L"请设置文件路径");
    }
 
    if (m_radio1.GetCheck()) {
 
        CString leve;
        leve.Format(L"-%d", m_combo.GetCurSel() + 1);
 
        CString cmd;
        cmd.Format(_T("%s %s %s"), GetDefaultUPXPath(), leve, path);
 
        BOOL success = ExecuteUPXCommand(cmd);
 
        if (success) {
            MessageBox(L"加壳成功");
        }
        else {
            MessageBox(L"加壳失败");
        }
    }
    else{
 
        CString cmd;
        cmd.Format(_T("%s -d %s"), GetDefaultUPXPath(),path);
 
        BOOL success = ExecuteUPXCommand(cmd);
 
        if (success) {
            MessageBox(L"脱壳成功");
        }
        else {
            MessageBox(L"脱壳失败");
        }
    }
 
    // TODO: 在此添加控件通知处理程序代码
}


Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
相信我 学习就是不断的重复 不需要什么技巧

2万

主题

1547

回帖

3万

积分

超级版主

教育辅助界扛把子

附加身份标识
精华
1
热心
10
听众
1
威望
7
贡献
17231
违规
0
书币
55845
注册时间
2020-4-8

论坛元老灌水之王

 楼主| 发表于 2025-8-2 07:42 | 显示全部楼层
UPX脱壳加壳

upx-3.96-win64.zip

2.02 MB, 下载次数: 0, 下载积分: 书币 -1

Great works are not done by strength, but by persistence! 历尽艰辛的飞升者,成了围剿孙悟空的十万天兵之一。
相信我 学习就是不断的重复 不需要什么技巧
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则 需要先绑定手机号


免责声明:
本站所发布的第三方软件及资源(包括但不仅限于文字/图片/音频/视频等仅限用于学习和研究目的;不得将上述内容用于商业或者非法用途,否则,一切后果请用户自负。本站信息来自网络,版权争议与本站无关。您必须在下载后的24个小时之内,从您的电脑中彻底删除上述内容。如果您喜欢某程序或某个资源,请支持正版软件及版权方利益,注册或购买,得到更好的正版服务。如有侵权请邮件与我们联系处理。

Mail To: admin@cdsy.xyz

QQ|Archiver|手机版|小黑屋|城东书院 ( 湘ICP备19021508号-1|湘公网安备 43102202000103号 )

GMT+8, 2025-8-16 23:24 , Processed in 0.046309 second(s), 31 queries .

Powered by Discuz! CDSY.XYZ

Copyright © 2019-2025, Tencent Cloud.

快速回复 返回顶部 返回列表