delphi xe10.4 破解
时间:2020-06-18
本文章向大家介绍
delphi xe10.4 破解
,主要包括
delphi xe10.4 破解
使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。
procedure TForm1.Button1Click(Sender: TObject); var dwProcessID, dwBaseOfDll: LongWord; wstrExeFileName, wstrDllName: WideString; var hProcess: THandle; p: Pointer; hThread: THandle; dwThreadID: LongWord; hFileHandle: THandle; byValue: Byte; dwTmp: LongWord; wszBuffer: array[0..1023] of WideChar; dwLen: LongWord; pszLibFileRemote: Pointer; begin //获取mOasisRuntime.dll的路径 if not GetProcessID('radstudio_10_4_esd_99797b.tmp', dwProcessID, wstrExeFileName) then Exit; if not GetModuleBase(dwProcessID, 'mOasisRuntime.dll', dwBaseOfDll, wstrDllName) then Exit; if not WideFileExists(wstrDllName) then Exit; //从进程卸载该Dll hProcess := OpenProcess(PROCESS_ALL_ACCESS, FALSE, dwProcessID); if hProcess = 0 then Exit; p := GetProcAddress(GetModuleHandle(kernel32), 'FreeLibrary'); hThread := CreateRemoteThread(hProcess, nil, 0, p, Pointer(dwBaseOfDll), 0, dwThreadID); WaitForSingleObject(hThread, INFINITE); CloseHandle(hProcess); //修改该Dll文件 hFileHandle := CreateFileW(PWideChar(wstrDllName), GENERIC_WRITE, 0, nil, OPEN_EXISTING, FILE_ATTRIBUTE_NORMAL, 0); if hFileHandle = INVALID_HANDLE_VALUE then Exit; SetFilePointer(hFileHandle, 1495017, nil, FILE_BEGIN); byValue := $EB; WriteFile(hFileHandle, byValue, 1, dwTmp, 0); CloseHandle(hFileHandle); //重新加载该Dll hProcess := OpenProcess(PROCESS_CREATE_THREAD or PROCESS_QUERY_INFORMATION or PROCESS_VM_OPERATION or PROCESS_VM_READ or PROCESS_VM_WRITE, FALSE, dwProcessID); if hProcess = 0 then Exit; lstrcpyW(wszBuffer, PWideChar(wstrDllName)); dwLen := (1 + Length(wstrDllName)) * sizeof(WCHAR); pszLibFileRemote := VirtualAllocEx(hProcess, nil, dwLen, MEM_COMMIT, PAGE_READWRITE); if pszLibFileRemote = nil then begin CloseHandle(hProcess); Exit; end; dwTmp := 0; if not WriteProcessMemory(hProcess, pszLibFileRemote, @wszBuffer[0], dwLen, dwTmp) then begin CloseHandle(hProcess); Exit; end; p := GetProcAddress(GetModuleHandle(kernel32), 'LoadLibraryW'); hThread := CreateRemoteThread(hProcess, nil, 0, p, pszLibFileRemote, 0, dwThreadID); WaitForSingleObject(hThread, INFINITE); VirtualFreeEx(hProcess, pszLibFileRemote, dwLen, MEM_RELEASE); CloseHandle(hProcess); ShowMessage('ok'); end;
//http://altd.embarcadero.com/download/radstudio/10.4/radstudio_10_4_99797b.iso
原文地址:https://www.cnblogs.com/iwana/p/13158544.html
- JavaScript 教程
- JavaScript 编辑工具
- JavaScript 与HTML
- JavaScript 与Java
- JavaScript 数据结构
- JavaScript 基本数据类型
- JavaScript 特殊数据类型
- JavaScript 运算符
- JavaScript typeof 运算符
- JavaScript 表达式
- JavaScript 类型转换
- JavaScript 基本语法
- JavaScript 注释
- Javascript 基本处理流程
- Javascript 选择结构
- Javascript if 语句
- Javascript if 语句的嵌套
- Javascript switch 语句
- Javascript 循环结构
- Javascript 循环结构实例
- Javascript 跳转语句
- Javascript 控制语句总结
- Javascript 函数介绍
- Javascript 函数的定义
- Javascript 函数调用
- Javascript 几种特殊的函数
- JavaScript 内置函数简介
- Javascript eval() 函数
- Javascript isFinite() 函数
- Javascript isNaN() 函数
- parseInt() 与 parseFloat()
- escape() 与 unescape()
- Javascript 字符串介绍
- Javascript length属性
- javascript 字符串函数
- Javascript 日期对象简介
- Javascript 日期对象用途
- Date 对象属性和方法
- Javascript 数组是什么
- Javascript 创建数组
- Javascript 数组赋值与取值
- Javascript 数组属性和方法
- 聊聊java中的哪些Map:(七)ConcurrentHashMap的size方法的一致性分析
- 关于ConcurrentHashMap的key和value不能为null的深层次原因
- How does InnoDB behave without a Primary Key(11.InnoDB在没用主键情况下的行为)
- 输入示例,自动生成代码:TensorFlow官方工具TF-Coder已开源
- 聊聊java8中的@sun.misc.Contended与伪共享
- InnoDB Tidbit:The doublewrite buffer wastes 32 pages (512 KiB) (12.双写缓冲区会导致512KB的浪费)
- 10 | Tornado源码分析:Gen 对象(上)
- springboot使用spring-cloud-starter-alibaba-sentinel导致响应变成xml格式
- 内网安全攻防之内网渗透测试基础
- CMake脚本中如何修改XCode工程属性?
- 数值微分|有限差分法的误差分析
- Odyssey
- 【MySQL】之join算法详解
- 性能最佳实践:查询模式和分析
- Node 如何在 Controller 层进行数据校验