DLL命令表
.版本 2.DLL命令 BeginUpdateResource, 整數型, "kernel32.dll", "BeginUpdateResourceA" .參數 pFileName, 文本型 .參數 bDeleteExistingResources, 邏輯型.DLL命令 UpdateResource, 邏輯型, "kernel32.dll", "UpdateResourceA" .參數 hUpdate, 整數型 .參數 lpType, 整數型 .參數 lpName, 整數型 .參數 wLanguage, 整數型 .參數 lpData, 整數型 .參數 cbData, 整數型.DLL命令 EndUpdateResource, 邏輯型, "kernel32.dll", "EndUpdateResourceA" .參數 hUpdate, 整數型 .參數 fDiscard, 邏輯型.DLL命令 FindResource, 整數型, "kernel32.dll", "FindResourceA" .參數 hModule, 整數型 .參數 lpName, 整數型 .參數 lpType, 整數型
常量數據表
常量名稱 Manifest清單數據常量值<?xml version="1.0" encoding="utf-8"?><asmv1:assembly manifestVersion="1.0" xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv1="urn:schemas-microsoft-com:asm.v1" xmlns:asmv2="urn:schemas-microsoft-com:asm.v2" xmlns:xsi=""><assemblyIdentity version="1.0.0.0" name=".add"/><trustInfo xmlns="urn:schemas-microsoft-com:asm.v2"> <security> <requestedPrivileges xmlns="urn:schemas-microsoft-com:asm.v3"> <requestedExecutionLevel level="requireAdministrator" uiAccess="false" /> </requestedPrivileges> </security></trustInfo></asmv1:assembly>
UAC管理員模式添加器
此功能需要加載Ex_DirectUI 2.0模塊
.版本 2.支持庫 edroptarget.支持庫 iconv.支持庫 spec.程序集 窗口程序集.程序集變量 DUI, Ex_DirectUI.程序集變量 分組框, 分組框_Ex.程序集變量 標簽, 標簽_Ex.程序集變量 編輯框, 編輯框_Ex.程序集變量 按鈕, 按鈕_Ex, , "2".子程序 __啟動窗口_創建完畢DUI.掛接皮膚 (取窗口句柄 (), , 取字節集數據 ({ 70, 185, 240 }, #整數型, ), , , , #外形方式_矩形)分組框.創建 (取窗口句柄 (), 12, 32, 356, 66, , , , , , , , , RGB2ARGB (#白色, 190), , #外形方式_矩形, )標簽.創建 (取窗口句柄 (), 18, 42, 100, 20, “請選擇PE文件:”)編輯框.創建 (取窗口句柄 (), 108, 40, 194, 20, , , , , , , , , #輸入方式_只讀方式)按鈕 [1].創建 (取窗口句柄 (), 308, 40, 50, 21, “...”)按鈕 [2].創建 (取窗口句柄 (), 22, 68, 336, 21, “ 一鍵向PE文件添加UAC(可拖入PE文件至本窗口)”)按鈕 [2].圖標 (#添加圖標)按鈕 [1].掛接事件 (#事件_左鍵按下, &按鈕1_被左鍵按下)按鈕 [2].掛接事件 (#事件_左鍵按下, &按鈕2_被左鍵按下)拖放對象.注冊拖放控件 (取窗口句柄 ()).子程序 按鈕1_被左鍵按下.如果真 (通用對話框.打開 () = 真) 編輯框.內容 (通用對話框.文件名).如果真結束.子程序 按鈕2_被左鍵按下.如果真 (編輯框.內容 () = “”) 信息框_Ex (取窗口句柄 (), “一鍵向PE文件添加UAC(可拖入PE文件至本窗口)!”, #確認鈕, “提示”, #信息圖標) 返回 ().如果真結束.如果 (更新Manifest清單 (編輯框.內容 (), 編碼轉換 (到字節集 (#Manifest清單數據), #編碼_char, #編碼_UTF_8, ))) 信息框_Ex (取窗口句柄 (), “向指定PE文件添加UAC成功!”, #確認鈕, “提示”, #信息圖標).否則 信息框_Ex (取窗口句柄 (), “向指定PE文件添加UAC失敗!”, #確認鈕, “提示”, #錯誤圖標).如果結束.子程序 _拖放對象_得到文件.參數 接收到的文件路徑, 文本型.如果 (到小寫 (取文件格式 (接收到的文件路徑)) = “exe”) 編輯框.內容 (接收到的文件路徑).否則 信息框_Ex (取窗口句柄 (), “請拖放PE文件到本窗口!”, #確認鈕, “提示”, #錯誤圖標).如果結束.子程序 取文件格式, 文本型.參數 文件名, 文本型返回 (取文本右邊 (文件名, 取文本長度 (文件名) - 倒找文本 (文件名, “.”, , 假))).子程序 更新Manifest清單, 邏輯型.參數 PE文件路徑, 文本型.參數 清單數據, 字節集.局部變量 hUpdate, 整數型.局部變量 hModule, 整數型.局部變量 ret, 邏輯型hUpdate = BeginUpdateResource (PE文件路徑, 假)hModule = GetModuleHandle (PE文件路徑).如果真 (FindResource (hModule, 1, 24) ≠ 0) ' 判斷PE文件是否存在Manifest清單 UpdateResource (hUpdate, 24, 1, 0, 0, 0) ' 刪除PE文件中的Manifest清單.如果真結束UpdateResource (hUpdate, 24, 1, 2052, 取變量數據地址 (清單數據), 取字節集長度 (清單數據)) ' 加入UAC的清單數據ret = EndUpdateResource (hUpdate, 假).如果真 (ret = 假) hUpdate = BeginUpdateResource (PE文件路徑, 假) UpdateResource (hUpdate, 24, 1, 2052, 取變量數據地址 (清單數據), 取字節集長度 (清單數據)) ret = EndUpdateResource (hUpdate, 假).如果真結束CloseHandle (hModule)返回 (ret)
運行結果:
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,謝謝大家對VeVb武林網的支持。
|
新聞熱點
疑難解答