程式阻礙OD除錯的方式1
一個簡單軟體阻礙OD除錯的方式:
1.
API函式
IsDebuggerPresent
確定呼叫程序是否由使用者模式的偵錯程式除錯。
語法
BOOL WINAPI IsDebuggerPresent(void);
引數
該函式沒有引數
返回值
如果當前程序執行在偵錯程式的上下文,返回值為非零值。
如果當前程序沒有執行在偵錯程式的上下文,返回值是零。
2.第一個示例:
該程式通過IsDebuggerPresent 函式的返回值為1(非零值)使程式以不同的方式結束,阻止除錯軟體OD對自己除錯,返回值為1時讓除錯過程跳進系統領空,不能進行操作的區域,使程式(程序)異常終止。
3.第二個示例:
該程式通過IsDebuggerPresent 函式的返回值為1(非零值)使程式無條件直接跳轉到(JMP跳轉)程式結束的位置,使程式(程序)執行結束。
4.第三個示例:
該程式通過IsDebuggerPresent 函式的返回值為1(非零值)使程式無條件直接跳轉到一個受保護的地址,使程式崩潰(我認為是被作業系統踢出來的)。
相關推薦
程式阻礙OD除錯的方式1
一個簡單軟體阻礙OD除錯的方式: 1. API函式 IsDebuggerPresent 確定呼叫程序是否由使用者模式的偵錯程式除錯。 語法 BOOL WINAPI IsDebuggerPresent(void); 引數 該函式沒有引數 返
Windbg程式除錯系列1-常用命令說明&示例
Windbg程式除錯是.Net高階開發需要掌握的必備技能,分析記憶體洩露、分析高CPU、分析執行緒阻塞、分析記憶體物件、分析執行緒堆疊、Live Dedugging。這個領域可以說一個技能+場景化應用的結合,如果單學Windbg命令,不理解實際Troubleshooting中的作用,是沒有意義的。所以,準備搞
Windbg程式除錯系列1-常用命令說明&Mex擴充套件使用總結
Windbg程式除錯是.Net高階開發需要掌握的必備技能,分析記憶體洩露、分析高CPU、分析執行緒阻塞、分析記憶體物件、分析執行緒堆疊、Live Dedugging。這個領域可以說一個技能+場景化應用的結合,如果單學Windbg命令,不理解實際Troubleshooting中
【springboot 入門篇】第1篇 第一個spring-boot程式(多種搭建方式)
學習一個新技術,先別管他的原理啊,流程啊,怎麼組織程式碼啊什麼的。直接從官網或者部落格抄一個小demo,自己親自跑一遍,然後再去看那一堆讓人頭皮發麻的講解,就能相對容易的看懂了。 初學者的態度應該是:不要問我為什麼,反正我就是可以這樣執行! 1. 建立一個spring boot專案可以使用
C++程式設計實踐學材系列(12)——1.2.4 Code::Blocks執行程式的兩種方式
回到系列文章的目錄——[系列文章目錄] 回到本章目錄——[第1章目錄]1.2.4 Code::Blocks執行程式的兩種方式 微課件1.2展示的程式執行方式,只要連編(Build)成功了,一點執行(
微信小程式儲存網路圖片的方式1:getimageinfo+saveImageToPhotosAlbum
好吧,我錯了,這個getimageinfo是需要去下載圖片的,所以我們還是需要https。。。。(修改) 首先,我們使用getimageinfo去獲取到我們的圖片的資訊先(主要是快取在本地的時候,會儲存下一個臨時檔案),接著再去使用這個方式去儲存到本地的相簿 思路很清晰
用寫文章的方式寫程式--“三維度”邏輯程式語言的設計(1)
1、 前言 前幾個月,看到園子裡面一篇介紹邏輯程式語言的文章《邏輯式程式語言極簡實現(使用C#)》,覺得作者寫得很有趣,用講故事的方式來講述了一個極簡邏輯程式語言的設計,於是我也萌生了寫一篇有關邏輯程式語言的文章。說實話,我很早就接觸了邏輯程式設計的概念,最開
JAVA-初步認識-I/O流(字節流-FileReader-讀取方式1)
結果 奇怪 字節 進行 read file -s 聯想 子類 一. 寫完之後,要進行讀取。現在講解的對象從FileWriter變為了FileReader,從輸出為了輸入。 對於IO流的講解,始終是圍繞著字符流來的,立足點也是字符流中的兩個具體的子類對象。 Reader對象的
angular 一個界面調用另一個界面的方式1
nsa UNC tco actor attr tde apply pty PC 紅色標記的hr都是頂級的module,每個路由節點都會引入hr這個module,所以這些嵌入的界面可以放在hr這個module下 angular.module(‘hr.templateCa
CSAPP:第三章程式的機器級表示1
CSAPP:程式的機器級表示1 關鍵點:資料格式、運算元指示符。 資料格式訪問資訊運算元指示符舉例說明 資料格式 術語字(word)表示16位資料型別,32位數為雙字(double words),64位數為四字(quad words)。圖3-1給出了c語言的資料型別在x
將自己的專案上傳到版本庫的方式1
將之間本地專案上傳到gitlab版本庫的方式之1: 1:專案所在資料夾上滑鼠右鍵–> Git Bash here; 2: git clone 版本庫地址 3:若有已經寫好的專案(完整的或者剛建立的),直接複製、貼上到剛clone的版本庫資料夾中即可 4:按照正常流程完成程式碼提交即可
編寫一個Java程式在螢幕上輸出1!+2!+3!+……+10!的和
package test; /** * @author 作者 * @version 建立時間:2018年10月19日 上午8:28:09 * 類說明 : 編寫一個Java程式在螢幕上輸出1!+2!+3!+……+10!的和 */ public class Xdemo { public
程式設計師基層知識程式與cpu【更新1】
我是一個小白,但我通過學習我慢慢的懂了一些事。分享出來有錯誤的望大咖指導。 我們要很明確的明白我們學的是程式設計而不是程式語言,程式語言只是工具用來方便我們做很多程式設計有關的事。 首先我在學習的過程中,第一節課讓我明白的東西(程式與cpu的關係) 在說程式與cpu關係之前,我們要明白第一點cp
[SpringBoot] - 輸出倒逼輸入學習方式1
blank sta 第一步 輸入 github star ava .com 輸出 首先明白Spring是什麽,Spring是Java開發的一個框架,為了方便簡化Java開發. 什麽是註解(註解式開發)? Spring的常用註解有哪些? 假如用SpringBo
程式設計師的修行-《1.高效chrome外掛》
簡單介紹如何通過外掛打造個性化的chrome瀏覽器,方便程式設計師或者是其他依賴於網際網路來工作的同學更加高效的工作學習。 那麼有哪些外掛是開發人員最常用的chrome外掛呢?今天我們chrome外掛網就整理了十款開發者常用的Chrome 外掛推薦給大家,讓chrome成為所有開發者的開發利器
[譯] Node.js 高效能和可擴充套件應用程式的最佳實踐 [第 1/3 部分]
原文地址:Good practices for high-performance and scalable Node.js applications [Part 1/3] 原文作者:virgafox 譯文出自:掘金翻譯計劃 本文永久連結:github.com/xitu/gold
13-編寫WIFI模組連線MQTT程式,和除錯助手測試通訊
直接上程式吧 local SubscribeTopic = "wifi/user".."/"..clientid PublishTopic = "wifi/device".."/"..clientid local UsartReceiveData=""; lo
給開發板燒寫程式的N種方式
分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!  
微信小程式6種盈利方式?進來了解下?
2018年最焦距“微信小程式"入口不斷増加、功 能持迭代。那麼,如何藉由小程式盈利呢?快來和小編一起看看吧 微信小程式數量達到100萬 商家如何利用小程式盈利? 1:純小程式創業 對現有產品的功能進行延伸,開發一個與現有APP相輔相成的小程式。 通過小程式的高擴散性,解決ap
golang 呼叫cmd下程式隱藏黑視窗-方法1
通過go的標準庫exec呼叫cmd命令時會閃彈黑視窗,為解決此問題在windows下可以用win32 API 的 WinExec。 此問題主要出現在帶UI或無控制檯的程式呼叫cmd時。 編譯go時加入引數: go build -ldflags="-H wi