首页 > TAG信息列表 > hProcess
c++ 热键快速退出QQ(或其它程序)
创作起因(废话,可以跳过) 因为疫情的缘故,我又不得不上了网课。 网课的内容相比学校课上的内容要简单的多(毕竟原来教我的是重点班老师,现在却是平行班老师给我们上课) 边听课,我就顺便跟铝硼铀在QQ上聊天(嘿嘿~~) 可是Ta的手速很糟糕,Ta母亲进房间的时候,Ta有时会来不及退出QQ,差点被发现.....32位程序读取64位进程内存
//第一步://定義函數參數結構 typedef NTSTATUS(NTAPI *LPFN_NTWOW64READVIRTUALMEMORY64)( IN HANDLE ProcessHandle, IN ULONG64 BaseAddress, OUT PVOID BufferData, IN ULONG64 BufferLength, OUT PULONG64 ReturnLength OPTIONAL); typedef NTSTATUS(NTAPI *LPFN_NTWOW64逆向实战 | 植物大战僵尸shellcode种植辣椒
参考视频:https://www.bilibili.com/video/BV1944y1y74f 先丢分析: 再丢代码: int full_jalapeno(){ // 辣椒清场 /* 火爆辣椒的id是0x14 樱桃炸弹的id是0x02 找对象基地址 1E0A6A30 =[edi(00AA9E08)+00000768] =[[6A9EC0]+00000768] =[[popcapgame1.exe+2A9EC0]+0反调试——2——深入NtQueryInformationProcess
反调试——2——深入NtQueryInformationProcess ProcessDebugPort这个标志位里面涉及到的东西比较复杂,所以要展开来讲。 CheckRemoteDebuggerPresent(): CheckRemoteDebuggerPresent function (debugapi.h) - Win32 apps | Microsoft Docs 该API的微软官方文档。 主要就是调用这C++ 获取进程所在目录(全路径)
方法1 定位某个进程(比如 QQMusic.exe)所在的全路径,下面是代码: string GetProcessInfo(HANDLE hProcess,char* processName) { PROCESSENTRY32* pinfo = new PROCESSENTRY32; //进程信息 (pinfo->dwSize = sizeof(PROCESSENTRY32);) MODULEENTRY32* minfo = new MODULEENTRY32; //模软件安全复习押题
Table of Contents 填空题 大概率必考 SDl开发模式计算硬盘容量主引导扇区的组成 其他 什么是软件安全系统监控工具流氓软件 简答题 大概率必考 画出堆栈示意图三年来和软件缺陷、漏洞相关的重大安全事件可信计算思路计算机的启动过程当前操作系统的移动引导形式及其区别用C++&C#外挂(内存修改)
大学时候因为主修C#语言(当然现在做的是javaweb开发),那时在网上学了用C#做外挂的教程,外挂嘛,大家都懂的.这里只是低级的修改内存,不涉及到截获数据包.如果是欺骗服务器,修改服务器数据,那就难的多了.这里给出两个修改内存代码的例子,一个是C#的一个是C++的.C#做东西比较简单,但多线程编程(9) - 认识等待函数 WaitForSingleObject
多线程编程(9) - 认识等待函数 WaitForSingleObject 一下子跳到等待函数 WaitForSingleObject, 是因为下面的 Mutex、Semaphore、Event、WaitableTimer 等同步手段都要使用这个函数; 不过等待函数可不止 WaitForSingleObject 它一个, 但它最简单.function WaitForSingleObjvc++进程注入钩子DLL通用模块开源
vc++进程注入钩子DLL通用模块开源 #include "stdafx.h"#include#define DEF_BUF_SIZE 1024// 用于存储注入模块DLL的路径全名char szDllPath[DEF_BUF_SIZE] = {0} ;// 使用远程线程向指定ID的进程注入模块BOOL InjectModuleToProcessById ( DWORD dwProcessId ){delphi xe10.4 破解
转:https://www.cnblogs.com/iwana/p/13158544.html procedure TForm1.Button1Click(Sender: TObject); var dwProcessID, dwBaseOfDll: LongWord; wstrExeFileName, wstrDllName: WideString; var hProcess: THandle; p: Pointer; hThread: THandle; dwThreadID:系统调用(一): 重写WriteProcessMemory
BOOL WriteProcessMemory( HANDLE hProcess, LPVOID lpBaseAddress, LPCVOID lpBuffer, SIZE_T nSize, SIZE_T *lpNumberOfBytesWritten ); 首先分析一下kernel32中的WriteProcessMemory,这里不管检查部分 push eax ; NumberOfBytesWritten pushxxxx (二):DLL远程注入
要想改变目标进程执行流程的办法有很多,最常见的就是hook。为了让目标进程执行特定的代码,可以注入shellcode或dll;shellcode的优点是体积小,不容易被检测到,但功能也相对单一;dll注入优点是可以包含的功能较多,但容易被检测到。本次拿xxxx软件举例做个dll注入; 要做注入,否先要再进程相关的API函数
0x01. ID与句柄 如果我们成功创建一个进程之后,CreateProcess会返回四个数据,id和句柄 句柄的话就是 当前进程私有的句柄表索引(这是当前进程,给别进程也没用) 每个进程都有一张自己的句柄表,这是私有的句柄表; 而操作系统也有一张,叫全局句柄表,里面包含了所有的正在运行的进程和线程 两逆向工程核心原理——第二十八章
第二十八章,利用汇编指令,注入代码 这里我们生成CodeInjection2.exe文件,通过文件将汇编语言插入notepad: 代码: // CodeInjection2.cpp // reversecore@gmail.com // http://www.reversecore.com #include "windows.h" #include "stdio.h" typedef struct _THREAD_PARA《逆向工程核心原理》——DLL注入与卸载
利用CreateRemoteThread #include <iostream> #include <tchar.h> #include <Windows.h> #include <tlhelp32.h> BOOL SetPrivilege(LPCTSTR lpszPrivilege, BOOL bEnablePrivilege) { TOKEN_PRIVILEGES tp; HANDLE hToken; LUID luid;C/C++ 实现常用的线程注入
简单编写DLL文件: #include <Windows.h> extern "C" __declspec(dllexport) void MsgBox(LPCWSTR szMsg, LPCWSTR Title) { MessageBox(NULL, szMsg, Title, MB_OK); } BOOL APIENTRY DllMain(HANDLE hModule, DWORD ul_reason_for_call, LPVOID lpReserved) {第28章:使用汇编语言进行代码注入
说白了就是将汇编指令直接转换为IA-32的16进制格式.// CodeInjection2.cpp // reversecore@gmail.com // http://www.reversecore.com #include "windows.h" #include "stdio.h" typedef struct _THREAD_PARAM { FARPROC pFunc[2]; // LoadLibraryA(), GVC++.进程路径2
CString strCurProcessPath; HANDLE hProcess = OpenProcess(PROCESS_QUERY_INFORMATION | PROCESS_VM_READ, 0, GetCurrentProcessId()); if (hProcess) { TCHAR wsz[MAX_PATH] = { 0 }; GetModuleFileNameEx(hProcess, 0, wsz, (MAX_PATH - 1) * sizeof(TCHAR)); strCurPx64 下记事本WriteFile() API钩取
《逆向工程核心原理》第30章 记事本WriteFile() API钩取 原文是在x86下,而在x64下函数调用方式为fastcall,前4个参数保存在寄存器中。在原代码基础上进行修改: 1 // myhookdbg.cpp : 此文件包含 "main" 函数。程序执行将在此处开始并结束。 2 // 3 4 #include "pch.h"delphi WaitForSingleObject 示例之一等待另一个进程的结束
<pre>unit Unit1; interface uses Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, StdCtrls; type TForm1 = class(TForm) Button1: TButton; procedure Button1Click(Sender: TObject); end; var Form1: TForm1; im逆向对抗技术之ring3解除文件句柄,删除文件
目录 一丶简介 二丶实战 + 环境模拟 1.环境模拟. 2.删除原理 3.代码实现 一丶简介 这些问题主要是工作中会遇到.包括后面的逆向对抗技术.有的可能只会提供思路.并且做相应的解决与对抗. 二丶实战 + 环境模拟 1.环境模拟. 假设现在有一个进程.打开了你的文件.而你现在无法关代码注入
// CodeInjection.cpp// reversecore@gmail.com// http://www.reversecore.com#include "windows.h"#include "stdio.h"typedef struct _THREAD_PARAM{ FARPROC pFunc[2]; // LoadLibraryA(), GetProcAddress() char szBuf[4][128];DLL注入示例(一)
#include<Windows.h>#include<tchar.h>BOOL InjectDll(DWORD dwPID, LPCTSTR szDllPath){ HANDLE hProcess = NULL, hThread = NULL; HMODULE hMod = NULL; LPVOID pRemoteBuf = NULL; DWORD dwBufSize = (DWORD)(_tcslen(szDllPath) + 1) * sizeof(TCHAR); LPTHR实在受不了了,大家来帮帮我如何调用这个C++/CLI的DLL
原文链接:http://www.cnblogs.com/wysky/archive/2007/09/11/889386.html 使用CreateRemoteThread和LoadLibrary技术的步骤如下: 1. 得到远程进程的HANDLE(使用OpenProcess)。 2. 在远程进程中为DLL文件名分配内存(VirtualAllocEx)。 3. 把DLL的文件名(全路径)写到通过进程Id终止进程
#include <stdio.h> #include <Windows.h> // 通过进程ID终止进程 BOOL TerminateProcessFromID(DWORD dwID) { BOOL bRet = FALSE; // 打开进程 HANDLE hProcess = ::OpenProcess(PROCESS_ALL_ACCESS,FALSE,dwID); if(hProcess !=NULL) { // 终止进程 bRet = ::T