分类 Window 下的文章

工具 | office文档密码找回(附下载)!


Advanced Office Password Recovery(AOPR)

AOPR是一能解除Office文档密码的一款软件,下边说一下他的安装和使用教程。

安装

  1. 下载软件

Advanced.Office.Password.Recovery.Pro.6.01.632.rar

  1. 解压并安装
    直接执行aopr_setup_en.msi安装
  2. 安装途中输入下面激活码

激活码:AOPRS-V400-TJWTY-25328-WTPCC-79837

  1. 下一步安装完成

使用

  1. 点击Open File选择你要解除密码的文件

CIOMP_2024-03-15_14-34-50.png

  1. 直接默认bruteforce attack(野兽攻击) 其实就是所有模式都尝试
  2. 等待出结果
    CIOMP_2024-03-15_14-34-01.png

C++ | Linux下源码编译VTK6.1


背景

occ需要vtk依赖。

过程

  1. 添加cmake配置,c++标注指定11的版本

CMAKE_CXX_STANDARD 11

  1. 修改CMake文件,让其使用更高版本的gcc
    这边gcc版本为11.4的,所以3或4开头的需要修改11开头

CMake/GenerateExportHeader.cmake内的169行
CMake/vtkCompilerExtras.cmake内的30行
[34]修改成[0-9]+

  1. 修复error: ‘GLintptr’ has not been declared等报错
    /usr/include/GL/glxext.h文件先备份一下

sudo cp /usr/include/GL/glxext.h /usr/include/GL/glxext.h.bak

在此文件的474行添加下边两句话

typedef ptrdiff_t GLsizeiptr;
typedef ptrdiff_t GLintptr;
  1. 编译及安装make -j8 && make install

C++ | window下生成dump文件的死机报告解决程序异常崩溃


代码部分

依赖库 DbgHelp

win下直接链接引入即可: target_link_libraries(${PROJECT_NAME} DbgHelp)

头文件引入

#include <DbgHelp.h>

win异常处理函数注册

#ifdef WIN32
    // 注册异常处理函数
    LPTOP_LEVEL_EXCEPTION_FILTER Top = SetUnhandledExceptionFilter((LPTOP_LEVEL_EXCEPTION_FILTER)ApplicationCrashHandler);
    // 此函数与搜狗输入法冲突,会导致编译不过或程序运行崩溃
    // DisableSetUnhandledExceptionFilter();
#endif

异常处理执行函数代码如下

#ifdef WIN32
// 崩溃相关处理函数
LONG WINAPI ApplicationCrashHandler(EXCEPTION_POINTERS *pException){


    //这里弹出一个错误对话框并退出程序
    EXCEPTION_RECORD* record = pException->ExceptionRecord;


    QString errCode(QString::number((uint)record->ExceptionCode,16)),
            errAdr(QString::number(PtrToInt(record->ExceptionAddress),16)), 
            errMod;


    // 崩溃日志写入
    LOG_ERROR(QString::fromLocal8Bit("错误代码:%1 错误地址:%2").arg(errCode).arg(errAdr).toStdString().c_str());


    // 创建错误文件
    HANDLE dumpFile = CreateFile((LPCWSTR)QString("./error.dmp").utf16(),GENERIC_WRITE, 0, NULL, CREATE_ALWAYS, FILE_ATTRIBUTE_NORMAL, NULL);
    if(dumpFile != INVALID_HANDLE_VALUE)
    {
        MINIDUMP_EXCEPTION_INFORMATION dumpInfo;
        dumpInfo.ExceptionPointers = pException;
        dumpInfo.ThreadId = GetCurrentThreadId();
        dumpInfo.ClientPointers = TRUE;


        MiniDumpWriteDump(GetCurrentProcess(), GetCurrentProcessId(), dumpFile, MiniDumpNormal, &dumpInfo, NULL, NULL);
        CloseHandle(dumpFile);
        LOG_INFO(QString::fromLocal8Bit("调试信息生成成功。").toStdString().c_str());
    }else{
        LOG_ERROR(QString::fromLocal8Bit("调试信息文件生成失败。").toStdString().c_str());
    }


    QMessageBox::critical(NULL,
                          QString::fromLocal8Bit("程式崩溃"),
                          QString::fromLocal8Bit("<FONT size=4><div><b>对于发生的错误,表示诚挚的歉意</b><br/></div>")+
                          QString::fromLocal8Bit("<div>错误代码:%1</div><div>错误地址:%2</div></FONT>").arg(errCode).arg(errAdr),
                          QMessageBox::Ok);


    //EXCEPTION_EXECUTE_HANDLER
    return EXCEPTION_EXECUTE_HANDLER;
    // return EXCEPTION_CONTINUE_EXECUTION;
}


//防止CRT(C runtime)函数报错可能捕捉不到,这里与搜狗输入法存在bug,回到这程序起不来(暂时不执行此函数)
void DisableSetUnhandledExceptionFilter()
{
    void* addr = (void*)GetProcAddress(LoadLibrary(L"kernel32.dll"), "SetUnhandledExceptionFilter");
    if(addr)
    {
        unsigned char code[16];
        int size = 0;


        code[size++] = 0x33;
        code[size++] = 0xC0;
        code[size++] = 0xC2;
        code[size++] = 0x04;
        code[size++] = 0x00;


        DWORD dwOldFlag, dwTempFlag;
        VirtualProtect(addr, size, PAGE_READWRITE, &dwOldFlag);
        WriteProcessMemory(GetCurrentProcess(), addr, code, size, NULL);
        VirtualProtect(addr, size, dwOldFlag, &dwTempFlag);
    }
}
#endif

文件处理过程

在程序崩溃后会在指定目录下生成dmp文件(代码内指定了./error.dmp),正常在根目录找到error.dmp文件拖拽到visual studio中,右侧红框内可选择对应pdb进行调试。
65af2c1c92e38.png


问题 | 安装Ubuntu server 之后,系统只识别了部分容量。


描述

安装Ubuntu server 22.04之后,df -h发现/挂载的地方大小只有98G,但是硬盘的大小是300G,一大部分都没识别出来。

解决办法

  1. 查看现有的卷组
sudo vgdisplay

屏幕截图 2024-01-09 113240.jpg

  1. 扩展现有的逻辑卷
sudo lvextend -l +100%FREE /dev/mapper/ubuntu--vg-ubuntu--lv

注:注意一下后表的路基卷,跟你查看的挂载信息需要对应上。

屏幕截图 2024-01-09 113613.jpg

  1. 重新计算逻辑卷大小
sudo resize2fs /dev/mapper/ubuntu--vg-ubuntu--lv

屏幕截图 2024-01-09 113659.jpg

  1. 重新查看一下磁盘的挂载情况(需要3步重新计算才能生效)
df -h

屏幕截图 2024-01-09 113818.jpg


教程 | 电信天翼网关PT926G获取超级管理员密码


天翼网关

  1. 输入192.168.1.1计入后台界面输入密码

屏幕截图 2024-01-07 195704.jpg

  1. 光猫信息

屏幕截图 2024-01-07 195742.jpg

  1. 插入一个U盘,进入存储界面

屏幕截图 2024-01-07 195801.jpg

  1. f12进入浏览器开发这工具,进入console控制台输入以下代码
document.getElementById("storage_iframe").contentWindow.openfile("../../var/config/",false);

屏幕截图 2024-01-07 200403.jpg

  1. 回车后直接进入/var/config目录下,选中lastgood.xml就是最后所需要的文件

屏幕截图 2024-01-07 200439.jpg

  1. 复制lastgood.xml到U盘

屏幕截图 2024-01-07 200439.jpg
屏幕截图 2024-01-07 200511.jpg

  1. 查看U盘里的lastgood.xml文件,SUSER_PASSWORD和SUSER_NAME就是超级管理员的密码和账号了。

屏幕截图 2024-01-07 212939.jpg