IDA failed to display the program in graph mode

Usually via the graph mode we can clearly see what and how the subroutine did,however lucky is not all the time with us,u may get an error message like above.

This error is mostly caused by fallow reasons:

1. there are to much nods that ida can’t change to graph mod,now here is no solution to fix this error

2.the current cursor pos is at a position that ida can’t recognize them as functions

3. a sp-anylized failure happened .

Continue Reading

VS2010 + IDASDK6.2搭建IDA Plugin开发环境

这里使用的开发环境是vs2010,不过几乎所有的设置在早期版本的vs中基本是一致的。启动vs之后关闭其他的项目和解决方案,然后按照下面的流程创作工程即可。

  1. 执行菜单的File->New->Project… (Ctrl-Shift-N)打开新建工程窗口。
  2. 展开左侧的Visual C++项目模板分支,然后选择右侧的Win32 Project条目,输入工程名称,然后点击确定。

Continue Reading

C/C++/Delphi 调用命令并且显示执行结果

C/C++ 代码:

void ExecutCmd()
{
	SECURITY_ATTRIBUTES sa;
	HANDLE hRead,hWrite;
	wchar_t * lpCommandLine =_T("ping.exe www.h4ck.org.cn ");
	sa.nLength = sizeof(SECURITY_ATTRIBUTES);
	sa.lpSecurityDescriptor = NULL;
	sa.bInheritHandle = TRUE;

	TCHAR temp[255] = {0};
	_tcscpy(temp,lpCommandLine);
	if (!CreatePipe(&hRead,&hWrite,&sa,0)) {
		MessageBox(_T("Error On CreatePipe()"));
		return;
	}

	STARTUPINFO si;
	PROCESS_INFORMATION pi;
	si.cb = sizeof(STARTUPINFO);
	GetStartupInfo(&si);
	si.hStdError = hWrite;
	si.hStdOutput = hWrite;
	si.wShowWindow = SW_HIDE;
	si.dwFlags = STARTF_USESHOWWINDOW | STARTF_USESTDHANDLES;
	if (!CreateProcess(NULL,temp
		,NULL,NULL,TRUE,NULL,NULL,NULL,&si,&pi)) {
			MessageBox(_T("Error on CreateProcess()"));
			return;
	}
	CloseHandle(hWrite);

	char buffer[4096] = {0};
	DWORD bytesRead;
	while (true) {

		if (ReadFile(hRead,buffer,0x3FFu,&bytesRead,NULL) == NULL)
			break;
		outputstr += buffer;//m_outputstr is CString
		OutputDebugString(outputstr);
		UpdateData(false);
		Sleep(200);
		
	}
}
Continue Reading