1
0
Fork 0

DBG+GUI: small changes to the SEH view

This commit is contained in:
mrexodia 2016-04-13 22:12:19 +02:00
parent 364c1b15a2
commit fbf415a3b8
4 changed files with 4 additions and 18 deletions

View File

@ -35,7 +35,7 @@ typedef struct
typedef struct
{
size_t total;
duint total;
DBGSEHRECORD* records;
} DBGSEHCHAIN;

View File

@ -11,24 +11,9 @@
#include "_exports.h"
#include "module.h"
#include "thread.h"
#include "exhandlerinfo.h"
bool stackcommentget(duint addr, STACK_COMMENT* comment)
{
std::vector<duint> SEHList;
if(ExHandlerGetSEH(SEHList))
{
std::vector<duint>::iterator iter = std::find(SEHList.begin(), SEHList.end(), addr);
if(iter != SEHList.end())
{
if(iter + 1 != SEHList.end())
sprintf_s(comment->comment, "Pointer to SEH_Record[%d]", iter - SEHList.begin() + 1);
else
sprintf_s(comment->comment, "End of SEH Chain");
strcpy_s(comment->color, "#AE81FF");
return true;
}
}
duint data = 0;
memset(comment, 0, sizeof(STACK_COMMENT));
MemRead(addr, &data, sizeof(duint));

View File

@ -112,9 +112,10 @@ MainWindow::MainWindow(QWidget* parent) : QMainWindow(parent), ui(new Ui::MainWi
// SEH Chain view
mSEHChainView = new SEHChainView();
mSEHChainView->setWindowTitle("SEH Chain");
mSEHChainView->setWindowTitle("SEH");
mSEHChainView->setWindowIcon(QIcon(":/icons/images/seh-chain.png"));
connect(mSEHChainView, SIGNAL(showCpu()), this, SLOT(displayCpuWidget()));
// Script view
mScriptView = new ScriptView();
mScriptView->setWindowTitle("Script");

View File

@ -32,7 +32,7 @@ void SEHChainView::updateSEHChain()
memset(&sehchain, 0, sizeof(DBGSEHCHAIN));
DbgFunctions()->GetSEHChain(&sehchain);
setRowCount(sehchain.total);
for(size_t i = 0; i < sehchain.total; i++)
for(duint i = 0; i < sehchain.total; i++)
{
QString cellText = QString("%1").arg(sehchain.records[i].addr, sizeof(duint) * 2, 16, QChar('0')).toUpper();
setCellContent(i, 0, cellText);