|
发两张图
模板,类这些都是不支持的,不知是如何实现的. |
|
[招聘]翰海源信息技术有限公司 招聘开发/研究人员
明年再去你Y公司面试啊! |
|
[原创]QDebug 1.0测试版发布, 下载
抢占沙发,等了快一年了。 |
|
[原创]让360 金山 。。云见鬼去吧~~
前提是驱动能加载上,待加载上后这一切都是浮云. |
|
|
|
[求助]驱动中esp-4的位置是什么
这句的上面一个push xxx就是了 |
|
[求助]内核如何加载Dll的
不知道hal.dll是不是dll? |
|
[讨论] 求助一个dll如何自动更新的问题..
一个流程: 一个DLL导出一个函数用于检测是否有更新然后更新->将这个DLL放在另一个DLL的资源中->加载后面的DLL先解出前面的DLL用rundll32.exe xxxxx命令运行一下前面DLL的导出函数,然后做相应的处理. |
|
[原创]3rd:告别硬编码,使用符号文件自动解析符号
这货只能判断没导出的函数吧? 俺研究了很久了不知道是俺写的有问题还是本来只能解析没导出的函数. #pragma once #ifndef PDBDATA_H #define PDBDATA_H #include "KillProtectDll.h" #include "..\\KillProtect\\struct.h" #include <fstream> ;using namespace std; class PDBData { private: wchar_t ch_path[MAX_PATH]; protected: public: PDBData(); ~PDBData(); wchar_t* GetPDBPath(); BOOL Symbol_View(char* ch_Module,DWORD64 BaseAddr,DWORD FileSize); BOOL WcharToAchar(wchar_t* ch_temp,char* ch_temp1); ULONG EnumModule(wchar_t* ch_ModuleName,BOOL b_open); }; #endif //------------------------------------------ #include "PDBData.h" PDBData::PDBData() { ZeroMemory(ch_path,MAX_PATH); } PDBData::~PDBData() { } wchar_t* PDBData::GetPDBPath() { ::GetModuleFileName(::GetModuleHandle(DLL_Name),ch_path,MAX_PATH); ::PathRemoveFileSpec(ch_path); ::PathAppend(ch_path,PDB_Path); return ch_path; } char* ch_Name[]={"PsTerminateProcess","PsGetNextProcess","PsGetNextProcessThread"}; _FuncCou FunCont[100]; int in_Count=0; BOOL CALLBACK EnumSymCallBack( PSYMBOL_INFO pSymInfo,ULONG SymbolSize,PVOID UserContext ) { for(unsigned int i=0;i<3;i++) { if(strcmp(pSymInfo->Name,ch_Name[i])==0) { ZeroMemory(&FunCont[in_Count],sizeof(FunCont[in_Count])); ::memcpy(FunCont[in_Count].ch_FunName,pSymInfo->Name,strlen(pSymInfo->Name)+1); FunCont[in_Count].dw_Addr=pSymInfo->Address; in_Count++; } } return TRUE; } BOOL PDBData::Symbol_View(char* ch_Module,DWORD64 BaseAddr,DWORD FileSize) { PIMAGEHLP_SYMBOL pSymbol=NULL; DWORD Options=::SymGetOptions(); Options=Options|SYMOPT_DEBUG; ::SymSetOptions(Options); HANDLE hProcess=::GetCurrentProcess(); BOOL bRet=::SymInitialize(hProcess,0,FALSE); if(!bRet) { return FALSE; } char SymbolPath[MAX_PATH]; ::GetCurrentDirectoryA(MAX_PATH,SymbolPath); ::PathAppendA(SymbolPath,PDB_PathA); ::SymSetSearchPath(hProcess,SymbolPath); char FileName[MAX_PATH] ; ::GetSystemDirectoryA(FileName,MAX_PATH); ::PathAppendA(FileName,ch_Module); DWORD64 BaseOfDll=::SymLoadModule64(hProcess,NULL,FileName,NULL,BaseAddr,FileSize); if(BaseOfDll == 0) { return FALSE; } ::SymEnumSymbols(hProcess,BaseOfDll,0,EnumSymCallBack,0); ::SymUnloadModule64(hProcess,BaseOfDll); ::SymCleanup(hProcess); return TRUE; } BOOL PDBData::WcharToAchar( wchar_t* ch_temp,char* ch_temp1 ) { int in_len=::WideCharToMultiByte(CP_ACP,0,ch_temp,wcslen(ch_temp)*2+1,NULL,NULL,NULL,NULL); ::WideCharToMultiByte(CP_ACP,0,ch_temp,wcslen(ch_temp)*2+1,ch_temp1,in_len,NULL,NULL); return TRUE; } ULONG PDBData::EnumModule( wchar_t* ch_ModuleName,BOOL b_open=FALSE) { int status; LPVOID lpBuffer; int len=0; PSYSTEM_MODULE_INFORMATION ModuleTion; NtQuerySystemInformation* _NtQuerySystemInformation; _NtQuerySystemInformation=(NtQuerySystemInformation*)::GetProcAddress(::GetModuleHandle(L"ntdll.dll"),"NtQuerySystemInformation"); status=_NtQuerySystemInformation((SYSTEM_INFORMATION_CLASS)11,NULL,0,(PULONG)&len); lpBuffer=new BYTE[len]; if(lpBuffer==NULL) { return 0; } _NtQuerySystemInformation((SYSTEM_INFORMATION_CLASS)11,lpBuffer,len,NULL); ModuleTion=(PSYSTEM_MODULE_INFORMATION)lpBuffer; ULONG data=0; char ch_modulenames[MAX_PATH]; ZeroMemory(ch_modulenames,MAX_PATH); WcharToAchar(ch_ModuleName,ch_modulenames); for(unsigned int i=0;i<ModuleTion->Count;i++) { if(strstr(ModuleTion->Module[i].ImageName,ch_modulenames)) { if(b_open==FALSE) { data=(ULONG)ModuleTion->Module[0].Base; } else { data=(ULONG)ModuleTion->Module[0].Size; } break; } } delete [] lpBuffer; return data; } |
|
[求助]这是一个自制的shellcode,遇到一些问题!
先OD,然后再Shift+x就复制出来了,然后自己写个小工具每格两个字符加上一个\x. |
|
[求助]怎么读取文本指定内容啊?
有个东西叫做正则表达式. |
|
|
|
[求助]这是一个自制的shellcode,遇到一些问题!
其实你后面还少几行呢, MOV ESP,EBP pop ebp ret 上面有 push ebp mov ebp,esp 下面没有恢复,也没有返回. |
|
[求助]软件连接
你改错了一个地方. |
操作理由
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 }}
勋章
兑换勋章
证书
证书查询 >
能力值