01 2020 档案
摘要:要实现这样一个窗口,点击目录按钮弹出窗口,显示pe结构的目录项; 画一个窗口,然后解析pe的数据目录,将得到的值用sendmessage放入输入框即可; 没什么难度,但是数据太多麻烦; 实现代码: //解析数据目录文件 BOOL getDirInfo(HWND hwndDlg){ LPVOID pF
阅读全文
摘要:1.目标 点击按钮“区段”弹出节表框,显示当前所选pe文件的节表信息 2.分析 1)画一个新对话框;只需要一个listView即可; 2)按钮的点击事件中调用DialogBox弹出该对话框; 3)在新对话框的回调函数的窗口加载事件中初始化listview; 4)为了得到节表信息,需要知道pe文件的路
阅读全文
摘要:1.目标 点击PE查看按钮,选pe文件,然后将该pe文件的信息展示在另一个窗口中; pe信息窗口: 2.需求分析 1)新窗口 需要一个新的窗口,可用资源脚本新建一个对话框,然后拖控件实现; 然后在pe查看按钮的点击事件中调用DialogBox(hAppInstance,MAKEINTRESOURCE
阅读全文
摘要:1.目标 需要实现一个pe文件的查看工具; 左边有两个listview; 上方是进程列表,下方是模块列表,进程列表中显示当前运行的所有进程信息; 点击进程列表中的某一个进程,在模块列表中显示该进程的所有模块信息; 点击右边的pe查看,先选一个pe文件,然后会弹出另一个窗口,显示该pe文件的信息; 2
阅读全文
摘要:1.进程的继承 创建进程的函数:BOOL CreateProcess( LPCTSTR lpApplicationName, // 创建进程时打开的exe文件名 LPTSTR lpCommandLine, // 创建进程时的命令行参数 LPSECURITY_ATTRIBUTES lpProcessA
阅读全文
摘要:1.进程的创建过程 步骤一: 当系统启动后,创建一个进程:Explorer.exe 也就是桌面进程. 步骤二: 当用户双击某一个EXE时,Explorer 进程使用CreateProcess函数创建被双击的EXE,也就是说,我们在桌面上双 击创建的进程都是Explorer进程的子进程. 可以用工具X
阅读全文
摘要:TCHAR字符串操作函数: _tcslen(str) //获得字符串长度 _tcsrchr(str, L'\\') //反向搜索获得最后一个TCHAR的位置 _stprintf(TCHAR *buffer,const TCHAR *format [,argument] ... ) //获得一个格式化
阅读全文
摘要:多线程程序需要注意两件事:互斥和同步; 互斥是多个线程访问同一个资源时,要保证同一时刻只能有一个线程访问该资源; 互斥常用的实现方式有:临界区和互斥体; 临界区无法跨进程,互斥体可以; 互斥体是内核对象,内核对象需要对0环进行操作,效率不如临界区; 同步是为了线程按顺序执;例如两个线程,希望某一个线
阅读全文
摘要:1.内核对象 内核对象是由操作系创建和维护的,在程序的高2g内存中创建; 进程可以共享内核对象; 常见的内核对象:进程、线程、文件、文件映射、事件、互斥体等等 1)内核对象的创建 各种内核对象有各自的创建API函数; 内核对象是由操作系统创建的,三环程序只能用API函数告诉系统需要创建一个内核对象;
阅读全文
摘要:1.等待函数 1)WaitForSingleObjectDWORD WaitForSingleObject( HANDLE hHandle, // handle to object DWORD dwMilliseconds // time-out interval ); 功能说明: 等待函数可使线程
阅读全文

浙公网安备 33010602011771号