逆向破解之破解补丁与劫持Dll
破解补丁
前言
破解补丁的作用是修改程序内存地址的硬编码,以此来实现破解软件
这是常见的JE跳转用来判断注册码是否正确,若401108
位置的汇编指令给Nop掉就能实现破解
编写代码
1.C语言
运行程序后输入要破解的程序进程ID
#include <stdio.h>
#include <windows.h>int main()
{ int pId;printf("请输入要破解程序的进程ID:");scanf("%d", &pId);byte buff[] = { 0x90,0x90,0x90,0x90,0x90,0x90 };HANDLE hHandle = OpenProcess(PROCESS_ALL_ACCESS, TRUE, pId); //打开指定进程WriteProcessMemory(hHandle, (LPVOID)0x00401108, buff, 6, NULL); //修改程序内存地址的值}
2.E语言
易语言相对C语言写破解补丁会显得更加方便,只需导入精易模块一条语句就能直接修改程序内存地址的值
在全局变量新建一个类依次来调用精易模块的函数
通过调用精易模块的写字节集函数进行内存写入
劫持Dll
前言
有些加了壳的程序会导致其在未完全解密完成的情况下出现如下汇编代码
当软件运行后,其真正的汇编代码才会呈现出来,也就是我们常说的“吐壳”
在程序没有把壳完全吐出来前,我们需要通过代码来判断这个程序是否吐完壳了,最好的方法就是判断某个内存地址的值是否是解密完成后的值
这里我就选4010F0内存地址的值53
来判断程序是否吐完壳了
简单来说劫持dll就是劫持系统的dll,弄一个包含恶意代码的dll来伪装成系统dll,然后把这个dll和程序放在同一目录,程序会优先调用含有恶意代码的dll
本次实例演示劫持系统的winspool.drv
编写代码
1.C语言
这里推荐一个软件AheadLib
,可以自动生成指定系统dll的C语言代码,后面可以在此代码自行添加要执行的功能
将生成的代码复制到自己创建好的DLL项目,需要注意以下几点
在项目属性设置字符集为多字节字符集
将项目设置为Release版本
在入口函数处可以编写自己的代码
以下是可以实现破解功能的完整代码
// 头文件
#include <Windows.h>
#include "stdafx.h"// 导出函数
#pragma comment(linker, "/EXPORT:Noname100=_AheadLib_Noname100,@100,NONAME")
#pragma comment(linker, "/EXPORT:Noname101=_AheadLib_Noname101,@101,NONAME")
#pragma comment(linker, "/EXPORT:Noname102=_AheadLib_Noname102,@102,NONAME")
#pragma comment(linker, "/EXPORT:Noname103=_AheadLib_Noname103,@103,NONAME")
#pragma comment(linker, "/EXPORT:ADVANCEDSETUPDIALOG=_AheadLib_ADVANCEDSETUPDIALOG,@104")
#pragma comment(linker, "/EXPORT:AdvancedSetupDialog=_AheadLib_AdvancedSetupDialog,@105")
#pragma comment(linker, "/EXPORT:ConvertAnsiDevModeToUnicodeDevmode=_AheadLib_ConvertAnsiDevModeToUnicodeDevmode,@106")
#pragma comment(linker, "/EXPORT:ConvertUnicodeDevModeToAnsiDevmode=_AheadLib_ConvertUnicodeDevModeToAnsiDevmode,@107")
#pragma comment(linker, "/EXPORT:DEVICEMODE=_AheadLib_DEVICEMODE,@108")
#pragma comment(linker, "/EXPORT:DeviceMode=_AheadLib_DeviceMode,@109")
#pragma comment(linker, "/EXPORT:DocumentEvent=_AheadLib_DocumentEvent,@110")
#pragma comment(linker, "/EXPORT:PerfClose=_AheadLib_PerfClose,@111")
#pragma comment(linker, "/EXPORT:PerfCollect=_AheadLib_PerfCollect,@112")
#pragma comment(linker, "/EXPORT:PerfOpen=_AheadLib_PerfOpen,@113")
#pragma comment(linker, "/EXPORT:QueryColorProfile=_AheadLib_QueryColorProfile,@114")
#pragma comment(linker, "/EXPORT:QueryRemoteFonts=_AheadLib_QueryRemoteFonts,@115")
#pragma comment(linker, "/EXPORT:QuerySpoolMode=_AheadLib_QuerySpoolMode,@116")
#pragma comment(linker, "/EXPORT:SpoolerDevQueryPrintW=_AheadLib_SpoolerDevQueryPrintW,@117")
#pragma comment(linker, "/EXPORT:StartDocDlgW=_AheadLib_StartDocDlgW,@118")
#pragma comment(linker, "/EXPORT:AbortPrinter=_AheadLib_AbortPrinter,@119")
#pragma comment(linker, "/EXPORT:AddFormA=_AheadLib_AddFormA,@120")
#pragma comment(linker, "/EXPORT:AddFormW=_AheadLib_AddFormW,@121")
#pragma comment(linker, "/EXPORT:AddJobA=_AheadLib_AddJobA,@122")
#pragma comment(linker, "/EXPORT:AddJobW=_AheadLib_AddJobW,@123")
#pragma comment(linker, "/EXPORT:AddMonitorA=_AheadLib_AddMonitorA,@124")
#pragma comment(linker, "/EXPORT:AddMonitorW=_AheadLib_AddMonitorW,@125")
#pragma comment(linker, "/EXPORT:AddPortA=_AheadLib_AddPortA,@126")
#pragma comment(linker, "/EXPORT:AddPortExA=_AheadLib_AddPortExA,@127")
#pragma comment(linker, "/EXPORT:AddPortExW=_AheadLib_AddPortExW,@128")
#pragma comment(linker, "/EXPORT:AddPortW=_AheadLib_AddPortW,@129")
#pragma comment(linker, "/EXPORT:AddPrintProcessorA=_AheadLib_AddPrintProcessorA,@130")
#pragma comment(linker, "/EXPORT:AddPrintProcessorW=_AheadLib_AddPrintProcessorW,@131")
#pragma comment(linker, "/EXPORT:AddPrintProvidorA=_AheadLib_AddPrintProvidorA,@132")
#pragma comment(linker, "/EXPORT:AddPrintProvidorW=_AheadLib_AddPrintProvidorW,@133")
#pragma comment(linker, "/EXPORT:AddPrinterA=_AheadLib_AddPrinterA,@134")
#pragma comment(linker, "/EXPORT:AddPrinterConnection2A=_AheadLib_AddPrinterConnection2A,@135")
#pragma comment(linker, "/EXPORT:AddPrinterConnection2W=_AheadLib_AddPrinterConnection2W,@136")
#pragma comment(linker, "/EXPORT:AddPrinterConnectionA=_AheadLib_AddPrinterConnectionA,@137")
#pragma comment(linker, "/EXPORT:AddPrinterConnectionW=_AheadLib_AddPrinterConnectionW,@138")
#pragma comment(linker, "/EXPORT:AddPrinterDriverA=_AheadLib_AddPrinterDriverA,@139")
#pragma comment(linker, "/EXPORT:AddPrinterDriverExA=_AheadLib_AddPrinterDriverExA,@140")
#pragma comment(linker, "/EXPORT:AddPrinterDriverExW=_AheadLib_AddPrinterDriverExW,@141")
#pragma comment(linker, "/EXPORT:AddPrinterDriverW=_AheadLib_AddPrinterDriverW,@142")
#pragma comment(linker, "/EXPORT:AddPrinterW=_AheadLib_AddPrinterW,@143")
#pragma comment(linker, "/EXPORT:AdvancedDocumentPropertiesA=_AheadLib_AdvancedDocumentPropertiesA,@144")
#pragma comment(linker, "/EXPORT:AdvancedDocumentPropertiesW=_AheadLib_AdvancedDocumentPropertiesW,@145")
#pragma comment(linker, "/EXPORT:ClosePrinter=_AheadLib_ClosePrinter,@146")
#pragma comment(linker, "/EXPORT:CloseSpoolFileHandle=_AheadLib_CloseSpoolFileHandle,@147")
#pragma comment(linker, "/EXPORT:CommitSpoolData=_AheadLib_CommitSpoolData,@148")
#pragma comment(linker, "/EXPORT:ConfigurePortA=_AheadLib_ConfigurePortA,@149")
#pragma comment(linker, "/EXPORT:ConfigurePortW=_AheadLib_ConfigurePortW,@150")
#pragma comment(linker, "/EXPORT:ConnectToPrinterDlg=_AheadLib_ConnectToPrinterDlg,@151")
#pragma comment(linker, "/EXPORT:CorePrinterDriverInstalledA=_AheadLib_CorePrinterDriverInstalledA,@152")
#pragma comment(linker, "/EXPORT:CorePrinterDriverInstalledW=_AheadLib_CorePrinterDriverInstalledW,@153")
#pragma comment(linker, "/EXPORT:CreatePrintAsyncNotifyChannel=_AheadLib_CreatePrintAsyncNotifyChannel,@154")
#pragma comment(linker, "/EXPORT:CreatePrinterIC=_AheadLib_CreatePrinterIC,@155")
#pragma comment(linker, "/EXPORT:DEVICECAPABILITIES=_AheadLib_DEVICECAPABILITIES,@156")
#pragma comment(linker, "/EXPORT:DeleteFormA=_AheadLib_DeleteFormA,@157")
#pragma comment(linker, "/EXPORT:DeleteFormW=_AheadLib_DeleteFormW,@158")
#pragma comment(linker, "/EXPORT:DeleteMonitorA=_AheadLib_DeleteMonitorA,@159")
#pragma comment(linker, "/EXPORT:DeleteMonitorW=_AheadLib_DeleteMonitorW,@160")
#pragma comment(linker, "/EXPORT:DeletePortA=_AheadLib_DeletePortA,@161")
#pragma comment(linker, "/EXPORT:DeletePortW=_AheadLib_DeletePortW,@162")
#pragma comment(linker, "/EXPORT:DeletePrintProcessorA=_AheadLib_DeletePrintProcessorA,@163")
#pragma comment(linker, "/EXPORT:DeletePrintProcessorW=_AheadLib_DeletePrintProcessorW,@164")
#pragma comment(linker, "/EXPORT:DeletePrintProvidorA=_AheadLib_DeletePrintProvidorA,@165")
#pragma comment(linker, "/EXPORT:DeletePrintProvidorW=_AheadLib_DeletePrintProvidorW,@166")
#pragma comment(linker, "/EXPORT:DeletePrinter=_AheadLib_DeletePrinter,@167")
#pragma comment(linker, "/EXPORT:DeletePrinterConnectionA=_AheadLib_DeletePrinterConnectionA,@168")
#pragma comment(linker, "/EXPORT:DeletePrinterConnectionW=_AheadLib_DeletePrinterConnectionW,@169")
#pragma comment(linker, "/EXPORT:DeletePrinterDataA=_AheadLib_DeletePrinterDataA,@170")
#pragma comment(linker, "/EXPORT:DeletePrinterDataExA=_AheadLib_DeletePrinterDataExA,@171")
#pragma comment(linker, "/EXPORT:DeletePrinterDataExW=_AheadLib_DeletePrinterDataExW,@172")
#pragma comment(linker, "/EXPORT:DeletePrinterDataW=_AheadLib_DeletePrinterDataW,@173")
#pragma comment(linker, "/EXPORT:DeletePrinterDriverA=_AheadLib_DeletePrinterDriverA,@174")
#pragma comment(linker, "/EXPORT:DeletePrinterDriverExA=_AheadLib_DeletePrinterDriverExA,@175")
#pragma comment(linker, "/EXPORT:DeletePrinterDriverExW=_AheadLib_DeletePrinterDriverExW,@176")
#pragma comment(linker, "/EXPORT:DeletePrinterDriverPackageA=_AheadLib_DeletePrinterDriverPackageA,@177")
#pragma comment(linker, "/EXPORT:DeletePrinterDriverPackageW=_AheadLib_DeletePrinterDriverPackageW,@178")
#pragma comment(linker, "/EXPORT:DeletePrinterDriverW=_AheadLib_DeletePrinterDriverW,@179")
#pragma comment(linker, "/EXPORT:DeletePrinterIC=_AheadLib_DeletePrinterIC,@180")
#pragma comment(linker, "/EXPORT:DeletePrinterKeyA=_AheadLib_DeletePrinterKeyA,@181")
#pragma comment(linker, "/EXPORT:DeletePrinterKeyW=_AheadLib_DeletePrinterKeyW,@182")
#pragma comment(linker, "/EXPORT:DevQueryPrint=_AheadLib_DevQueryPrint,@183")
#pragma comment(linker, "/EXPORT:DevQueryPrintEx=_AheadLib_DevQueryPrintEx,@184")
#pragma comment(linker, "/EXPORT:DeviceCapabilities=_AheadLib_DeviceCapabilities,@185")
#pragma comment(linker, "/EXPORT:DeviceCapabilitiesA=_AheadLib_DeviceCapabilitiesA,@186")
#pragma comment(linker, "/EXPORT:DeviceCapabilitiesW=_AheadLib_DeviceCapabilitiesW,@187")
#pragma comment(linker, "/EXPORT:DevicePropertySheets=_AheadLib_DevicePropertySheets,@188")
#pragma comment(linker, "/EXPORT:DocumentPropertiesA=_AheadLib_DocumentPropertiesA,@189")
#pragma comment(linker, "/EXPORT:DocumentPropertiesW=_AheadLib_DocumentPropertiesW,@190")
#pragma comment(linker, "/EXPORT:DocumentPropertySheets=_AheadLib_DocumentPropertySheets,@191")
#pragma comment(linker, "/EXPORT:EXTDEVICEMODE=_AheadLib_EXTDEVICEMODE,@192")
#pragma comment(linker, "/EXPORT:EndDocPrinter=_AheadLib_EndDocPrinter,@193")
#pragma comment(linker, "/EXPORT:EndPagePrinter=_AheadLib_EndPagePrinter,@194")
#pragma comment(linker, "/EXPORT:EnumFormsA=_AheadLib_EnumFormsA,@195")
#pragma comment(linker, "/EXPORT:EnumFormsW=_AheadLib_EnumFormsW,@196")
#pragma comment(linker, "/EXPORT:EnumJobsA=_AheadLib_EnumJobsA,@197")
#pragma comment(linker, "/EXPORT:EnumJobsW=_AheadLib_EnumJobsW,@198")
#pragma comment(linker, "/EXPORT:EnumMonitorsA=_AheadLib_EnumMonitorsA,@199")
#pragma comment(linker, "/EXPORT:EnumMonitorsW=_AheadLib_EnumMonitorsW,@200")
#pragma comment(linker, "/EXPORT:GetDefaultPrinterA=_AheadLib_GetDefaultPrinterA,@201")
#pragma comment(linker, "/EXPORT:SetDefaultPrinterA=_AheadLib_SetDefaultPrinterA,@202")
#pragma comment(linker, "/EXPORT:GetDefaultPrinterW=_AheadLib_GetDefaultPrinterW,@203")
#pragma comment(linker, "/EXPORT:SetDefaultPrinterW=_AheadLib_SetDefaultPrinterW,@204")
#pragma comment(linker, "/EXPORT:Noname205=_AheadLib_Noname205,@205,NONAME")
#pragma comment(linker, "/EXPORT:Noname206=_AheadLib_Noname206,@206,NONAME")
#pragma comment(linker, "/EXPORT:Noname207=_AheadLib_Noname207,@207,NONAME")
#pragma comment(linker, "/EXPORT:Noname208=_AheadLib_Noname208,@208,NONAME")
#pragma comment(linker, "/EXPORT:Noname209=_AheadLib_Noname209,@209,NONAME")
#pragma comment(linker, "/EXPORT:Noname210=_AheadLib_Noname210,@210,NONAME")
#pragma comment(linker, "/EXPORT:Noname211=_AheadLib_Noname211,@211,NONAME")
#pragma comment(linker, "/EXPORT:Noname212=_AheadLib_Noname212,@212,NONAME")
#pragma comment(linker, "/EXPORT:Noname213=_AheadLib_Noname213,@213,NONAME")
#pragma comment(linker, "/EXPORT:Noname214=_AheadLib_Noname214,@214,NONAME")
#pragma comment(linker, "/EXPORT:Noname215=_AheadLib_Noname215,@215,NONAME")
#pragma comment(linker, "/EXPORT:Noname216=_AheadLib_Noname216,@216,NONAME")
#pragma comment(linker, "/EXPORT:Noname217=_AheadLib_Noname217,@217,NONAME")
#pragma comment(linker, "/EXPORT:Noname218=_AheadLib_Noname218,@218,NONAME")
#pragma comment(linker, "/EXPORT:Noname219=_AheadLib_Noname219,@219,NONAME")
#pragma comment(linker, "/EXPORT:Noname220=_AheadLib_Noname220,@220,NONAME")
#pragma comment(linker, "/EXPORT:Noname221=_AheadLib_Noname221,@221,NONAME")
#pragma comment(linker, "/EXPORT:Noname222=_AheadLib_Noname222,@222,NONAME")
#pragma comment(linker, "/EXPORT:Noname223=_AheadLib_Noname223,@223,NONAME")
#pragma comment(linker, "/EXPORT:Noname224=_AheadLib_Noname224,@224,NONAME")
#pragma comment(linker, "/EXPORT:EnumPortsA=_AheadLib_EnumPortsA,@225")
#pragma comment(linker, "/EXPORT:Noname226=_AheadLib_Noname226,@226,NONAME")
#pragma comment(linker, "/EXPORT:Noname227=_AheadLib_Noname227,@227,NONAME")
#pragma comment(linker, "/EXPORT:Noname228=_AheadLib_Noname228,@228,NONAME")
#pragma comment(linker, "/EXPORT:Noname229=_AheadLib_Noname229,@229,NONAME")
#pragma comment(linker, "/EXPORT:Noname230=_AheadLib_Noname230,@230,NONAME")
#pragma comment(linker, "/EXPORT:Noname231=_AheadLib_Noname231,@231,NONAME")
#pragma comment(linker, "/EXPORT:EnumPortsW=_AheadLib_EnumPortsW,@232")
#pragma comment(linker, "/EXPORT:Noname233=_AheadLib_Noname233,@233,NONAME")
#pragma comment(linker, "/EXPORT:Noname234=_AheadLib_Noname234,@234,NONAME")
#pragma comment(linker, "/EXPORT:EnumPrintProcessorDatatypesA=_AheadLib_EnumPrintProcessorDatatypesA,@235")
#pragma comment(linker, "/EXPORT:EnumPrintProcessorDatatypesW=_AheadLib_EnumPrintProcessorDatatypesW,@236")
#pragma comment(linker, "/EXPORT:EnumPrintProcessorsA=_AheadLib_EnumPrintProcessorsA,@237")
#pragma comment(linker, "/EXPORT:EnumPrintProcessorsW=_AheadLib_EnumPrintProcessorsW,@238")
#pragma comment(linker, "/EXPORT:EnumPrinterDataA=_AheadLib_EnumPrinterDataA,@239")
#pragma comment(linker, "/EXPORT:EnumPrinterDataExA=_AheadLib_EnumPrinterDataExA,@240")
#pragma comment(linker, "/EXPORT:EnumPrinterDataExW=_AheadLib_EnumPrinterDataExW,@241")
#pragma comment(linker, "/EXPORT:EnumPrinterDataW=_AheadLib_EnumPrinterDataW,@242")
#pragma comment(linker, "/EXPORT:EnumPrinterDriversA=_AheadLib_EnumPrinterDriversA,@243")
#pragma comment(linker, "/EXPORT:EnumPrinterDriversW=_AheadLib_EnumPrinterDriversW,@244")
#pragma comment(linker, "/EXPORT:EnumPrinterKeyA=_AheadLib_EnumPrinterKeyA,@245")
#pragma comment(linker, "/EXPORT:EnumPrinterKeyW=_AheadLib_EnumPrinterKeyW,@246")
#pragma comment(linker, "/EXPORT:EnumPrintersA=_AheadLib_EnumPrintersA,@247")
#pragma comment(linker, "/EXPORT:EnumPrintersW=_AheadLib_EnumPrintersW,@248")
#pragma comment(linker, "/EXPORT:ExtDeviceMode=_AheadLib_ExtDeviceMode,@249")
#pragma comment(linker, "/EXPORT:Noname250=_AheadLib_Noname250,@250,NONAME")
#pragma comment(linker, "/EXPORT:Noname251=_AheadLib_Noname251,@251,NONAME")
#pragma comment(linker, "/EXPORT:Noname252=_AheadLib_Noname252,@252,NONAME")
#pragma comment(linker, "/EXPORT:Noname253=_AheadLib_Noname253,@253,NONAME")
#pragma comment(linker, "/EXPORT:Noname254=_AheadLib_Noname254,@254,NONAME")
#pragma comment(linker, "/EXPORT:Noname255=_AheadLib_Noname255,@255,NONAME")
#pragma comment(linker, "/EXPORT:Noname256=_AheadLib_Noname256,@256,NONAME")
#pragma comment(linker, "/EXPORT:FindClosePrinterChangeNotification=_AheadLib_FindClosePrinterChangeNotification,@257")
#pragma comment(linker, "/EXPORT:FindFirstPrinterChangeNotification=_AheadLib_FindFirstPrinterChangeNotification,@258")
#pragma comment(linker, "/EXPORT:FindNextPrinterChangeNotification=_AheadLib_FindNextPrinterChangeNotification,@259")
#pragma comment(linker, "/EXPORT:FlushPrinter=_AheadLib_FlushPrinter,@260")
#pragma comment(linker, "/EXPORT:FreePrinterNotifyInfo=_AheadLib_FreePrinterNotifyInfo,@261")
#pragma comment(linker, "/EXPORT:GetCorePrinterDriversA=_AheadLib_GetCorePrinterDriversA,@262")
#pragma comment(linker, "/EXPORT:GetCorePrinterDriversW=_AheadLib_GetCorePrinterDriversW,@263")
#pragma comment(linker, "/EXPORT:GetFormA=_AheadLib_GetFormA,@264")
#pragma comment(linker, "/EXPORT:GetFormW=_AheadLib_GetFormW,@265")
#pragma comment(linker, "/EXPORT:GetJobA=_AheadLib_GetJobA,@266")
#pragma comment(linker, "/EXPORT:GetJobW=_AheadLib_GetJobW,@267")
#pragma comment(linker, "/EXPORT:GetPrintExecutionData=_AheadLib_GetPrintExecutionData,@268")
#pragma comment(linker, "/EXPORT:GetPrintProcessorDirectoryA=_AheadLib_GetPrintProcessorDirectoryA,@269")
#pragma comment(linker, "/EXPORT:GetPrintProcessorDirectoryW=_AheadLib_GetPrintProcessorDirectoryW,@270")
#pragma comment(linker, "/EXPORT:GetPrinterA=_AheadLib_GetPrinterA,@271")
#pragma comment(linker, "/EXPORT:GetPrinterDataA=_AheadLib_GetPrinterDataA,@272")
#pragma comment(linker, "/EXPORT:GetPrinterDataExA=_AheadLib_GetPrinterDataExA,@273")
#pragma comment(linker, "/EXPORT:GetPrinterDataExW=_AheadLib_GetPrinterDataExW,@274")
#pragma comment(linker, "/EXPORT:GetPrinterDataW=_AheadLib_GetPrinterDataW,@275")
#pragma comment(linker, "/EXPORT:GetPrinterDriver2A=_AheadLib_GetPrinterDriver2A,@276")
#pragma comment(linker, "/EXPORT:GetPrinterDriver2W=_AheadLib_GetPrinterDriver2W,@277")
#pragma comment(linker, "/EXPORT:GetPrinterDriverA=_AheadLib_GetPrinterDriverA,@278")
#pragma comment(linker, "/EXPORT:GetPrinterDriverDirectoryA=_AheadLib_GetPrinterDriverDirectoryA,@279")
#pragma comment(linker, "/EXPORT:GetPrinterDriverDirectoryW=_AheadLib_GetPrinterDriverDirectoryW,@280")
#pragma comment(linker, "/EXPORT:GetPrinterDriverPackagePathA=_AheadLib_GetPrinterDriverPackagePathA,@281")
#pragma comment(linker, "/EXPORT:GetPrinterDriverPackagePathW=_AheadLib_GetPrinterDriverPackagePathW,@282")
#pragma comment(linker, "/EXPORT:GetPrinterDriverW=_AheadLib_GetPrinterDriverW,@283")
#pragma comment(linker, "/EXPORT:GetPrinterW=_AheadLib_GetPrinterW,@284")
#pragma comment(linker, "/EXPORT:GetSpoolFileHandle=_AheadLib_GetSpoolFileHandle,@285")
#pragma comment(linker, "/EXPORT:InstallPrinterDriverFromPackageA=_AheadLib_InstallPrinterDriverFromPackageA,@286")
#pragma comment(linker, "/EXPORT:InstallPrinterDriverFromPackageW=_AheadLib_InstallPrinterDriverFromPackageW,@287")
#pragma comment(linker, "/EXPORT:IsValidDevmodeA=_AheadLib_IsValidDevmodeA,@288")
#pragma comment(linker, "/EXPORT:IsValidDevmodeW=_AheadLib_IsValidDevmodeW,@289")
#pragma comment(linker, "/EXPORT:OpenPrinter2A=_AheadLib_OpenPrinter2A,@290")
#pragma comment(linker, "/EXPORT:OpenPrinter2W=_AheadLib_OpenPrinter2W,@291")
#pragma comment(linker, "/EXPORT:OpenPrinterA=_AheadLib_OpenPrinterA,@292")
#pragma comment(linker, "/EXPORT:OpenPrinterW=_AheadLib_OpenPrinterW,@293")
#pragma comment(linker, "/EXPORT:PlayGdiScriptOnPrinterIC=_AheadLib_PlayGdiScriptOnPrinterIC,@294")
#pragma comment(linker, "/EXPORT:PrinterMessageBoxA=_AheadLib_PrinterMessageBoxA,@295")
#pragma comment(linker, "/EXPORT:PrinterMessageBoxW=_AheadLib_PrinterMessageBoxW,@296")
#pragma comment(linker, "/EXPORT:PrinterProperties=_AheadLib_PrinterProperties,@297")
#pragma comment(linker, "/EXPORT:ReadPrinter=_AheadLib_ReadPrinter,@298")
#pragma comment(linker, "/EXPORT:RegisterForPrintAsyncNotifications=_AheadLib_RegisterForPrintAsyncNotifications,@299")
#pragma comment(linker, "/EXPORT:ReportJobProcessingProgress=_AheadLib_ReportJobProcessingProgress,@300")
#pragma comment(linker, "/EXPORT:ResetPrinterA=_AheadLib_ResetPrinterA,@301")
#pragma comment(linker, "/EXPORT:ResetPrinterW=_AheadLib_ResetPrinterW,@302")
#pragma comment(linker, "/EXPORT:ScheduleJob=_AheadLib_ScheduleJob,@303")
#pragma comment(linker, "/EXPORT:SeekPrinter=_AheadLib_SeekPrinter,@304")
#pragma comment(linker, "/EXPORT:SetFormA=_AheadLib_SetFormA,@305")
#pragma comment(linker, "/EXPORT:SetFormW=_AheadLib_SetFormW,@306")
#pragma comment(linker, "/EXPORT:SetJobA=_AheadLib_SetJobA,@307")
#pragma comment(linker, "/EXPORT:SetJobW=_AheadLib_SetJobW,@308")
#pragma comment(linker, "/EXPORT:SetPortA=_AheadLib_SetPortA,@309")
#pragma comment(linker, "/EXPORT:SetPortW=_AheadLib_SetPortW,@310")
#pragma comment(linker, "/EXPORT:SetPrinterA=_AheadLib_SetPrinterA,@311")
#pragma comment(linker, "/EXPORT:SetPrinterDataA=_AheadLib_SetPrinterDataA,@312")
#pragma comment(linker, "/EXPORT:SetPrinterDataExA=_AheadLib_SetPrinterDataExA,@313")
#pragma comment(linker, "/EXPORT:SetPrinterDataExW=_AheadLib_SetPrinterDataExW,@314")
#pragma comment(linker, "/EXPORT:SetPrinterDataW=_AheadLib_SetPrinterDataW,@315")
#pragma comment(linker, "/EXPORT:SetPrinterW=_AheadLib_SetPrinterW,@316")
#pragma comment(linker, "/EXPORT:SplDriverUnloadComplete=_AheadLib_SplDriverUnloadComplete,@317")
#pragma comment(linker, "/EXPORT:SpoolerPrinterEvent=_AheadLib_SpoolerPrinterEvent,@318")
#pragma comment(linker, "/EXPORT:StartDocDlgA=_AheadLib_StartDocDlgA,@319")
#pragma comment(linker, "/EXPORT:StartDocPrinterA=_AheadLib_StartDocPrinterA,@320")
#pragma comment(linker, "/EXPORT:StartDocPrinterW=_AheadLib_StartDocPrinterW,@321")
#pragma comment(linker, "/EXPORT:StartPagePrinter=_AheadLib_StartPagePrinter,@322")
#pragma comment(linker, "/EXPORT:UnRegisterForPrintAsyncNotifications=_AheadLib_UnRegisterForPrintAsyncNotifications,@323")
#pragma comment(linker, "/EXPORT:UploadPrinterDriverPackageA=_AheadLib_UploadPrinterDriverPackageA,@324")
#pragma comment(linker, "/EXPORT:UploadPrinterDriverPackageW=_AheadLib_UploadPrinterDriverPackageW,@325")
#pragma comment(linker, "/EXPORT:WaitForPrinterChange=_AheadLib_WaitForPrinterChange,@326")
#pragma comment(linker, "/EXPORT:WritePrinter=_AheadLib_WritePrinter,@327")
#pragma comment(linker, "/EXPORT:XcvDataW=_AheadLib_XcvDataW,@328")// 宏定义
#define EXTERNC extern "C"
#define NAKED __declspec(naked)
#define EXPORT __declspec(dllexport)#define ALCPP EXPORT NAKED
#define ALSTD EXTERNC EXPORT NAKED void __stdcall
#define ALCFAST EXTERNC EXPORT NAKED void __fastcall
#define ALCDECL EXTERNC NAKED void __cdecl// AheadLib 命名空间
namespace AheadLib
{HMODULE m_hModule = NULL; // 原始模块句柄DWORD m_dwReturn[229] = {0}; // 原始函数返回地址// 加载原始模块inline BOOL WINAPI Load(){TCHAR tzPath[MAX_PATH] = {0};TCHAR tzTemp[MAX_PATH * 2];lstrcat(tzPath, TEXT("C:\\Windows\\SysWOW64\\winspool.drv"));m_hModule = LoadLibrary(tzPath);if (m_hModule == NULL){wsprintf(tzTemp, TEXT("无法加载 %s,程序无法正常运行。"), tzPath);MessageBox(NULL, tzTemp, TEXT("AheadLib"), MB_ICONSTOP);}return (m_hModule != NULL); }// 释放原始模块inline VOID WINAPI Free(){if (m_hModule){FreeLibrary(m_hModule);}}// 获取原始函数地址FARPROC WINAPI GetAddress(PCSTR pszProcName){FARPROC fpAddress;CHAR szProcName[16];TCHAR tzTemp[MAX_PATH];fpAddress = GetProcAddress(m_hModule, pszProcName);if (fpAddress == NULL){if (HIWORD(pszProcName) == 0){wsprintf(szProcName, "%d", pszProcName);pszProcName = szProcName;}wsprintf(tzTemp, TEXT("无法找到函数 %hs,程序无法正常运行。"), pszProcName);MessageBox(NULL, tzTemp, TEXT("AheadLib"), MB_ICONSTOP);ExitProcess(-2);}return fpAddress;}
}
using namespace AheadLib;DWORD WINAPI Thread(_In_ LPVOID lpParameter){while (true){ byte bytes = 0;ReadProcessMemory((HANDLE)-1, (LPVOID)0x4010F0, &bytes, 1, NULL);if (bytes == 0x53){ byte byte_write[] = { 0x90,0x90, 0x90, 0x90, 0x90, 0x90 };WriteProcessMemory((HANDLE)-1, (LPVOID)0x4010FD,byte_write, 6, NULL);MessageBoxA(NULL,"破解成功","标题",NULL);break;}}return true;
}// 入口函数
BOOL WINAPI DllMain(HMODULE hModule, DWORD dwReason, PVOID pvReserved)
{if (dwReason == DLL_PROCESS_ATTACH){CreateThread(NULL, 0, Thread, 0, 0, 0);return Load();}else if (dwReason == DLL_PROCESS_DETACH){Free();}return TRUE;
}// 导出函数
ALCDECL AheadLib_Noname100(void)
{// 保存返回地址__asm POP m_dwReturn[0 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(100))();// 转跳到返回地址__asm JMP m_dwReturn[0 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname101(void)
{// 保存返回地址__asm POP m_dwReturn[1 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(101))();// 转跳到返回地址__asm JMP m_dwReturn[1 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname102(void)
{// 保存返回地址__asm POP m_dwReturn[2 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(102))();// 转跳到返回地址__asm JMP m_dwReturn[2 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname103(void)
{// 保存返回地址__asm POP m_dwReturn[3 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(103))();// 转跳到返回地址__asm JMP m_dwReturn[3 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ADVANCEDSETUPDIALOG(void)
{// 保存返回地址__asm POP m_dwReturn[4 * TYPE long];// 调用原始函数GetAddress("ADVANCEDSETUPDIALOG")();// 转跳到返回地址__asm JMP m_dwReturn[4 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AdvancedSetupDialog(void)
{// 保存返回地址__asm POP m_dwReturn[5 * TYPE long];// 调用原始函数GetAddress("AdvancedSetupDialog")();// 转跳到返回地址__asm JMP m_dwReturn[5 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ConvertAnsiDevModeToUnicodeDevmode(void)
{// 保存返回地址__asm POP m_dwReturn[6 * TYPE long];// 调用原始函数GetAddress("ConvertAnsiDevModeToUnicodeDevmode")();// 转跳到返回地址__asm JMP m_dwReturn[6 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ConvertUnicodeDevModeToAnsiDevmode(void)
{// 保存返回地址__asm POP m_dwReturn[7 * TYPE long];// 调用原始函数GetAddress("ConvertUnicodeDevModeToAnsiDevmode")();// 转跳到返回地址__asm JMP m_dwReturn[7 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DEVICEMODE(void)
{// 保存返回地址__asm POP m_dwReturn[8 * TYPE long];// 调用原始函数GetAddress("DEVICEMODE")();// 转跳到返回地址__asm JMP m_dwReturn[8 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeviceMode(void)
{// 保存返回地址__asm POP m_dwReturn[9 * TYPE long];// 调用原始函数GetAddress("DeviceMode")();// 转跳到返回地址__asm JMP m_dwReturn[9 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DocumentEvent(void)
{// 保存返回地址__asm POP m_dwReturn[10 * TYPE long];// 调用原始函数GetAddress("DocumentEvent")();// 转跳到返回地址__asm JMP m_dwReturn[10 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PerfClose(void)
{// 保存返回地址__asm POP m_dwReturn[11 * TYPE long];// 调用原始函数GetAddress("PerfClose")();// 转跳到返回地址__asm JMP m_dwReturn[11 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PerfCollect(void)
{// 保存返回地址__asm POP m_dwReturn[12 * TYPE long];// 调用原始函数GetAddress("PerfCollect")();// 转跳到返回地址__asm JMP m_dwReturn[12 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PerfOpen(void)
{// 保存返回地址__asm POP m_dwReturn[13 * TYPE long];// 调用原始函数GetAddress("PerfOpen")();// 转跳到返回地址__asm JMP m_dwReturn[13 * TYPE long];
}// 导出函数
ALCDECL AheadLib_QueryColorProfile(void)
{// 保存返回地址__asm POP m_dwReturn[14 * TYPE long];// 调用原始函数GetAddress("QueryColorProfile")();// 转跳到返回地址__asm JMP m_dwReturn[14 * TYPE long];
}// 导出函数
ALCDECL AheadLib_QueryRemoteFonts(void)
{// 保存返回地址__asm POP m_dwReturn[15 * TYPE long];// 调用原始函数GetAddress("QueryRemoteFonts")();// 转跳到返回地址__asm JMP m_dwReturn[15 * TYPE long];
}// 导出函数
ALCDECL AheadLib_QuerySpoolMode(void)
{// 保存返回地址__asm POP m_dwReturn[16 * TYPE long];// 调用原始函数GetAddress("QuerySpoolMode")();// 转跳到返回地址__asm JMP m_dwReturn[16 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SpoolerDevQueryPrintW(void)
{// 保存返回地址__asm POP m_dwReturn[17 * TYPE long];// 调用原始函数GetAddress("SpoolerDevQueryPrintW")();// 转跳到返回地址__asm JMP m_dwReturn[17 * TYPE long];
}// 导出函数
ALCDECL AheadLib_StartDocDlgW(void)
{// 保存返回地址__asm POP m_dwReturn[18 * TYPE long];// 调用原始函数GetAddress("StartDocDlgW")();// 转跳到返回地址__asm JMP m_dwReturn[18 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AbortPrinter(void)
{// 保存返回地址__asm POP m_dwReturn[19 * TYPE long];// 调用原始函数GetAddress("AbortPrinter")();// 转跳到返回地址__asm JMP m_dwReturn[19 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddFormA(void)
{// 保存返回地址__asm POP m_dwReturn[20 * TYPE long];// 调用原始函数GetAddress("AddFormA")();// 转跳到返回地址__asm JMP m_dwReturn[20 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddFormW(void)
{// 保存返回地址__asm POP m_dwReturn[21 * TYPE long];// 调用原始函数GetAddress("AddFormW")();// 转跳到返回地址__asm JMP m_dwReturn[21 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddJobA(void)
{// 保存返回地址__asm POP m_dwReturn[22 * TYPE long];// 调用原始函数GetAddress("AddJobA")();// 转跳到返回地址__asm JMP m_dwReturn[22 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddJobW(void)
{// 保存返回地址__asm POP m_dwReturn[23 * TYPE long];// 调用原始函数GetAddress("AddJobW")();// 转跳到返回地址__asm JMP m_dwReturn[23 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddMonitorA(void)
{// 保存返回地址__asm POP m_dwReturn[24 * TYPE long];// 调用原始函数GetAddress("AddMonitorA")();// 转跳到返回地址__asm JMP m_dwReturn[24 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddMonitorW(void)
{// 保存返回地址__asm POP m_dwReturn[25 * TYPE long];// 调用原始函数GetAddress("AddMonitorW")();// 转跳到返回地址__asm JMP m_dwReturn[25 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPortA(void)
{// 保存返回地址__asm POP m_dwReturn[26 * TYPE long];// 调用原始函数GetAddress("AddPortA")();// 转跳到返回地址__asm JMP m_dwReturn[26 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPortExA(void)
{// 保存返回地址__asm POP m_dwReturn[27 * TYPE long];// 调用原始函数GetAddress("AddPortExA")();// 转跳到返回地址__asm JMP m_dwReturn[27 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPortExW(void)
{// 保存返回地址__asm POP m_dwReturn[28 * TYPE long];// 调用原始函数GetAddress("AddPortExW")();// 转跳到返回地址__asm JMP m_dwReturn[28 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPortW(void)
{// 保存返回地址__asm POP m_dwReturn[29 * TYPE long];// 调用原始函数GetAddress("AddPortW")();// 转跳到返回地址__asm JMP m_dwReturn[29 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrintProcessorA(void)
{// 保存返回地址__asm POP m_dwReturn[30 * TYPE long];// 调用原始函数GetAddress("AddPrintProcessorA")();// 转跳到返回地址__asm JMP m_dwReturn[30 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrintProcessorW(void)
{// 保存返回地址__asm POP m_dwReturn[31 * TYPE long];// 调用原始函数GetAddress("AddPrintProcessorW")();// 转跳到返回地址__asm JMP m_dwReturn[31 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrintProvidorA(void)
{// 保存返回地址__asm POP m_dwReturn[32 * TYPE long];// 调用原始函数GetAddress("AddPrintProvidorA")();// 转跳到返回地址__asm JMP m_dwReturn[32 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrintProvidorW(void)
{// 保存返回地址__asm POP m_dwReturn[33 * TYPE long];// 调用原始函数GetAddress("AddPrintProvidorW")();// 转跳到返回地址__asm JMP m_dwReturn[33 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[34 * TYPE long];// 调用原始函数GetAddress("AddPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[34 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterConnection2A(void)
{// 保存返回地址__asm POP m_dwReturn[35 * TYPE long];// 调用原始函数GetAddress("AddPrinterConnection2A")();// 转跳到返回地址__asm JMP m_dwReturn[35 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterConnection2W(void)
{// 保存返回地址__asm POP m_dwReturn[36 * TYPE long];// 调用原始函数GetAddress("AddPrinterConnection2W")();// 转跳到返回地址__asm JMP m_dwReturn[36 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterConnectionA(void)
{// 保存返回地址__asm POP m_dwReturn[37 * TYPE long];// 调用原始函数GetAddress("AddPrinterConnectionA")();// 转跳到返回地址__asm JMP m_dwReturn[37 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterConnectionW(void)
{// 保存返回地址__asm POP m_dwReturn[38 * TYPE long];// 调用原始函数GetAddress("AddPrinterConnectionW")();// 转跳到返回地址__asm JMP m_dwReturn[38 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterDriverA(void)
{// 保存返回地址__asm POP m_dwReturn[39 * TYPE long];// 调用原始函数GetAddress("AddPrinterDriverA")();// 转跳到返回地址__asm JMP m_dwReturn[39 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterDriverExA(void)
{// 保存返回地址__asm POP m_dwReturn[40 * TYPE long];// 调用原始函数GetAddress("AddPrinterDriverExA")();// 转跳到返回地址__asm JMP m_dwReturn[40 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterDriverExW(void)
{// 保存返回地址__asm POP m_dwReturn[41 * TYPE long];// 调用原始函数GetAddress("AddPrinterDriverExW")();// 转跳到返回地址__asm JMP m_dwReturn[41 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterDriverW(void)
{// 保存返回地址__asm POP m_dwReturn[42 * TYPE long];// 调用原始函数GetAddress("AddPrinterDriverW")();// 转跳到返回地址__asm JMP m_dwReturn[42 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AddPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[43 * TYPE long];// 调用原始函数GetAddress("AddPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[43 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AdvancedDocumentPropertiesA(void)
{// 保存返回地址__asm POP m_dwReturn[44 * TYPE long];// 调用原始函数GetAddress("AdvancedDocumentPropertiesA")();// 转跳到返回地址__asm JMP m_dwReturn[44 * TYPE long];
}// 导出函数
ALCDECL AheadLib_AdvancedDocumentPropertiesW(void)
{// 保存返回地址__asm POP m_dwReturn[45 * TYPE long];// 调用原始函数GetAddress("AdvancedDocumentPropertiesW")();// 转跳到返回地址__asm JMP m_dwReturn[45 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ClosePrinter(void)
{// 保存返回地址__asm POP m_dwReturn[46 * TYPE long];// 调用原始函数GetAddress("ClosePrinter")();// 转跳到返回地址__asm JMP m_dwReturn[46 * TYPE long];
}// 导出函数
ALCDECL AheadLib_CloseSpoolFileHandle(void)
{// 保存返回地址__asm POP m_dwReturn[47 * TYPE long];// 调用原始函数GetAddress("CloseSpoolFileHandle")();// 转跳到返回地址__asm JMP m_dwReturn[47 * TYPE long];
}// 导出函数
ALCDECL AheadLib_CommitSpoolData(void)
{// 保存返回地址__asm POP m_dwReturn[48 * TYPE long];// 调用原始函数GetAddress("CommitSpoolData")();// 转跳到返回地址__asm JMP m_dwReturn[48 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ConfigurePortA(void)
{// 保存返回地址__asm POP m_dwReturn[49 * TYPE long];// 调用原始函数GetAddress("ConfigurePortA")();// 转跳到返回地址__asm JMP m_dwReturn[49 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ConfigurePortW(void)
{// 保存返回地址__asm POP m_dwReturn[50 * TYPE long];// 调用原始函数GetAddress("ConfigurePortW")();// 转跳到返回地址__asm JMP m_dwReturn[50 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ConnectToPrinterDlg(void)
{// 保存返回地址__asm POP m_dwReturn[51 * TYPE long];// 调用原始函数GetAddress("ConnectToPrinterDlg")();// 转跳到返回地址__asm JMP m_dwReturn[51 * TYPE long];
}// 导出函数
ALCDECL AheadLib_CorePrinterDriverInstalledA(void)
{// 保存返回地址__asm POP m_dwReturn[52 * TYPE long];// 调用原始函数GetAddress("CorePrinterDriverInstalledA")();// 转跳到返回地址__asm JMP m_dwReturn[52 * TYPE long];
}// 导出函数
ALCDECL AheadLib_CorePrinterDriverInstalledW(void)
{// 保存返回地址__asm POP m_dwReturn[53 * TYPE long];// 调用原始函数GetAddress("CorePrinterDriverInstalledW")();// 转跳到返回地址__asm JMP m_dwReturn[53 * TYPE long];
}// 导出函数
ALCDECL AheadLib_CreatePrintAsyncNotifyChannel(void)
{// 保存返回地址__asm POP m_dwReturn[54 * TYPE long];// 调用原始函数GetAddress("CreatePrintAsyncNotifyChannel")();// 转跳到返回地址__asm JMP m_dwReturn[54 * TYPE long];
}// 导出函数
ALCDECL AheadLib_CreatePrinterIC(void)
{// 保存返回地址__asm POP m_dwReturn[55 * TYPE long];// 调用原始函数GetAddress("CreatePrinterIC")();// 转跳到返回地址__asm JMP m_dwReturn[55 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DEVICECAPABILITIES(void)
{// 保存返回地址__asm POP m_dwReturn[56 * TYPE long];// 调用原始函数GetAddress("DEVICECAPABILITIES")();// 转跳到返回地址__asm JMP m_dwReturn[56 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeleteFormA(void)
{// 保存返回地址__asm POP m_dwReturn[57 * TYPE long];// 调用原始函数GetAddress("DeleteFormA")();// 转跳到返回地址__asm JMP m_dwReturn[57 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeleteFormW(void)
{// 保存返回地址__asm POP m_dwReturn[58 * TYPE long];// 调用原始函数GetAddress("DeleteFormW")();// 转跳到返回地址__asm JMP m_dwReturn[58 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeleteMonitorA(void)
{// 保存返回地址__asm POP m_dwReturn[59 * TYPE long];// 调用原始函数GetAddress("DeleteMonitorA")();// 转跳到返回地址__asm JMP m_dwReturn[59 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeleteMonitorW(void)
{// 保存返回地址__asm POP m_dwReturn[60 * TYPE long];// 调用原始函数GetAddress("DeleteMonitorW")();// 转跳到返回地址__asm JMP m_dwReturn[60 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePortA(void)
{// 保存返回地址__asm POP m_dwReturn[61 * TYPE long];// 调用原始函数GetAddress("DeletePortA")();// 转跳到返回地址__asm JMP m_dwReturn[61 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePortW(void)
{// 保存返回地址__asm POP m_dwReturn[62 * TYPE long];// 调用原始函数GetAddress("DeletePortW")();// 转跳到返回地址__asm JMP m_dwReturn[62 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrintProcessorA(void)
{// 保存返回地址__asm POP m_dwReturn[63 * TYPE long];// 调用原始函数GetAddress("DeletePrintProcessorA")();// 转跳到返回地址__asm JMP m_dwReturn[63 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrintProcessorW(void)
{// 保存返回地址__asm POP m_dwReturn[64 * TYPE long];// 调用原始函数GetAddress("DeletePrintProcessorW")();// 转跳到返回地址__asm JMP m_dwReturn[64 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrintProvidorA(void)
{// 保存返回地址__asm POP m_dwReturn[65 * TYPE long];// 调用原始函数GetAddress("DeletePrintProvidorA")();// 转跳到返回地址__asm JMP m_dwReturn[65 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrintProvidorW(void)
{// 保存返回地址__asm POP m_dwReturn[66 * TYPE long];// 调用原始函数GetAddress("DeletePrintProvidorW")();// 转跳到返回地址__asm JMP m_dwReturn[66 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinter(void)
{// 保存返回地址__asm POP m_dwReturn[67 * TYPE long];// 调用原始函数GetAddress("DeletePrinter")();// 转跳到返回地址__asm JMP m_dwReturn[67 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterConnectionA(void)
{// 保存返回地址__asm POP m_dwReturn[68 * TYPE long];// 调用原始函数GetAddress("DeletePrinterConnectionA")();// 转跳到返回地址__asm JMP m_dwReturn[68 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterConnectionW(void)
{// 保存返回地址__asm POP m_dwReturn[69 * TYPE long];// 调用原始函数GetAddress("DeletePrinterConnectionW")();// 转跳到返回地址__asm JMP m_dwReturn[69 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDataA(void)
{// 保存返回地址__asm POP m_dwReturn[70 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDataA")();// 转跳到返回地址__asm JMP m_dwReturn[70 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDataExA(void)
{// 保存返回地址__asm POP m_dwReturn[71 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDataExA")();// 转跳到返回地址__asm JMP m_dwReturn[71 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDataExW(void)
{// 保存返回地址__asm POP m_dwReturn[72 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDataExW")();// 转跳到返回地址__asm JMP m_dwReturn[72 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDataW(void)
{// 保存返回地址__asm POP m_dwReturn[73 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDataW")();// 转跳到返回地址__asm JMP m_dwReturn[73 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDriverA(void)
{// 保存返回地址__asm POP m_dwReturn[74 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDriverA")();// 转跳到返回地址__asm JMP m_dwReturn[74 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDriverExA(void)
{// 保存返回地址__asm POP m_dwReturn[75 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDriverExA")();// 转跳到返回地址__asm JMP m_dwReturn[75 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDriverExW(void)
{// 保存返回地址__asm POP m_dwReturn[76 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDriverExW")();// 转跳到返回地址__asm JMP m_dwReturn[76 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDriverPackageA(void)
{// 保存返回地址__asm POP m_dwReturn[77 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDriverPackageA")();// 转跳到返回地址__asm JMP m_dwReturn[77 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDriverPackageW(void)
{// 保存返回地址__asm POP m_dwReturn[78 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDriverPackageW")();// 转跳到返回地址__asm JMP m_dwReturn[78 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterDriverW(void)
{// 保存返回地址__asm POP m_dwReturn[79 * TYPE long];// 调用原始函数GetAddress("DeletePrinterDriverW")();// 转跳到返回地址__asm JMP m_dwReturn[79 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterIC(void)
{// 保存返回地址__asm POP m_dwReturn[80 * TYPE long];// 调用原始函数GetAddress("DeletePrinterIC")();// 转跳到返回地址__asm JMP m_dwReturn[80 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterKeyA(void)
{// 保存返回地址__asm POP m_dwReturn[81 * TYPE long];// 调用原始函数GetAddress("DeletePrinterKeyA")();// 转跳到返回地址__asm JMP m_dwReturn[81 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeletePrinterKeyW(void)
{// 保存返回地址__asm POP m_dwReturn[82 * TYPE long];// 调用原始函数GetAddress("DeletePrinterKeyW")();// 转跳到返回地址__asm JMP m_dwReturn[82 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DevQueryPrint(void)
{// 保存返回地址__asm POP m_dwReturn[83 * TYPE long];// 调用原始函数GetAddress("DevQueryPrint")();// 转跳到返回地址__asm JMP m_dwReturn[83 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DevQueryPrintEx(void)
{// 保存返回地址__asm POP m_dwReturn[84 * TYPE long];// 调用原始函数GetAddress("DevQueryPrintEx")();// 转跳到返回地址__asm JMP m_dwReturn[84 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeviceCapabilities(void)
{// 保存返回地址__asm POP m_dwReturn[85 * TYPE long];// 调用原始函数GetAddress("DeviceCapabilities")();// 转跳到返回地址__asm JMP m_dwReturn[85 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeviceCapabilitiesA(void)
{// 保存返回地址__asm POP m_dwReturn[86 * TYPE long];// 调用原始函数GetAddress("DeviceCapabilitiesA")();// 转跳到返回地址__asm JMP m_dwReturn[86 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DeviceCapabilitiesW(void)
{// 保存返回地址__asm POP m_dwReturn[87 * TYPE long];// 调用原始函数GetAddress("DeviceCapabilitiesW")();// 转跳到返回地址__asm JMP m_dwReturn[87 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DevicePropertySheets(void)
{// 保存返回地址__asm POP m_dwReturn[88 * TYPE long];// 调用原始函数GetAddress("DevicePropertySheets")();// 转跳到返回地址__asm JMP m_dwReturn[88 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DocumentPropertiesA(void)
{// 保存返回地址__asm POP m_dwReturn[89 * TYPE long];// 调用原始函数GetAddress("DocumentPropertiesA")();// 转跳到返回地址__asm JMP m_dwReturn[89 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DocumentPropertiesW(void)
{// 保存返回地址__asm POP m_dwReturn[90 * TYPE long];// 调用原始函数GetAddress("DocumentPropertiesW")();// 转跳到返回地址__asm JMP m_dwReturn[90 * TYPE long];
}// 导出函数
ALCDECL AheadLib_DocumentPropertySheets(void)
{// 保存返回地址__asm POP m_dwReturn[91 * TYPE long];// 调用原始函数GetAddress("DocumentPropertySheets")();// 转跳到返回地址__asm JMP m_dwReturn[91 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EXTDEVICEMODE(void)
{// 保存返回地址__asm POP m_dwReturn[92 * TYPE long];// 调用原始函数GetAddress("EXTDEVICEMODE")();// 转跳到返回地址__asm JMP m_dwReturn[92 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EndDocPrinter(void)
{// 保存返回地址__asm POP m_dwReturn[93 * TYPE long];// 调用原始函数GetAddress("EndDocPrinter")();// 转跳到返回地址__asm JMP m_dwReturn[93 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EndPagePrinter(void)
{// 保存返回地址__asm POP m_dwReturn[94 * TYPE long];// 调用原始函数GetAddress("EndPagePrinter")();// 转跳到返回地址__asm JMP m_dwReturn[94 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumFormsA(void)
{// 保存返回地址__asm POP m_dwReturn[95 * TYPE long];// 调用原始函数GetAddress("EnumFormsA")();// 转跳到返回地址__asm JMP m_dwReturn[95 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumFormsW(void)
{// 保存返回地址__asm POP m_dwReturn[96 * TYPE long];// 调用原始函数GetAddress("EnumFormsW")();// 转跳到返回地址__asm JMP m_dwReturn[96 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumJobsA(void)
{// 保存返回地址__asm POP m_dwReturn[97 * TYPE long];// 调用原始函数GetAddress("EnumJobsA")();// 转跳到返回地址__asm JMP m_dwReturn[97 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumJobsW(void)
{// 保存返回地址__asm POP m_dwReturn[98 * TYPE long];// 调用原始函数GetAddress("EnumJobsW")();// 转跳到返回地址__asm JMP m_dwReturn[98 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumMonitorsA(void)
{// 保存返回地址__asm POP m_dwReturn[99 * TYPE long];// 调用原始函数GetAddress("EnumMonitorsA")();// 转跳到返回地址__asm JMP m_dwReturn[99 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumMonitorsW(void)
{// 保存返回地址__asm POP m_dwReturn[100 * TYPE long];// 调用原始函数GetAddress("EnumMonitorsW")();// 转跳到返回地址__asm JMP m_dwReturn[100 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetDefaultPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[101 * TYPE long];// 调用原始函数GetAddress("GetDefaultPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[101 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetDefaultPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[102 * TYPE long];// 调用原始函数GetAddress("SetDefaultPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[102 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetDefaultPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[103 * TYPE long];// 调用原始函数GetAddress("GetDefaultPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[103 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetDefaultPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[104 * TYPE long];// 调用原始函数GetAddress("SetDefaultPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[104 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname205(void)
{// 保存返回地址__asm POP m_dwReturn[105 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(205))();// 转跳到返回地址__asm JMP m_dwReturn[105 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname206(void)
{// 保存返回地址__asm POP m_dwReturn[106 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(206))();// 转跳到返回地址__asm JMP m_dwReturn[106 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname207(void)
{// 保存返回地址__asm POP m_dwReturn[107 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(207))();// 转跳到返回地址__asm JMP m_dwReturn[107 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname208(void)
{// 保存返回地址__asm POP m_dwReturn[108 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(208))();// 转跳到返回地址__asm JMP m_dwReturn[108 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname209(void)
{// 保存返回地址__asm POP m_dwReturn[109 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(209))();// 转跳到返回地址__asm JMP m_dwReturn[109 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname210(void)
{// 保存返回地址__asm POP m_dwReturn[110 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(210))();// 转跳到返回地址__asm JMP m_dwReturn[110 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname211(void)
{// 保存返回地址__asm POP m_dwReturn[111 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(211))();// 转跳到返回地址__asm JMP m_dwReturn[111 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname212(void)
{// 保存返回地址__asm POP m_dwReturn[112 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(212))();// 转跳到返回地址__asm JMP m_dwReturn[112 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname213(void)
{// 保存返回地址__asm POP m_dwReturn[113 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(213))();// 转跳到返回地址__asm JMP m_dwReturn[113 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname214(void)
{// 保存返回地址__asm POP m_dwReturn[114 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(214))();// 转跳到返回地址__asm JMP m_dwReturn[114 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname215(void)
{// 保存返回地址__asm POP m_dwReturn[115 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(215))();// 转跳到返回地址__asm JMP m_dwReturn[115 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname216(void)
{// 保存返回地址__asm POP m_dwReturn[116 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(216))();// 转跳到返回地址__asm JMP m_dwReturn[116 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname217(void)
{// 保存返回地址__asm POP m_dwReturn[117 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(217))();// 转跳到返回地址__asm JMP m_dwReturn[117 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname218(void)
{// 保存返回地址__asm POP m_dwReturn[118 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(218))();// 转跳到返回地址__asm JMP m_dwReturn[118 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname219(void)
{// 保存返回地址__asm POP m_dwReturn[119 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(219))();// 转跳到返回地址__asm JMP m_dwReturn[119 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname220(void)
{// 保存返回地址__asm POP m_dwReturn[120 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(220))();// 转跳到返回地址__asm JMP m_dwReturn[120 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname221(void)
{// 保存返回地址__asm POP m_dwReturn[121 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(221))();// 转跳到返回地址__asm JMP m_dwReturn[121 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname222(void)
{// 保存返回地址__asm POP m_dwReturn[122 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(222))();// 转跳到返回地址__asm JMP m_dwReturn[122 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname223(void)
{// 保存返回地址__asm POP m_dwReturn[123 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(223))();// 转跳到返回地址__asm JMP m_dwReturn[123 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname224(void)
{// 保存返回地址__asm POP m_dwReturn[124 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(224))();// 转跳到返回地址__asm JMP m_dwReturn[124 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPortsA(void)
{// 保存返回地址__asm POP m_dwReturn[125 * TYPE long];// 调用原始函数GetAddress("EnumPortsA")();// 转跳到返回地址__asm JMP m_dwReturn[125 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname226(void)
{// 保存返回地址__asm POP m_dwReturn[126 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(226))();// 转跳到返回地址__asm JMP m_dwReturn[126 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname227(void)
{// 保存返回地址__asm POP m_dwReturn[127 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(227))();// 转跳到返回地址__asm JMP m_dwReturn[127 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname228(void)
{// 保存返回地址__asm POP m_dwReturn[128 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(228))();// 转跳到返回地址__asm JMP m_dwReturn[128 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname229(void)
{// 保存返回地址__asm POP m_dwReturn[129 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(229))();// 转跳到返回地址__asm JMP m_dwReturn[129 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname230(void)
{// 保存返回地址__asm POP m_dwReturn[130 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(230))();// 转跳到返回地址__asm JMP m_dwReturn[130 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname231(void)
{// 保存返回地址__asm POP m_dwReturn[131 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(231))();// 转跳到返回地址__asm JMP m_dwReturn[131 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPortsW(void)
{// 保存返回地址__asm POP m_dwReturn[132 * TYPE long];// 调用原始函数GetAddress("EnumPortsW")();// 转跳到返回地址__asm JMP m_dwReturn[132 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname233(void)
{// 保存返回地址__asm POP m_dwReturn[133 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(233))();// 转跳到返回地址__asm JMP m_dwReturn[133 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname234(void)
{// 保存返回地址__asm POP m_dwReturn[134 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(234))();// 转跳到返回地址__asm JMP m_dwReturn[134 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrintProcessorDatatypesA(void)
{// 保存返回地址__asm POP m_dwReturn[135 * TYPE long];// 调用原始函数GetAddress("EnumPrintProcessorDatatypesA")();// 转跳到返回地址__asm JMP m_dwReturn[135 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrintProcessorDatatypesW(void)
{// 保存返回地址__asm POP m_dwReturn[136 * TYPE long];// 调用原始函数GetAddress("EnumPrintProcessorDatatypesW")();// 转跳到返回地址__asm JMP m_dwReturn[136 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrintProcessorsA(void)
{// 保存返回地址__asm POP m_dwReturn[137 * TYPE long];// 调用原始函数GetAddress("EnumPrintProcessorsA")();// 转跳到返回地址__asm JMP m_dwReturn[137 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrintProcessorsW(void)
{// 保存返回地址__asm POP m_dwReturn[138 * TYPE long];// 调用原始函数GetAddress("EnumPrintProcessorsW")();// 转跳到返回地址__asm JMP m_dwReturn[138 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterDataA(void)
{// 保存返回地址__asm POP m_dwReturn[139 * TYPE long];// 调用原始函数GetAddress("EnumPrinterDataA")();// 转跳到返回地址__asm JMP m_dwReturn[139 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterDataExA(void)
{// 保存返回地址__asm POP m_dwReturn[140 * TYPE long];// 调用原始函数GetAddress("EnumPrinterDataExA")();// 转跳到返回地址__asm JMP m_dwReturn[140 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterDataExW(void)
{// 保存返回地址__asm POP m_dwReturn[141 * TYPE long];// 调用原始函数GetAddress("EnumPrinterDataExW")();// 转跳到返回地址__asm JMP m_dwReturn[141 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterDataW(void)
{// 保存返回地址__asm POP m_dwReturn[142 * TYPE long];// 调用原始函数GetAddress("EnumPrinterDataW")();// 转跳到返回地址__asm JMP m_dwReturn[142 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterDriversA(void)
{// 保存返回地址__asm POP m_dwReturn[143 * TYPE long];// 调用原始函数GetAddress("EnumPrinterDriversA")();// 转跳到返回地址__asm JMP m_dwReturn[143 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterDriversW(void)
{// 保存返回地址__asm POP m_dwReturn[144 * TYPE long];// 调用原始函数GetAddress("EnumPrinterDriversW")();// 转跳到返回地址__asm JMP m_dwReturn[144 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterKeyA(void)
{// 保存返回地址__asm POP m_dwReturn[145 * TYPE long];// 调用原始函数GetAddress("EnumPrinterKeyA")();// 转跳到返回地址__asm JMP m_dwReturn[145 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrinterKeyW(void)
{// 保存返回地址__asm POP m_dwReturn[146 * TYPE long];// 调用原始函数GetAddress("EnumPrinterKeyW")();// 转跳到返回地址__asm JMP m_dwReturn[146 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrintersA(void)
{// 保存返回地址__asm POP m_dwReturn[147 * TYPE long];// 调用原始函数GetAddress("EnumPrintersA")();// 转跳到返回地址__asm JMP m_dwReturn[147 * TYPE long];
}// 导出函数
ALCDECL AheadLib_EnumPrintersW(void)
{// 保存返回地址__asm POP m_dwReturn[148 * TYPE long];// 调用原始函数GetAddress("EnumPrintersW")();// 转跳到返回地址__asm JMP m_dwReturn[148 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ExtDeviceMode(void)
{// 保存返回地址__asm POP m_dwReturn[149 * TYPE long];// 调用原始函数GetAddress("ExtDeviceMode")();// 转跳到返回地址__asm JMP m_dwReturn[149 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname250(void)
{// 保存返回地址__asm POP m_dwReturn[150 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(250))();// 转跳到返回地址__asm JMP m_dwReturn[150 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname251(void)
{// 保存返回地址__asm POP m_dwReturn[151 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(251))();// 转跳到返回地址__asm JMP m_dwReturn[151 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname252(void)
{// 保存返回地址__asm POP m_dwReturn[152 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(252))();// 转跳到返回地址__asm JMP m_dwReturn[152 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname253(void)
{// 保存返回地址__asm POP m_dwReturn[153 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(253))();// 转跳到返回地址__asm JMP m_dwReturn[153 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname254(void)
{// 保存返回地址__asm POP m_dwReturn[154 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(254))();// 转跳到返回地址__asm JMP m_dwReturn[154 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname255(void)
{// 保存返回地址__asm POP m_dwReturn[155 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(255))();// 转跳到返回地址__asm JMP m_dwReturn[155 * TYPE long];
}// 导出函数
ALCDECL AheadLib_Noname256(void)
{// 保存返回地址__asm POP m_dwReturn[156 * TYPE long];// 调用原始函数GetAddress(MAKEINTRESOURCE(256))();// 转跳到返回地址__asm JMP m_dwReturn[156 * TYPE long];
}// 导出函数
ALCDECL AheadLib_FindClosePrinterChangeNotification(void)
{// 保存返回地址__asm POP m_dwReturn[157 * TYPE long];// 调用原始函数GetAddress("FindClosePrinterChangeNotification")();// 转跳到返回地址__asm JMP m_dwReturn[157 * TYPE long];
}// 导出函数
ALCDECL AheadLib_FindFirstPrinterChangeNotification(void)
{// 保存返回地址__asm POP m_dwReturn[158 * TYPE long];// 调用原始函数GetAddress("FindFirstPrinterChangeNotification")();// 转跳到返回地址__asm JMP m_dwReturn[158 * TYPE long];
}// 导出函数
ALCDECL AheadLib_FindNextPrinterChangeNotification(void)
{// 保存返回地址__asm POP m_dwReturn[159 * TYPE long];// 调用原始函数GetAddress("FindNextPrinterChangeNotification")();// 转跳到返回地址__asm JMP m_dwReturn[159 * TYPE long];
}// 导出函数
ALCDECL AheadLib_FlushPrinter(void)
{// 保存返回地址__asm POP m_dwReturn[160 * TYPE long];// 调用原始函数GetAddress("FlushPrinter")();// 转跳到返回地址__asm JMP m_dwReturn[160 * TYPE long];
}// 导出函数
ALCDECL AheadLib_FreePrinterNotifyInfo(void)
{// 保存返回地址__asm POP m_dwReturn[161 * TYPE long];// 调用原始函数GetAddress("FreePrinterNotifyInfo")();// 转跳到返回地址__asm JMP m_dwReturn[161 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetCorePrinterDriversA(void)
{// 保存返回地址__asm POP m_dwReturn[162 * TYPE long];// 调用原始函数GetAddress("GetCorePrinterDriversA")();// 转跳到返回地址__asm JMP m_dwReturn[162 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetCorePrinterDriversW(void)
{// 保存返回地址__asm POP m_dwReturn[163 * TYPE long];// 调用原始函数GetAddress("GetCorePrinterDriversW")();// 转跳到返回地址__asm JMP m_dwReturn[163 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetFormA(void)
{// 保存返回地址__asm POP m_dwReturn[164 * TYPE long];// 调用原始函数GetAddress("GetFormA")();// 转跳到返回地址__asm JMP m_dwReturn[164 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetFormW(void)
{// 保存返回地址__asm POP m_dwReturn[165 * TYPE long];// 调用原始函数GetAddress("GetFormW")();// 转跳到返回地址__asm JMP m_dwReturn[165 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetJobA(void)
{// 保存返回地址__asm POP m_dwReturn[166 * TYPE long];// 调用原始函数GetAddress("GetJobA")();// 转跳到返回地址__asm JMP m_dwReturn[166 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetJobW(void)
{// 保存返回地址__asm POP m_dwReturn[167 * TYPE long];// 调用原始函数GetAddress("GetJobW")();// 转跳到返回地址__asm JMP m_dwReturn[167 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrintExecutionData(void)
{// 保存返回地址__asm POP m_dwReturn[168 * TYPE long];// 调用原始函数GetAddress("GetPrintExecutionData")();// 转跳到返回地址__asm JMP m_dwReturn[168 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrintProcessorDirectoryA(void)
{// 保存返回地址__asm POP m_dwReturn[169 * TYPE long];// 调用原始函数GetAddress("GetPrintProcessorDirectoryA")();// 转跳到返回地址__asm JMP m_dwReturn[169 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrintProcessorDirectoryW(void)
{// 保存返回地址__asm POP m_dwReturn[170 * TYPE long];// 调用原始函数GetAddress("GetPrintProcessorDirectoryW")();// 转跳到返回地址__asm JMP m_dwReturn[170 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[171 * TYPE long];// 调用原始函数GetAddress("GetPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[171 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDataA(void)
{// 保存返回地址__asm POP m_dwReturn[172 * TYPE long];// 调用原始函数GetAddress("GetPrinterDataA")();// 转跳到返回地址__asm JMP m_dwReturn[172 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDataExA(void)
{// 保存返回地址__asm POP m_dwReturn[173 * TYPE long];// 调用原始函数GetAddress("GetPrinterDataExA")();// 转跳到返回地址__asm JMP m_dwReturn[173 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDataExW(void)
{// 保存返回地址__asm POP m_dwReturn[174 * TYPE long];// 调用原始函数GetAddress("GetPrinterDataExW")();// 转跳到返回地址__asm JMP m_dwReturn[174 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDataW(void)
{// 保存返回地址__asm POP m_dwReturn[175 * TYPE long];// 调用原始函数GetAddress("GetPrinterDataW")();// 转跳到返回地址__asm JMP m_dwReturn[175 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriver2A(void)
{// 保存返回地址__asm POP m_dwReturn[176 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriver2A")();// 转跳到返回地址__asm JMP m_dwReturn[176 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriver2W(void)
{// 保存返回地址__asm POP m_dwReturn[177 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriver2W")();// 转跳到返回地址__asm JMP m_dwReturn[177 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriverA(void)
{// 保存返回地址__asm POP m_dwReturn[178 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriverA")();// 转跳到返回地址__asm JMP m_dwReturn[178 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriverDirectoryA(void)
{// 保存返回地址__asm POP m_dwReturn[179 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriverDirectoryA")();// 转跳到返回地址__asm JMP m_dwReturn[179 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriverDirectoryW(void)
{// 保存返回地址__asm POP m_dwReturn[180 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriverDirectoryW")();// 转跳到返回地址__asm JMP m_dwReturn[180 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriverPackagePathA(void)
{// 保存返回地址__asm POP m_dwReturn[181 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriverPackagePathA")();// 转跳到返回地址__asm JMP m_dwReturn[181 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriverPackagePathW(void)
{// 保存返回地址__asm POP m_dwReturn[182 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriverPackagePathW")();// 转跳到返回地址__asm JMP m_dwReturn[182 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterDriverW(void)
{// 保存返回地址__asm POP m_dwReturn[183 * TYPE long];// 调用原始函数GetAddress("GetPrinterDriverW")();// 转跳到返回地址__asm JMP m_dwReturn[183 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[184 * TYPE long];// 调用原始函数GetAddress("GetPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[184 * TYPE long];
}// 导出函数
ALCDECL AheadLib_GetSpoolFileHandle(void)
{// 保存返回地址__asm POP m_dwReturn[185 * TYPE long];// 调用原始函数GetAddress("GetSpoolFileHandle")();// 转跳到返回地址__asm JMP m_dwReturn[185 * TYPE long];
}// 导出函数
ALCDECL AheadLib_InstallPrinterDriverFromPackageA(void)
{// 保存返回地址__asm POP m_dwReturn[186 * TYPE long];// 调用原始函数GetAddress("InstallPrinterDriverFromPackageA")();// 转跳到返回地址__asm JMP m_dwReturn[186 * TYPE long];
}// 导出函数
ALCDECL AheadLib_InstallPrinterDriverFromPackageW(void)
{// 保存返回地址__asm POP m_dwReturn[187 * TYPE long];// 调用原始函数GetAddress("InstallPrinterDriverFromPackageW")();// 转跳到返回地址__asm JMP m_dwReturn[187 * TYPE long];
}// 导出函数
ALCDECL AheadLib_IsValidDevmodeA(void)
{// 保存返回地址__asm POP m_dwReturn[188 * TYPE long];// 调用原始函数GetAddress("IsValidDevmodeA")();// 转跳到返回地址__asm JMP m_dwReturn[188 * TYPE long];
}// 导出函数
ALCDECL AheadLib_IsValidDevmodeW(void)
{// 保存返回地址__asm POP m_dwReturn[189 * TYPE long];// 调用原始函数GetAddress("IsValidDevmodeW")();// 转跳到返回地址__asm JMP m_dwReturn[189 * TYPE long];
}// 导出函数
ALCDECL AheadLib_OpenPrinter2A(void)
{// 保存返回地址__asm POP m_dwReturn[190 * TYPE long];// 调用原始函数GetAddress("OpenPrinter2A")();// 转跳到返回地址__asm JMP m_dwReturn[190 * TYPE long];
}// 导出函数
ALCDECL AheadLib_OpenPrinter2W(void)
{// 保存返回地址__asm POP m_dwReturn[191 * TYPE long];// 调用原始函数GetAddress("OpenPrinter2W")();// 转跳到返回地址__asm JMP m_dwReturn[191 * TYPE long];
}// 导出函数
ALCDECL AheadLib_OpenPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[192 * TYPE long];// 调用原始函数GetAddress("OpenPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[192 * TYPE long];
}// 导出函数
ALCDECL AheadLib_OpenPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[193 * TYPE long];// 调用原始函数GetAddress("OpenPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[193 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PlayGdiScriptOnPrinterIC(void)
{// 保存返回地址__asm POP m_dwReturn[194 * TYPE long];// 调用原始函数GetAddress("PlayGdiScriptOnPrinterIC")();// 转跳到返回地址__asm JMP m_dwReturn[194 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PrinterMessageBoxA(void)
{// 保存返回地址__asm POP m_dwReturn[195 * TYPE long];// 调用原始函数GetAddress("PrinterMessageBoxA")();// 转跳到返回地址__asm JMP m_dwReturn[195 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PrinterMessageBoxW(void)
{// 保存返回地址__asm POP m_dwReturn[196 * TYPE long];// 调用原始函数GetAddress("PrinterMessageBoxW")();// 转跳到返回地址__asm JMP m_dwReturn[196 * TYPE long];
}// 导出函数
ALCDECL AheadLib_PrinterProperties(void)
{// 保存返回地址__asm POP m_dwReturn[197 * TYPE long];// 调用原始函数GetAddress("PrinterProperties")();// 转跳到返回地址__asm JMP m_dwReturn[197 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ReadPrinter(void)
{// 保存返回地址__asm POP m_dwReturn[198 * TYPE long];// 调用原始函数GetAddress("ReadPrinter")();// 转跳到返回地址__asm JMP m_dwReturn[198 * TYPE long];
}// 导出函数
ALCDECL AheadLib_RegisterForPrintAsyncNotifications(void)
{// 保存返回地址__asm POP m_dwReturn[199 * TYPE long];// 调用原始函数GetAddress("RegisterForPrintAsyncNotifications")();// 转跳到返回地址__asm JMP m_dwReturn[199 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ReportJobProcessingProgress(void)
{// 保存返回地址__asm POP m_dwReturn[200 * TYPE long];// 调用原始函数GetAddress("ReportJobProcessingProgress")();// 转跳到返回地址__asm JMP m_dwReturn[200 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ResetPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[201 * TYPE long];// 调用原始函数GetAddress("ResetPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[201 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ResetPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[202 * TYPE long];// 调用原始函数GetAddress("ResetPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[202 * TYPE long];
}// 导出函数
ALCDECL AheadLib_ScheduleJob(void)
{// 保存返回地址__asm POP m_dwReturn[203 * TYPE long];// 调用原始函数GetAddress("ScheduleJob")();// 转跳到返回地址__asm JMP m_dwReturn[203 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SeekPrinter(void)
{// 保存返回地址__asm POP m_dwReturn[204 * TYPE long];// 调用原始函数GetAddress("SeekPrinter")();// 转跳到返回地址__asm JMP m_dwReturn[204 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetFormA(void)
{// 保存返回地址__asm POP m_dwReturn[205 * TYPE long];// 调用原始函数GetAddress("SetFormA")();// 转跳到返回地址__asm JMP m_dwReturn[205 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetFormW(void)
{// 保存返回地址__asm POP m_dwReturn[206 * TYPE long];// 调用原始函数GetAddress("SetFormW")();// 转跳到返回地址__asm JMP m_dwReturn[206 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetJobA(void)
{// 保存返回地址__asm POP m_dwReturn[207 * TYPE long];// 调用原始函数GetAddress("SetJobA")();// 转跳到返回地址__asm JMP m_dwReturn[207 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetJobW(void)
{// 保存返回地址__asm POP m_dwReturn[208 * TYPE long];// 调用原始函数GetAddress("SetJobW")();// 转跳到返回地址__asm JMP m_dwReturn[208 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPortA(void)
{// 保存返回地址__asm POP m_dwReturn[209 * TYPE long];// 调用原始函数GetAddress("SetPortA")();// 转跳到返回地址__asm JMP m_dwReturn[209 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPortW(void)
{// 保存返回地址__asm POP m_dwReturn[210 * TYPE long];// 调用原始函数GetAddress("SetPortW")();// 转跳到返回地址__asm JMP m_dwReturn[210 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[211 * TYPE long];// 调用原始函数GetAddress("SetPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[211 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPrinterDataA(void)
{// 保存返回地址__asm POP m_dwReturn[212 * TYPE long];// 调用原始函数GetAddress("SetPrinterDataA")();// 转跳到返回地址__asm JMP m_dwReturn[212 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPrinterDataExA(void)
{// 保存返回地址__asm POP m_dwReturn[213 * TYPE long];// 调用原始函数GetAddress("SetPrinterDataExA")();// 转跳到返回地址__asm JMP m_dwReturn[213 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPrinterDataExW(void)
{// 保存返回地址__asm POP m_dwReturn[214 * TYPE long];// 调用原始函数GetAddress("SetPrinterDataExW")();// 转跳到返回地址__asm JMP m_dwReturn[214 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPrinterDataW(void)
{// 保存返回地址__asm POP m_dwReturn[215 * TYPE long];// 调用原始函数GetAddress("SetPrinterDataW")();// 转跳到返回地址__asm JMP m_dwReturn[215 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SetPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[216 * TYPE long];// 调用原始函数GetAddress("SetPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[216 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SplDriverUnloadComplete(void)
{// 保存返回地址__asm POP m_dwReturn[217 * TYPE long];// 调用原始函数GetAddress("SplDriverUnloadComplete")();// 转跳到返回地址__asm JMP m_dwReturn[217 * TYPE long];
}// 导出函数
ALCDECL AheadLib_SpoolerPrinterEvent(void)
{// 保存返回地址__asm POP m_dwReturn[218 * TYPE long];// 调用原始函数GetAddress("SpoolerPrinterEvent")();// 转跳到返回地址__asm JMP m_dwReturn[218 * TYPE long];
}// 导出函数
ALCDECL AheadLib_StartDocDlgA(void)
{// 保存返回地址__asm POP m_dwReturn[219 * TYPE long];// 调用原始函数GetAddress("StartDocDlgA")();// 转跳到返回地址__asm JMP m_dwReturn[219 * TYPE long];
}// 导出函数
ALCDECL AheadLib_StartDocPrinterA(void)
{// 保存返回地址__asm POP m_dwReturn[220 * TYPE long];// 调用原始函数GetAddress("StartDocPrinterA")();// 转跳到返回地址__asm JMP m_dwReturn[220 * TYPE long];
}// 导出函数
ALCDECL AheadLib_StartDocPrinterW(void)
{// 保存返回地址__asm POP m_dwReturn[221 * TYPE long];// 调用原始函数GetAddress("StartDocPrinterW")();// 转跳到返回地址__asm JMP m_dwReturn[221 * TYPE long];
}// 导出函数
ALCDECL AheadLib_StartPagePrinter(void)
{// 保存返回地址__asm POP m_dwReturn[222 * TYPE long];// 调用原始函数GetAddress("StartPagePrinter")();// 转跳到返回地址__asm JMP m_dwReturn[222 * TYPE long];
}// 导出函数
ALCDECL AheadLib_UnRegisterForPrintAsyncNotifications(void)
{// 保存返回地址__asm POP m_dwReturn[223 * TYPE long];// 调用原始函数GetAddress("UnRegisterForPrintAsyncNotifications")();// 转跳到返回地址__asm JMP m_dwReturn[223 * TYPE long];
}// 导出函数
ALCDECL AheadLib_UploadPrinterDriverPackageA(void)
{// 保存返回地址__asm POP m_dwReturn[224 * TYPE long];// 调用原始函数GetAddress("UploadPrinterDriverPackageA")();// 转跳到返回地址__asm JMP m_dwReturn[224 * TYPE long];
}// 导出函数
ALCDECL AheadLib_UploadPrinterDriverPackageW(void)
{// 保存返回地址__asm POP m_dwReturn[225 * TYPE long];// 调用原始函数GetAddress("UploadPrinterDriverPackageW")();// 转跳到返回地址__asm JMP m_dwReturn[225 * TYPE long];
}// 导出函数
ALCDECL AheadLib_WaitForPrinterChange(void)
{// 保存返回地址__asm POP m_dwReturn[226 * TYPE long];// 调用原始函数GetAddress("WaitForPrinterChange")();// 转跳到返回地址__asm JMP m_dwReturn[226 * TYPE long];
}// 导出函数
ALCDECL AheadLib_WritePrinter(void)
{// 保存返回地址__asm POP m_dwReturn[227 * TYPE long];// 调用原始函数GetAddress("WritePrinter")();// 转跳到返回地址__asm JMP m_dwReturn[227 * TYPE long];
}// 导出函数
ALCDECL AheadLib_XcvDataW(void)
{// 保存返回地址__asm POP m_dwReturn[228 * TYPE long];// 调用原始函数GetAddress("XcvDataW")();// 转跳到返回地址__asm JMP m_dwReturn[228 * TYPE long];
}
2.E语言
E语言也有编写好的代码,只需在后面添加上自己的代码即可
链接:https://pan.baidu.com/s/1ktvB7bmChWEzVMXU2QNTbQ 提取码:cmzj
补丁生成工具
使用XH补丁制作工具更加方便破解, 将程序拖入XH并选择右下角的EXE
输入要修改的内存地址以及对应的值,点击添加
添加完后点击生成补丁,生成的补丁与原程序放在同一目录
运行补丁程序点击破解,随后会弹出原程序
逆向破解之破解补丁与劫持Dll相关推荐
- 股票软件破解常用破解工具介绍
股票软件破解常用破解工具介绍 2010年07月03日 2010-06-23 10:14 [b]破解离不开工具,合适的工具使你事半功倍,这个世界没有人永远救你!只有靠自己,靠别人永远是别人奴隶,不想成为 ...
- X86逆向12:内存补丁的制作
本章我们将学习各种打补丁的方式,补丁在软件的破解过程中非常的重要,比如软件无法脱壳我们就只能通过打补丁的方式来破解程序,补丁原理就是当程序运行起来会被释放到内存并解码,然后补丁就通过地址或特征码定位到 ...
- Winrar4.11免费破解版(破解方法/激活码)
电脑重做系统后在金山卫士上直接安装了解压缩软件Winrar4.11版本,谁知道居然是免费体验40天的收费版,昨天在提示激活后搜索了下破解方法,还别说简单有效! 新建记Winrar4.11免费破解版(破 ...
- UltraEdit_chinese_64.exe强大的记事本工具(带官网离线安装包和破解工具)破解教程
提供 UltraEdit_chinese_64.exe软件的破解教程,以及相关资源下载. 文章目录 本博文的简述or解决问题? 下载安装包: 说明: 下载工具推荐: 安装步骤: 破解激活: 破解成 ...
- Android逆向笔记(二) -- 破解AutoR的注册码验证
文章目录 0x0 前言 0x1 界面分析 0x2 反编译 0x3 破解 0x0 前言 此软件为练习用Crackme.apk 仅有验证逻辑 此软件不同于普通的Android软件, 是由Mono for ...
- 【软件逆向】软件破解?病毒木马?游戏外挂?
文章目录 课前闲聊 认识CTF 什么是CTF CTF解题模式 什么是逆向 定义 应用领域 CTF中的逆向 现状 推荐书籍 学习要点 逆向工程学习基础 常规逆向流程 阶段一:信息收集 阶段二:过保护后静 ...
- 反编译 破解crash html editor winform [WinHTMLEditorControl.dll][.NET Win HTML Editor Control]
需要用到一个winform上用的html editor 网页的很多,只找到一个winform的. .NET Win HTML Editor Control 价格很贵 破解吧.网上有类似文章 1,把d ...
- 某App逆向分析,破解提交参数
最近在学app逆向,记录一下破解过程. 环境: 模拟器,eclipse,httpcanary,jeb 一.先配置好模拟器环境,打开抓包软件分析参数 软件有模拟器检测,我们先用jeb分析一下 搜索&qu ...
- 逆向小程序破解js神器-(工具篇)
首先声明: 此次逆向Js只为学习交流使用,切勿用于其他非法用途,关键代码均打码 刚刚写过一篇,如何从小程序中把需要逆向的项目给打包导出到本地, 并翻译成js项目,进行破解.本章节主要分享动态调试小程序 ...
最新文章
- [EXP]windows全版本SMB溢出工具加强版
- 计算机应用工作技能与经验,关于计算机应用技能人才培养模式的思考
- python class 是否存在某个变量_Python编程思想(29):使用type()函数定义类
- 微信创始人张小龙的创业故事
- 树型列表结构宽度调整_Material Design 网格列表
- WPF开发的实用小工具 - 快捷悬浮菜单
- 深搜DFS\广搜BFS 图初步入门
- 2015暑假训练(UVALive 5983 - 5992)线段树离线处理+dp
- 信息学奥赛一本通 1001:Hello,World | OpenJudge NOI 1.1 01:Hello, World
- 你和大厂 Offer 有多近?C 认证免费测试一波,提前备考大厂
- JAVA + LR实现apache流媒体的性能测试
- 设置自增递增零开始_SnowflakeId雪花ID算法,分布式自增ID应用
- extjs6整合到web项目中
- 我叫mt4公会攻城战服务器维护中,我叫MT4公会攻城战怎么打 我叫MT4公会攻城战打法攻略...
- 电脑计算机无法加载,电脑网页视频一直显示无法加载插件
- L1-084 拯救外星人
- 实验名称:在VB中对于随机数ab的比较大小
- 【微信小程序】企业付款接口
- Windows 10 系统精简方案参考
- 【CentOS】如何在线安装pcre
热门文章
- CorelDRAW Graphics Suite 2022
- automator来解决mac terminal终端快速连接
- 遵守数据安全法,零信任保驾护航
- 提供云媒体服务器图片,云开发 把媒体文件上传到微信服务器 已知报错
- dcc-garch matlab,如何用Eviews或者MATLAB实现DCC-garch模型?
- 《超大流量分布式系统架构解决方案》
- 数据库:完整性,断言,触发器,存储过程,函数
- 关于印发《黑龙江省农村土地承包经营权确权登记试点工作操作规程(试行)》的通知
- 多序列比对要多久时间_多序列比对算法探讨
- 案例29:气体灭火设施检测与验收案例分析(一)