Time of Update: 2018-12-04
在上一節,我們學到了如何讀取SSDT表中函數的當前地址與系統地址, 有了這兩個地址我們就可以判斷該函數是否被inline hook了, 如果NSOpenProcess被hook了,那麼我們就無法用od對進程進行載入,從而不能分析之。今天教大家如何繞過它,從而使其可以被od載入,從而被分析。其原理就是在函數當前地址進行強制調轉到系統地址。我們可以用kernel detect這個工具輕鬆繞過函數的HOOK,但那樣沒有技術含量, 做為程式員,得寫代碼。原理就是修改SSDT表,使其函數不被hook.
Time of Update: 2018-12-04
瞭解情境轉換時,使用的幾個函數( onEnter , onExit ,等一些方法)的先後順序調用——(日誌記錄)2013-03-20 21:30:18.520 LikScenesAndLayers[4220:207] ======================================2013-03-20 21:30:18.520 LikScenesAndLayers[4220:207] scene: OtherScene2013-03-20 21:30:18.521
Time of Update: 2018-12-04
OpenGL ESOpenGL ES (OpenGL for Embedded Systems) 是 OpenGL 三維圖形 API的子集,針對手機、PDA和遊戲主機等嵌入式裝置而設計。該API由Khronos集團定義推廣,Khronos是一個圖形軟硬體行業協會,該協會主要關注圖形和多媒體方面的開放標準。簡介 OpenGL ES (OpenGL for Embedded Systems)是 OpenGL三維圖形
Time of Update: 2018-12-04
最近忙著做一個題庫類的項目,都是選擇題,我以為xcode內建有radio button的控制項,找了一下原來沒有,只好在網上找了一下。於是,就在code4app網上找了兩個demo,單步運行了一下,瞭解了別人怎樣做大概的流程。然後模仿來做一個radio button。我不需要分組,所以把別人用了分組的代碼都去掉,只需要有一個全域的數組,在每次建立一個執行個體radio button就會自動添加進去該數組裡面。 點擊下載 另外,在radio
Time of Update: 2018-12-04
2012-7-19
Time of Update: 2018-12-04
今日第三日做這個項目,做個一個同股票有關的小項目。基本上完成了股票折線圖的模板,我只是協助永浩去做,其中也學會了用控制項TChart,主要是初始化折線圖的屬性,如下: Chart1->Title->Font->Size = 18; //標題大小,字型Chart1->Title->Font->Name = "華文行楷";Chart1->Title->Font->Style<<fs
Time of Update: 2018-12-04
第一部分:CCActionInterval家族(持續動作)持續動作,顧名思義,就是該動作的執行將持續一段時間。因此持續動作的靜態產生函數,往往附帶一個時間值Duration。例如:CCActionInterval *moveByAction=CCMoveBy::actionWithDuration(0.5f,ccp(5,5)); 持續動作類名尾碼:一般有兩種尾碼,一種是To,一種是By。To表示最終達到的目標值,By表示增量值。如:CCMoveBy::actionWithDuration(0.5
Time of Update: 2018-12-04
一、精靈建立及初始化1、從圖片檔案建立:CCSprite *sprite = [CCSprite spriteWithFile:@"ImageFileName.png"]; 預設錨點 ccp(0.5,0.5),預設位置 ccp(0,0),CCSprite尺寸(contentSize)為圖片尺寸2、從幀緩衝建立:[[CCSpriteFrameCache sharedSpriteFrameCache] addSpriteFramesWithFile:@"MineSweeping.plist"];
Time of Update: 2018-12-04
在前面4節中,我們學習了一個驅動的基本寫法,也算是驅動已入門了。今天要介紹的就是在應用程式層載入與卸載驅動,有兩種方法:1.修改註冊表,2.用SCM-Service Control Manager管理驅動。我們今天學習第二種方法,主要學習如何載入驅動與卸載驅動。我用的是VS2010的開發環境,建立一個基於MFC 對話方塊的工程。拖兩個BUTTON,一個用於載入驅動,一個用於卸載驅動。 載入驅動代碼如下://裝載NT驅動程式BOOL LoadNTDriver(LPCTSTR
Time of Update: 2018-12-04
為什麼只顯示“姓名”中的姓和“分數”中的分?原始碼:__fastcall TfrmArrayExample::TfrmArrayExample(TComponent* Owner): TForm(Owner){}//---------------------------------------------------------------------------void __fastcall TfrmArrayExample::FormPaint(TObject
Time of Update: 2018-12-04
在本節中,我們將學習驅動層的記憶體管理,介紹記憶體管理中常用的API,並與應用程式層內管理API相對應。核心中常用的記憶體管理API與應用程式層記憶體管理API對應關係如下: 核心API應用程式層C
Time of Update: 2018-12-04
const char * const months[12] = { " January ","February","March","April","May","June","July","August","September","October","November","December"}; 在上述範例中,第一個const防止字串被修改,第二個const確保數組中每個指標始終指向它最初指向的字串。 在c++中,const
Time of Update: 2018-12-04
iPhone4支援視網膜屏,就是肉眼看不到像素點。在開發過程當中,我們如何載入視網膜顯示圖片呢?2x.方法是,我們要準備兩份圖片,一份是normal的,一份是retina的, 如normal的是icon.png, retina的是icon@2x.png. 同時把這兩份圖片加入工程,用到的時候代碼如下:imageView.image = [UIImage
Time of Update: 2018-12-04
學obj_c已有一年時間了,開發iphone也有一年時間了。首先學習obj_c的時候,是賃著c/c++的基礎,所學的知識是按c/c++的方式去學習,其實obj_c是c的超集當時一點也沒體會到,其精髓也是完全沒有理解到。隨關時間的推移,慢慢瞭解更多。obj_c比c/c++更強大,因為它包含了一些設計模式在裡面。聽說java裡幾乎包括了所有的設計模式,不過我沒有深入用過java,曾經用過j2me寫過一點點邏輯。用obj_c最靈活的兩 點就是:category與associative.
Time of Update: 2018-12-04
在第5節,我們學習了如何用程式的方法在應用程式層載入驅動。今天將學習如何修改註冊表的方式載入驅動,這種方式需要重啟電腦才能看到效果。首先我們建立一個以.reg為尾碼的文字檔。然後編輯以下內容:Windows Registry Editor Version 5.00[HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Services\mydriver]"ImagePath"="\\??\\D:\\hellowroldDDK.sys""DisplayName"=
Time of Update: 2018-12-04
在上一節中我們學習了驅動與應用程式的緩衝區模式的通訊,這一節我們學習它們之間的直接模式通訊。只是方式不一樣,但實現的目的是一樣的,即驅動與應用程式的通訊。我們在上一節代碼的基礎上做一些修改就可以了。首先修改ctl_code.h代碼如下:/*#ifndef CTL_CODE#pragma message("\n\n------------------exe 模式.please include winioctl.h")#include<winioctl.h>
Time of Update: 2018-12-04
驅動是RING0的程式碼,我們Ring3代的程式如果想控制ring0級的功能,那麼就需要學會ring0與ring3之間的通訊。今天就開始學習驅動與應用程式之間的通訊。我們需要在驅動產現一個加法運算,然後我們在應用程式將兩個運算數傳入到驅動層,由驅動層計算了結果返回給應用程。我們向驅動傳輸命令需要用到:DeviceIoControl這個api,它是應用程的api,關於參數我不想過多解釋,因為MSDN上很清楚。這兒給出一個執行個體代碼:int add(HANDLE hDevice, int a,
Time of Update: 2018-12-04
不知道大家有沒有遇到過修改工程名字的需求,反正我是遇到過。開發過程當中,項目進行到一半的時候,覺得工程名不正確, 或是現在這個項目與以前用過的項目需求差不多,於是只需要修改一下工程名就可以用於現在這個項目。所在修入項目名的功能也是有用的,那麼如何修改呢?其實xcode有這功能,只需要點幾下就行了。首先開啟你的工程,然後先中菜單中的Project-》Rename 這樣就彈出一個對話方塊,如下:這樣子卻不能修改appDelegate檔案裡的名字,
Time of Update: 2018-12-04
一個個無情的誤解,紛亂了幸福的腳步。當命運的死結終於用代價開啟,一切都為時已晚。接婆婆來家安度晚年,結果卻背離我們的初衷。 結婚二年後,先生跟我商量把婆婆從鄉下接來安度晚年。先生很小時父親就過世了,他是婆婆唯一的寄託,婆婆一個人扶養他長大,供他讀完大學。“含辛茹苦” 這四個字用在婆婆的身上,絕對不為過!
Time of Update: 2018-12-04
在第10節裡,我們要寫一個ssdt hook功能的應用程式,因為是應用程式沒有SSDT HOOK的能力,所以我們要寫一個具有HOOK能力的驅動,然後應用程式發命令到驅動完成功能。 其實是以前學習的總結:1.SSDT修改, 2.應用程式與驅動通訊。這一節開始,我將用VS2010的開發環境開發驅動,因為在IDE裡寫代碼更方便,關於環境的搭建,在這一篇文章有介紹。應用程式也是VS2010