|
|
|
[建议]改选啥
啥都不要,自己在家学技术。 |
|
|
|
[求助]2011届应届生求一安全行业工作[工作已找到]
都是靠摸索啊。我周围基本没一个人会编程或破解。。。。 |
|
[求助]ALT+F9回不到程序领空???
跟到底层去了。text段下断,F9看看 |
|
[求助]新人要学红,要学啥?
学C或C++,再加汇编。这就要一两年功夫。过两年我再教你下一步 |
|
[分享]系统文件PE注入
只能看懂一半,继续学习。。。 |
|
dll输出函数查询器(含源码)
软件已完成 void CexportDlg::OnDropFiles(HDROP hDropInfo) { // TODO: 在此添加消息处理程序代码和/或调用默认值 UINT count; TCHAR filePath[200]; count = DragQueryFile(hDropInfo, 0xFFFFFFFF, NULL, 0); if(count>1) { AfxMessageBox(L"请不要拖入多个文件!"); return ; } //for(UINT i=0; i<count; i++) //{ // int pathLen = DragQueryFile(hDropInfo, i, filePath, sizeof(filePath)); // //AfxMessageBox(filePath); //} DragQueryFile(hDropInfo, 0, filePath, sizeof(filePath)); //AfxMessageBox(filePath); HANDLE hFile=CreateFile(filePath,GENERIC_READ,0,NULL,OPEN_EXISTING,FILE_ATTRIBUTE_NORMAL,NULL); if (hFile==INVALID_HANDLE_VALUE) { AfxMessageBox(L"查询失败,本文件可能正被其他程序使用!"); return; } HANDLE hFileMapping=CreateFileMapping(hFile,NULL,PAGE_READONLY,0,0,0); if (hFileMapping==NULL) { AfxMessageBox(L"查询失败,本文件可能正被其他程序使用"); return; } PVOID pImage=(PVOID)MapViewOfFile(hFileMapping,FILE_MAP_READ,0,0,0); //得到dll的基址 //判断是否为PE文件 PIMAGE_DOS_HEADER pDH=NULL; PIMAGE_NT_HEADERS pNtH=NULL; pDH=(PIMAGE_DOS_HEADER)pImage; if (pDH->e_magic!=IMAGE_DOS_SIGNATURE) { AfxMessageBox(L"非PE文件!"); return ; } pNtH=(PIMAGE_NT_HEADERS)(pDH->e_lfanew+(DWORD)pImage); if (pNtH->Signature!=IMAGE_NT_SIGNATURE) { AfxMessageBox(L"非PE文件!"); return ; } ////得到数据目录表第一项:输出表结构 DWORD dwpIED=(DWORD)(pNtH)+0x78; // DWORD dwIEDSize=*(DWORD*)(dwpIED+4); //IED结构的大小 if (dwIEDSize==0) { AfxMessageBox(L"没有通过名字输出的函数!"); return ; } DWORD dwIEDRVA=*(DWORD*)dwpIED;//IED的RVA PVOID pDirData=(PVOID)ImageRvaToVa(pNtH,pImage,dwIEDRVA,NULL); PIMAGE_EXPORT_DIRECTORY pExport=NULL; pExport=(PIMAGE_EXPORT_DIRECTORY)(pDirData); int num=pExport->NumberOfFunctions; PDWORD pdwNames=NULL; PDWORD pDllNameRNA=NULL; CHAR * pDllName=NULL; pdwNames=(PDWORD)ImageRvaToVa(pNtH,pImage,pExport->AddressOfNames,NULL); /*pDllNameRNA=(PDWORD)ImageRvaToVa(pNtH,pImage,pExport->Name,NULL); pDllName=(char*)ImageRvaToVa(pNtH,pImage,pDllNameRNA,NULL); CHAR szBuf[MAX_PATH];*/ CString tips; tips.Format(L"此dll可通过名字输出%d个函数!",num); MessageBox(tips,L"提示",0x20); CHAR * szFuncName=NULL; list.ResetContent(); WCHAR szFunc[MAX_PATH]={0}; CString str; for (int i=0;i<num;i++) { szFuncName=(char*)ImageRvaToVa(pNtH,pImage,pdwNames[i],NULL); int len=MultiByteToWideChar(0,0,szFuncName,-1,NULL,0); WCHAR szFunc[MAX_PATH]={0}; MultiByteToWideChar(0,0,szFuncName,len,szFunc,len); str.Format(L"%s",szFuncName); list.AddString((LPCTSTR)(LPTSTR)szFunc); } UnmapViewOfFile(hFileMapping); CloseHandle(hFileMapping); CloseHandle(hFile); DragFinish(hDropInfo); CDialog::OnDropFiles(hDropInfo); } |
|
dll输出函数查询器(含源码)
问题已解决。谢谢楼上。 |
|
dll输出函数查询器(含源码)
pExport=(PIMAGE_EXPORT_DIRECTORY)(dwIED);//这一步为什么出错? 得到的 PIMAGE_EXPORT_DIRECTORY 结构里所有字段均为0 三个图:左边是我软件弹出的对话框,右边是LordPE 最下面是VS2008 的调试窗口 |
|
dll输出函数查询器(含源码)
问题解决。呵呵!不留下痕迹了 |
操作理由
RANk
{{ user_info.golds == '' ? 0 : user_info.golds }}
雪币
{{ experience }}
课程经验
{{ score }}
学习收益
{{study_duration_fmt}}
学习时长
基本信息
荣誉称号:
{{ honorary_title }}
能力排名:
No.{{ rank_num }}
等 级:
LV{{ rank_lv-100 }}
活跃值:
在线值:
浏览人数:{{ visits }}
最近活跃:{{ last_active_time }}
注册时间:{{ user_info.create_date_jsonfmt }}
勋章
兑换勋章
证书
证书查询 >
能力值