1、鉤子編程 鍵盤鉤子 鉤不住 Explorer.exe Notepad.exe等,其他正常,Why?
因為Windows的系統文件保護的關系,關閉它。
2、機械制圖鉤子畫法,鉤尖畫法(手繪的那種)
1、新建文件打圖層管理器(快捷鍵LA)並新建兩圖層(輪廓線層/線寬5mm線層/線寬2.5mm/線型) 修改默認標注式(快捷鍵D)進入標注式修改界面點擊修改接著其各項進行設置: 線:基線間距(8)、超尺寸線(3)、起點偏 移量(0) 符號箭:箭(3)、圓標注() 文字:文字(般設3.5根據圖形設置)、 尺寸偏移(1)、文字齊(ISO標准) 主單位:精度(0)、數隔符(句點) 其幾項需修改即。
2、線層置於前圖層並繪制線。
3、用直線命令L繪制釣鉤面部(高度38部)並其 面豎直兩條直張畫度適即(其間線段具體 度由部繪圖程 確定)。
4、A圓畫直徑40圓B圓畫半徑48圓利用倒圓角命 令F輸入半徑值60選擇直徑40圓豎直線即完半徑 60圓弧繪制用同(倒圓角F)再半徑40段圓弧繪 制完至釣鉤部部繪制完。
5、至於釣鉤尖處圓弧繪制必須做兩輔助圓通與線交 點找圓才尖角處半徑40、半徑23兩段圓弧繪制半徑 4圓弧通倒圓角或畫圓(相切、相切、半徑)完具體步驟 。
6、首先A圓畫半徑60輔助圓其與端條水平線交點 CC圓畫半徑40圓B圓畫半徑71畫輔助圓其 與端水平線交步DD圓畫半徑23圓接著選擇 相切、相切、半徑畫圖式半徑4圓畫利用修剪工具 TR余圓修剪掉至圖形繪制完。
7、標註:直接利用標注菜單直線標注、直徑標注、圓弧標注等完 圖形標注具體A、B、C、D位置請看面張本繪CAD圖我線寬調比較粗。
3、惡意網站篡改主頁的原理
簡單德說
分為3種
1.是通過一種被稱為「BHO」(Browser Helper Object,瀏覽器輔助對象)的技術手段植入系統的。 關於BHO 可以去百科看看
2.就是 Hook (鉤子)分為 本地鉤子(Local Hook)和全局鉤子(Global Hook),本地鉤子只在本進程里起作用,全局鉤子代碼必須以DLL形式編寫,以便在鉤子生效時被其它進程所載入調用,因此我們看到的大部分Hook程序都是DLL形式的
舉個例子 3721的主程序就是一個Hook DLL,它監視IE地址欄的消息,一旦用戶輸入的是中文,它便在其他BHO類插件工作之前攔截了這個消息,並調用自身代碼完成中文域名到英文URL的轉換工作,然後返回(也可能與自己的BHO DLL配合)一個讓IE跳轉到英文URL的消息,完成域名的翻譯任務。 流氓軟體就是這個原理
3.Winsock LSP 全稱為「Windows Socket Layered Service Provider」(分層服務提供商)SPI是一種不能獨立工作的技術,它依賴於系統商已經存在的基本協議提供商,如TCP/IP協議等,在這些協議上派分出的子協議即為「分層協議」,如SSL等,它們必須通過一定的介面函數調用,LSP就是這些協議的介面通過LSP,我們可以比分析基本協議更簡單的得到我們想要的數據內容,如直接得到系統上運行的瀏覽器當前正在進行傳輸的地址和內容,不管這個瀏覽器是IE,還是Opera或Firefox,因為LSP是直接從Winsock獲取信息的。
LSP用在正途上可以方便程序員們編寫監視系統網路通訊情況的Sniffer,可是現在常見的LSP都被用於瀏覽器劫持,也用作流氓軟體
---如果還有疑問或者問題補充
---請直接百度HI聯系
--丨Mc丶Any丶
4、瀏覽器鉤子,嵌入瀏覽器內隨瀏覽器啟動會自動運行。
1.開始 運行 MSCONFIG
關閉所有啟動項
2.C:\Program Files\Internet Explorer\PLUGINS
C:\WINDOWS\Downloaded Program Files
全部刪除
3.添加刪除中看看有沒惡意小程序,常見如:
上網助手,劃詞搜索
4.www.spybot.com
下載最新版本
安裝 更新 檢查 免疫
進入高級模式
工具
ActiveX全部刪除
IE插件全部刪除
5.C:\WINDOWS\Temp
C:\Documents and Settings\Administrator(可更改)\Local Settings\Temp
Temporary Internet Files
搜索整個C盤
*.tmp 刪除
*.log 刪除
6.C盤,右鍵,屬性,磁碟清理
再查殺
5、插件鉤子如何自定義,要些什麼特別設置嗎
OneThink以其便捷的建站、豐富的擴展、靈活的二次開發,以及雲服務的支持,為廣大個人和企業建站帶來新的契機和機遇,即將成為互聯網新的弄潮兒。 OneThink特性介紹: 1. 基於ThinkPHP最新版本Thinkphp3.2。 2. 模塊化:全新的架構和模塊化的開發機制,便於靈活擴展和二次開發。 3. 文檔模型/分類體系:通過和文檔模型綁定,以及不同的文檔類型,不同分類可以實現差異化的功能,輕松實現諸如資訊、下載、討論和圖片等功能。 4. 開源免費:OneThink遵循Apache2開源協議,免費提供使用。 5. 用戶行為:支持自定義用戶行為,可以對單個用戶或者群體用戶的行為進行記錄及分享,為您的運營決策提供有效參考數據。 6. 雲端部署:通過驅動的方式可以輕松支持平台的部署,讓您的網站無縫遷移,內置已經支持SAE。 7. 雲服務支持:即將啟動支持雲存儲、雲安全、雲過濾和雲統計等服務,更多貼心的服務讓您的網站更安心。 8. 安全穩健:提供穩健的安全策略,包括備份恢復、容錯、防止惡意攻擊登錄,網頁防篡改等多項安全管理功能,保證系統安全,可靠、穩定的運行。 9. 應用倉庫:官方應用倉庫擁有大量來自第三方插件和應用模塊、模板主題,有眾多來自開源社區的貢獻,讓您的網站「One」美無缺。 oneThink後台添加插件步驟: 版本:V1.1.141212 (註:v1.1也有很多版本,一不小心就下到V1.1.140202 去了,還有其他版本,建議去代碼託管平台下載最新版本) 我也不偷懶,把每一步步驟都記錄下來。 一、進入後台,創建插件 這里的鉤子我新建了一個indexFooter,因為我只需在前台首頁底部顯示友情鏈接即可。我們把上面所有要勾的地方都勾上,至於有什麼區別,大家可以自己建幾個例子區分一下,生成的文件是否一樣。OK!到這里 我們的友情鏈接插件就創建好了!點擊「確定」。(這里的自定義模板什麼的,通通不填,我會在下篇文章演示添加自定義模板的效果) 二、點擊「安裝」 即可,找到我們剛安裝好的Links插件,點擊「設置」,你會看到它有個默認的「是否開啟隨機」的選項,這里我們不管它,因為我們用不上,等下要刪掉的。安裝後,我們可以在左側導航「已安裝插件後台」看到我們新建的「友情鏈接」 三、當我們點擊左側導航的「友情鏈接」,你會發現報錯,大概就是說的某個表不存在。是的,我們剛才只是建了插件,如果涉及到數據存儲到資料庫, 還需要建表。這里不直接去資料庫里建,因為這樣做,是很不人性化的。那我們就找到安裝插件的函數,在安裝插件的時候建立資料庫,這樣就好了。首先系統的插件全部存放在 根目錄/Addons/ 文件夾下面,打開此文件夾,我們看到有個Links文件夾,這就是我們剛創建的插件,一個插件對應一個文件夾。打開Links文件夾,裡面有2個文件和2個文件夾。 四、其實現在oneThink做的越來越簡潔了,不懂PHP的人照樣創建插件,之後你就會發現。當然,如果你有自己的想法,不想局限於官方的限制,那還是要把php學好的。 五、打開插件入口文件:LinksAddon.class.php 裡面有個類LinksAddon,先來分析一下這個文件吧 我這里把$admin_list 數組的model 值改成links了,為了與插件對應。接下來我們在install方法里添加新建資料庫的語句,這樣我們在安裝插件的時候,就會新建資料庫了,我的代碼如下: public function install(){//安裝插件的方法 //1、添加數據表 $model = D(); $db_prefix = C('DB_PREFIX'); $table_name = "{$db_prefix}links"; $sql=<<<SQL CREATE TABLE IF NOT EXISTS `$table_name` ( `id` int(11) unsigned NOT NULL AUTO_INCREMENT COMMENT '主鍵', `title` varchar(80) NOT NULL DEFAULT '' COMMENT '站點名稱', `link` varchar(140) NOT NULL DEFAULT '' COMMENT '鏈接地址', `summary` varchar(255) NOT NULL DEFAULT '' COMMENT '站點描述', `mailto` varchar(100) NOT NULL DEFAULT '' COMMENT '站長聯系方式', `sort` int(3) unsigned NOT NULL DEFAULT 0 COMMENT '優先順序', `nofollow` tinyint(1) unsigned NOT NULL DEFAULT 0 COMMENT '是否追蹤', `type` tinyint(3) unsigned NOT NULL DEFAULT 1 COMMENT '類型分組', `cover_id` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '封面圖片', `status` tinyint(2) NOT NULL DEFAULT 1 COMMENT '狀態(0:禁用,1:正常)', `create_time` int(11) unsigned NOT NULL DEFAULT 0 COMMENT '添加時間', PRIMARY KEY (`id`) ) ENGINE=MyISAM AUTO_INCREMENT=4 DEFAULT CHARSET=utf8 ROW_FORMAT=DYNAMIC COMMENT='友情連接表'; SQL; $model -> execute($sql);//執行sql語句 //2、返回true,表示插件安裝成功 return true; } 我這里省略了很多細節判斷,大家自己完善。 六、既然在安裝插件的時候,新建了表,我們在卸載的插件的時候就要把表給刪除,不然下次安裝該插件的時候就會出問題。所以我們uninstall 方法代碼如下: public function uninstall(){ //卸載插件的方法 $model = D(); $db_prefix = C('DB_PREFIX'); $table_name = "{$db_prefix}links"; $sql="DROP TABLE IF EXISTS `".$table_name."`;"; $model -> execute($sql);//執行sql語句 return true; } 好了,到這里就差不多了,保存一下LinksAddon.class.php 文件,應該可以正常顯示了,我們來看看。進入插件列表,先把Links插件卸載,然後重新安裝。點擊左側菜單「友情鏈接」,可以看到 之所以能正常顯示這個列表,是因為系統有默認的模板,在\Application\Admin\View\Addons 文件夾里,有興趣的同學可以研究一下這幾個模板文件,其中這個列表的模板就是adminlist.html,那麼我們要把封面、書名、描述等等這些字眼改掉,要去模板里改嗎?細心的同學估計注意到了,在LinksAddon.class.php 文件 的$admin_list 數組里配置的,其他的看後面的注釋就明白,這里詳細說一下list_grid 關聯的數組。我們剛才新建的links數據表有id、title、link等欄位,你想在這個列表顯示什麼欄位,都可以添加。我這里代碼如下: 'list_grid'=>array( //這里定義的是除了id序號外的表格里欄位顯示的表頭名和模型一樣支持函數和鏈接 'title:網站名稱', 'link:鏈接', 'summary:描述', 'create_timetime_format:添加時間', //time_format 是一個函數,把時間格式化,其他地方想使用什麼函數也可以按照這種格式書寫 'id:操作:[EDIT]編輯,[DELETE]刪除' ), 保存,刷新後台友情鏈接列表 我們點擊「新增」 來增加一個友情鏈接吧,你會發現,只有一個書名欄位。我們打開Model/LinksModel.class.php 文件,我這里分別解釋一下這兩個自帶的數組,具體看下面代碼里的注釋 class LinksModel extends Model{ public $model = array( 'title'=>'',//新增[title]、編輯[title]、刪除[title]的提示 'template_add'=>'',//自定義新增模板自定義html edit.html 會讀取插件根目錄的模板 'template_edit'=>'',//自定義編輯模板html 'search_key'=>'',// 搜索的欄位名,默認是title 'extend'=>1, //在後台列表是否顯示 「增加」、「刪除」 按鈕,0-不顯示 1-顯示 ); public $_fields = array( 'id'=>array( 'name'=>'id',//欄位名,與資料庫的欄位對應 'title'=>'ID',//顯示標題 'type'=>'num',//欄位類型:num、string、textarea、datetime、bool、select、radio、checkbox、editor、picture(封面)、file(附件)、 'remark'=>'',// 備注,相當於配置里的tip 'is_show'=>3,// 1-始終顯示 2-新增顯示 3-編輯顯示 0-不顯示 'value'=>0,//默認值 ), //下面演示一下 select欄位怎麼顯示 radio、checkbox同理 'type'=>array( 'name'=>'type', 'title'=>'類型', 'type'=>'select', 'remark'=>'請選擇所屬類型', 'is_show'=>1, 'extra'=>'0:友情鏈接,1:合作站點', 'value'=>0, 'is_must'=>1, ), ); } ok,我最後的效果是這樣的: 添加一條數據看看吧: 這里要顯示具體類型、顯示圖片等,需要自定義adminlist.html模板了。關於自定義模板,我們下一篇文章再說。關於鉤子,其實就是寫一個函數從資料庫讀取數據,然後在前台需要的地方調用鉤子就行。如果需要模板,則在鉤子函數里解析模板。鉤子調用格式一般: {:hook("鉤子名稱"),"[參數]"} 沒參數就不寫。直接寫成這樣{:hook("鉤子名稱")} 到此為止就是用系統默認的模板,一步一步的建立自己的插件,是不是很簡單,就像填空題一樣,只要按照它的規則填空,就ok了。 以上就是本文的全部內容,希望對大家學習PHP程序設計有所幫助。
6、vc6.0會做鉤子的來
代碼比較長,我給你分一下部分。
1.開始是DLL main函數
#include "stdafx.h"
// 全局變數
LPDWORD g_lpdwVirtualKey = NULL; // Keycode 數組的指針
int g_nLength = 0; // Keycode 數組的大小
BOOL g_bDisableKeyboard = FALSE; // 是否屏蔽整個鍵盤
HINSTANCE g_hInstance = NULL; // 模塊實例句柄
HHOOK g_hHook = NULL; // 鉤子句柄
//下面的DLLMain相當於Win32程序中的WinMain函數,是入口點
BOOL APIENTRY DllMain( HANDLE hMole,
DWORD ul_reason_for_call,
LPVOID lpReserved
)
{
switch (ul_reason_for_call)
{
case DLL_PROCESS_ATTACH:
case DLL_THREAD_ATTACH:
case DLL_THREAD_DETACH:
case DLL_PROCESS_DETACH:
break;
}
hInstance=(HINSTANCE)hMole; //得到DLL實例
return TRUE;
}
2.底層鍵盤鉤子函數
LRESULT CALLBACK LowLevelKeyboardProc(int nCode, WPARAM wParam, LPARAM lParam)
{
// 禁用鍵盤的某個按鍵, 如果 g_bDisableKeyboard 為 TRUE 則禁用整個鍵盤
if (nCode == HC_ACTION)
{
if (g_bDisableKeyboard) return TRUE;
KBDLLHOOKSTRUCT* pStruct = (KBDLLHOOKSTRUCT*)lParam;
LPDWORD tmpVirtualKey = g_lpdwVirtualKey;
for (int i = 0; i < g_nLength; i++)
{
if (pStruct->vkCode == *tmpVirtualKey++)
//在這里做你想做的事情,如,你想要的messagebox.這里就是按鍵消息
return TRUE;
}
}
// 傳給系統中的下一個鉤子
return CallNextHookEx(g_hHook, nCode, wParam, lParam);
}
3.設置鉤 子,也就是你在外部要調用這個DLL的這個函數後,就會開始記錄
BOOL WINAPI StartMaskKey(LPDWORD lpdwVirtualKey, int nLength, BOOL bDisableKeyboard = FALSE)
{
// 如果已經安裝鍵盤鉤子則返回 FALSE
if (g_hHook != NULL) return FALSE;
// 將用戶傳來的 keycode 數組保存在全局變數中
g_lpdwVirtualKey = (LPDWORD)malloc(sizeof(DWORD) * nLength);
LPDWORD tmpVirtualKey = g_lpdwVirtualKey;
for (int i = 0; i < nLength; i++)
{
*tmpVirtualKey++ = *lpdwVirtualKey++;
}
g_nLength = nLength;
g_bDisableKeyboard = bDisableKeyboard;
// 安裝底層鍵盤鉤子
g_hHook = SetWindowsHookEx(WH_KEYBOARD_LL, LowLevelKeyboardProc, g_hInstance, NULL);
if (g_hHook == NULL) return FALSE;
return TRUE;
}
4.取消記錄,沒什麼說的。退出,不想記錄時調用一下。
BOOL WINAPI StopMaskKey()
{
// 卸載鉤子
if (UnhookWindowsHookEx(g_hHook) == 0) return FALSE;
g_hHook = NULL;
return TRUE;
}
4.在DEF文件中顯示導出已下幾個函數
EXPORTS
StartMaskKey @1
StopMaskKey @2
7、catia技術貼,做一個鉤子的模型。
以鉤子的橫截面按軌跡掃掠
8、為什麼船錨要設計成一個類似鉤子的形狀呢?
做成鉤子樣當把它從船舶或其他浮體上拋入水中後能嚙入底土,通過其頂端所系的錨鏈或纜繩提供抓力,將船舶或其他浮體系留在預定水域
9、為什麼船錨要設計成一個類似鉤子的形狀呢?
做成鉤子樣當把它從船舶或其他浮體上拋入水中後能嚙入底土,通過其頂端所系的錨鏈或纜繩提供抓力,將船舶或其他浮體系留在預定水域