📄 try4view.cpp
字号:
tp2.hTI = hCh2;
for(int i=1;i<=nMaxThread;i++)
AfxBeginThread(ScanPort,&tp2,THREAD_PRIORITY_IDLE);
while(1)
{
if(NowWhere>=gnEndPort)
{
AddToEdit(threadparam1->hWnd,"开放端口扫描完成",strStartIPAddr);
nCount++;
break;
}
}
}
else
nCount++;
if(gnScanOptions[2]==1)
{
AddToEdit(threadparam1->hWnd,"正在检测NetBios信息...",strStartIPAddr);
HTREEITEM hCh3=(threadparam1->pTC)->InsertItem("NetBios信息",1,1,hRoot,TVI_LAST);
if(!bStoped)
GetNetBios(threadparam1->hWnd,strStartIPAddr,threadparam1->pTC,hCh3);
AddToEdit(threadparam1->hWnd,"NetBios信息扫描完成",strStartIPAddr);
nCount++;
}
else
nCount++;
if(gnScanOptions[3]==1)
{
AddToEdit(threadparam1->hWnd,"正在检测NT Server 弱口令...",strStartIPAddr);
HTREEITEM hCh4=(threadparam1->pTC)->InsertItem("NT Server 弱口令",1,1,hRoot,TVI_LAST);
if(!bStoped)
GetNTWkPass(threadparam1->hWnd,strStartIPAddr,threadparam1->pTC,hCh4);
AddToEdit(threadparam1->hWnd,"NT Server弱口令扫描完成",strStartIPAddr);
nCount++;
}
else
nCount++;
if(gnScanOptions[4]==1)
{
AddToEdit(threadparam1->hWnd,"正在检测CGI漏洞...",strStartIPAddr);
HTREEITEM hCh5=(threadparam1->pTC)->InsertItem("CGI漏洞",1,1,hRoot,TVI_LAST);
if(!bStoped)
CGIScan(threadparam1->hWnd,strStartIPAddr,threadparam1->pTC,hCh5);
AddToEdit(threadparam1->hWnd,"CGI漏洞扫描完成",strStartIPAddr);
nCount++;
}
else
nCount++;
}
else
{
bStoped=true;
AddToEdit(threadparam1->hWnd,"主机没有响应",strStartIPAddr);
gMessage+="\r\n\r\n扫描全部完成.";
::SetWindowText(threadparam1->hWnd,gMessage);
::UpdateWindow(threadparam1->hWnd);
return 0;
}
while(1){
if(nCount>=5)
{
bStoped = true;
gMessage+="\r\n\r\n扫描全部完成.";
::SetWindowText(threadparam1->hWnd,gMessage);
::UpdateWindow(threadparam1->hWnd);
CFile fileResult("ScanResult.txt",CFile::modeWrite|CFile::modeCreate);
fileResult.Write(gMessage,gMessage.GetLength());
fileResult.Close();
break;
}
}
return 0;
}
//^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^END
/////////////////////////////////////////////////////////////////////////////
// CTry4View
IMPLEMENT_DYNCREATE(CTry4View, CFormView)
BEGIN_MESSAGE_MAP(CTry4View, CFormView)
//{{AFX_MSG_MAP(CTry4View)
ON_COMMAND(IDM_PARAM, OnParam)
ON_COMMAND(IDM_MODULE, OnModule)
ON_COMMAND(IDM_START, OnStart)
ON_COMMAND(IDM_HOSTNAME, OnHostname)
ON_COMMAND(IDM_IPADDR, OnIpaddr)
ON_COMMAND(IDM_NETTOIP, OnNettoip)
ON_WM_SIZE()
ON_NOTIFY(NM_DBLCLK, IDC_TREE, OnDblclkTree)
ON_COMMAND(IDM_VIEWRESULT, OnViewresult)
ON_COMMAND(IDM_STOP, OnStop)
ON_UPDATE_COMMAND_UI(IDM_START, OnUpdateStart)
ON_UPDATE_COMMAND_UI(IDM_STOP, OnUpdateStop)
ON_UPDATE_COMMAND_UI(IDM_PARAM, OnUpdateParam)
ON_UPDATE_COMMAND_UI(IDM_MODULE, OnUpdateModule)
ON_UPDATE_COMMAND_UI(IDM_VIEWRESULT, OnUpdateViewresult)
ON_COMMAND(IDM_EXIT, OnExit)
ON_NOTIFY(TVN_SELCHANGED, IDC_TREE, OnSelchangedTree)
ON_COMMAND(IDM_HELP, OnHelp)
//}}AFX_MSG_MAP
// Standard printing commands
ON_COMMAND(ID_FILE_PRINT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_DIRECT, CFormView::OnFilePrint)
ON_COMMAND(ID_FILE_PRINT_PREVIEW, CFormView::OnFilePrintPreview)
END_MESSAGE_MAP()
/////////////////////////////////////////////////////////////////////////////
// CTry4View construction/destruction
CTry4View::CTry4View()
: CFormView(CTry4View::IDD)
{
//{{AFX_DATA_INIT(CTry4View)
m_strEdit = _T("");
m_sEdit = _T("");
//}}AFX_DATA_INIT
// TODO: add construction code here
}
CTry4View::~CTry4View()
{
}
void CTry4View::DoDataExchange(CDataExchange* pDX)
{
CFormView::DoDataExchange(pDX);
//{{AFX_DATA_MAP(CTry4View)
DDX_Control(pDX, IDC_TREE, m_tree);
DDX_Control(pDX, IDC_EDIT2, m_edit2);
DDX_Control(pDX, IDC_EDIT1, m_edit1);
DDX_Text(pDX, IDC_EDIT1, m_strEdit);
DDX_Text(pDX, IDC_EDIT2, m_sEdit);
//}}AFX_DATA_MAP
}
BOOL CTry4View::PreCreateWindow(CREATESTRUCT& cs)
{
// TODO: Modify the Window class or styles here by modifying
// the CREATESTRUCT cs
return CFormView::PreCreateWindow(cs);
}
void CTry4View::OnInitialUpdate()
{
CFormView::OnInitialUpdate();
GetParentFrame()->RecalcLayout();
ResizeParentToFit();
m_edit1.ShowWindow(SW_HIDE);
m_tree.ShowWindow(SW_HIDE);
m_edit2.SetFocus();
UINT BytesRead;
char Data[20000];
CFile helpFile("使用说明.txt",CFile::modeRead);
BytesRead = helpFile.Read(Data, 15000 ) ;
Data[BytesRead]= '\0' ;
m_sEdit = _T(Data) ;
UpdateData(FALSE);
helpFile.Close();
}
/////////////////////////////////////////////////////////////////////////////
// CTry4View printing
BOOL CTry4View::OnPreparePrinting(CPrintInfo* pInfo)
{
// default preparation
return DoPreparePrinting(pInfo);
}
void CTry4View::OnBeginPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add extra initialization before printing
}
void CTry4View::OnEndPrinting(CDC* /*pDC*/, CPrintInfo* /*pInfo*/)
{
// TODO: add cleanup after printing
}
void CTry4View::OnPrint(CDC* pDC, CPrintInfo* /*pInfo*/)
{
// TODO: add customized printing code here
}
/////////////////////////////////////////////////////////////////////////////
// CTry4View diagnostics
#ifdef _DEBUG
void CTry4View::AssertValid() const
{
CFormView::AssertValid();
}
void CTry4View::Dump(CDumpContext& dc) const
{
CFormView::Dump(dc);
}
CTry4Doc* CTry4View::GetDocument() // non-debug version is inline
{
ASSERT(m_pDocument->IsKindOf(RUNTIME_CLASS(CTry4Doc)));
return (CTry4Doc*)m_pDocument;
}
#endif //_DEBUG
/////////////////////////////////////////////////////////////////////////////
// CTry4View message handlers
void CTry4View::OnParam()
{
// TODO: Add your command handler code here
CParamDlg pDlg;
pDlg.DoModal();
}
void CTry4View::OnModule()
{
// TODO: Add your command handler code here
CModuleDlg mDlg;
mDlg.DoModal();
}
void CTry4View::OnStart()
{
m_edit2.ShowWindow(SW_HIDE);
m_edit1.ShowWindow(SW_SHOW);
m_edit1.UpdateWindow();
m_tree.ShowWindow(SW_SHOW);
m_tree.UpdateWindow();
bStoped = false;
m_tree.DeleteAllItems();
m_strEdit=_T("");
// TODO: Add your command handler code here
/*
CString strOpt[5]={"Route Info","Open Port","Netbios Info","CGI","Nt Server"};
CString p;
p.Format("Scan From %d To %d ...",gnStartPort,gnEndPort);
CString h;
h.Format("Scan From %d To %d...",gdwStartIPAddr,gdwEndIPAddr);
AfxMessageBox(p);
AfxMessageBox(h);
for(int i=0;i<5;i++)
{
if(gnScanOptions[i]==1)
AfxMessageBox("Is Scanning "+strOpt[i]);
}
*/
// CWinThread *pThread=
tp1.hWnd=GetDlgItem(IDC_EDIT1)->GetSafeHwnd();
tp1.hwnd=GetDlgItem(IDC_TREE)->GetSafeHwnd();
tp1.pTC=&m_tree;
AfxBeginThread(StartScan,&tp1,THREAD_PRIORITY_IDLE);
}
void CTry4View::OnHostname()
{
// TODO: Add your command handler code here
CHostName HostNameDlg;
HostNameDlg.DoModal();
}
void CTry4View::OnIpaddr()
{
// TODO: Add your command handler code here
CIPAddr IPAddrDlg;
IPAddrDlg.DoModal();
}
void CTry4View::OnNettoip()
{
// TODO: Add your command handler code here
CNETTOIP netToIP;
netToIP.DoModal();
}
void CTry4View::OnSize(UINT nType, int cx, int cy)
{
CFormView::OnSize(nType, cx, cy);
// TODO: Add your message handler code here
}
void CTry4View::OnDblclkTree(NMHDR* pNMHDR, LRESULT* pResult)
{
// TODO: Add your control notification handler code here
if(strTreeCurrent=="用户列表")
::ShellExecute(NULL,_T("Open"),_T("UserInfo.txt"),NULL,NULL,TRUE);
if(strTreeCurrent=="共享列表")
::ShellExecute(NULL,_T("open"),_T("ShareInfo.txt"),NULL,NULL,TRUE);
if(strTreeCurrent=="远程操作系统信息")
::ShellExecute(NULL,_T("open"),"ServerInfo.txt",NULL,NULL,TRUE);
*pResult = 0;
}
void CTry4View::OnViewresult()
{
// TODO: Add your command handler code here
::ShellExecute(NULL,_T("open"),"ScanResult.txt",NULL,NULL,TRUE);
}
void CTry4View::OnStop()
{
// TODO: Add your command handler code here
int i=::MessageBox(NULL,"扫描正在进行,要强行终止吗?","终止扫描",MB_OKCANCEL);
if(i==IDOK)
{
bStoped = true;
gMessage+="\r\n\r\n正在结束线程...\r\n\r\n扫描全部完成.";
HWND hWnd=GetDlgItem(IDC_EDIT1)->GetSafeHwnd();
::SetWindowText(hWnd,gMessage);
::UpdateWindow(hWnd);
CFile fileResult("ScanResult.txt",CFile::modeWrite|CFile::modeCreate);
fileResult.Write(gMessage,gMessage.GetLength());
fileResult.Close();
}
}
void CTry4View::OnUpdateStart(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(!bStoped)
pCmdUI->Enable(false);
}
void CTry4View::OnUpdateStop(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(bStoped)
pCmdUI->Enable(false);
}
void CTry4View::OnUpdateParam(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(!bStoped)
pCmdUI->Enable(false);
}
void CTry4View::OnUpdateModule(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(!bStoped)
pCmdUI->Enable(false);
}
void CTry4View::OnUpdateViewresult(CCmdUI* pCmdUI)
{
// TODO: Add your command update UI handler code here
if(!bStoped)
pCmdUI->Enable(false);
}
void CTry4View::OnExit()
{
// TODO: Add your command handler code here
if(!bStoped)
{
int i=::MessageBox(NULL,"扫描正在进行,真要强行退出吗?","退出",MB_OKCANCEL);
if(i==IDCANCEL)
return;
else
bStoped=true;
}
}
void CTry4View::OnSelchangedTree(NMHDR* pNMHDR, LRESULT* pResult)
{
NM_TREEVIEW* pNMTreeView = (NM_TREEVIEW*)pNMHDR;
// TODO: Add your control notification handler code here
hTreeCurrent=m_tree.GetSelectedItem ();
strTreeCurrent=m_tree.GetItemText(hTreeCurrent);
*pResult = 0;
}
void CTry4View::OnHelp()
{
// TODO: Add your command handler code here
::ShellExecute(NULL,_T("open"),"使用说明.txt",NULL,NULL,TRUE);
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -