新聞中心
在大學(xué)時(shí)我下了關(guān)于很多VS2003源代碼。而我用的是VS2005,我在使用VS2003源代碼時(shí),因?yàn)樯贁?shù)文件無(wú)法轉(zhuǎn)換,我也為些郁悶了好久,后來(lái)終于讓我找到了解決辦法,讓我很高興。

創(chuàng)新互聯(lián)建站主營(yíng)赤城網(wǎng)站建設(shè)的網(wǎng)絡(luò)公司,主營(yíng)網(wǎng)站建設(shè)方案,重慶APP開(kāi)發(fā),赤城h5小程序開(kāi)發(fā)搭建,赤城網(wǎng)站營(yíng)銷(xiāo)推廣歡迎赤城等地區(qū)企業(yè)咨詢(xún)
Asp.net基于VS2005的工程與以往版本的工程的***區(qū)別就是用分部類(lèi)(partial)取代了代碼隱藏(Codebehind)。
于是我采取的方法是:
1.用打開(kāi)網(wǎng)站的方式打開(kāi)這個(gè)工程。這樣VS2005也會(huì)進(jìn)行轉(zhuǎn)換,而且也會(huì)報(bào)錯(cuò),但與直接打解決方案無(wú)法加載不同的是,這一次它展開(kāi)了網(wǎng)站的所有文件。如果你現(xiàn)在運(yùn)行工程,也不會(huì)成功的。
2.打開(kāi)filename.aspx文件到源代碼視圖,將@Page指令中的屬性“Codebehind”改為“CodeFile”,
3.將與這對(duì)應(yīng)的Codebehind文件filename.aspx.cs,將繼承于System.Web.UI.Page的類(lèi)定義class前加上partial關(guān)鍵字。
4.運(yùn)行該工程,它會(huì)提示你在filename.aspx中已經(jīng)包含controlname的定義,跟蹤錯(cuò)誤到filename.aspx.cs,將那些被指示錯(cuò)誤的重復(fù)定義刪去。
5.然后重復(fù)2-4步直至所有的文件都改過(guò)來(lái),再運(yùn)行工程應(yīng)該就可以運(yùn)行成功了。不過(guò)也許會(huì)報(bào)幾個(gè)警告說(shuō)某某已經(jīng)過(guò)時(shí),不用去管它。
我用VS2003源代碼將那些老頑固(包括2003以及2002的工程)都成功轉(zhuǎn)換了,真的是屢試不爽。這只不過(guò)是我自己總結(jié)出來(lái)的方法,也許有人有更好的辦法,如果有更好的方法也請(qǐng)指點(diǎn)。
本文介紹注入代碼到PE(Portable Executable可移植的執(zhí)行體)文件格式的Import Table(導(dǎo)入表,也有譯為“引入表”)技術(shù),其也被稱(chēng)為API重定向技術(shù)(API redirection technique)。
讓我們想像一下:如果我們可以通過(guò)操作導(dǎo)入表thunks將導(dǎo)入函數(shù)的入口點(diǎn)(thoroughfare)重定向到我們的指定的例程,用我們的例程過(guò)濾導(dǎo)入(消息)就成為可能。
此外,我們可以通過(guò)VS2003源代碼這個(gè)功能實(shí)現(xiàn)安排給我們適當(dāng)?shù)睦?,?zhuān)業(yè)的Portable Executable (PE) Protectors正是這么來(lái)做的,另外一些種類(lèi)的rootkits使用這個(gè)方法通過(guò)一個(gè)特洛伊木馬嵌入其惡意代碼到受害者。在反向工程世界里,我們稱(chēng)之為:API重定向技術(shù),然而我不準(zhǔn)備通過(guò)源代碼描述這個(gè)領(lǐng)域的所有觀點(diǎn),本文只是通過(guò)一個(gè)簡(jiǎn)單代碼介紹一下這個(gè)技術(shù)的概況。我將描述這個(gè)源代碼中沒(méi)有的其他一些問(wèn)題;我不能公開(kāi)這些代碼,原因是其關(guān)系到一些商業(yè)項(xiàng)目或可能會(huì)被懷有惡意者利用,然而我想本文可以被用來(lái)作為一個(gè)關(guān)于該主題的入門(mén)。導(dǎo)入表的導(dǎo)入目錄入口(import directory entry)帶我們來(lái)到文件image內(nèi)部的導(dǎo)入表位置。
對(duì)于每個(gè)被導(dǎo)入的DLL,導(dǎo)入描述符是個(gè)容器,它包含了first thunk的地址和original first thunk的地址,DLL名稱(chēng)的指針。First Thunk引用first thunk的位置,thunks在運(yùn)行該程序時(shí)將會(huì)被Windows的PE loader(裝載器)初始化。Original First Thunk指向thunks***個(gè)存儲(chǔ)處,該存儲(chǔ)處提供Hint 數(shù)據(jù)的地址和每個(gè)函數(shù)的Function Name數(shù)據(jù)。在此情況下,F(xiàn)irst Original Thunk沒(méi)有出現(xiàn);First Thunks引用Hint 數(shù)據(jù)和Function Name 數(shù)據(jù)被定位的位置。用IMAGE_IMPORT_DESCRIPTOR來(lái)表示導(dǎo)入描述符結(jié)構(gòu)如
當(dāng)前題目:其實(shí)對(duì)于VS2003源代碼理解真的不是很難
當(dāng)前網(wǎng)址:http://www.5511xx.com/article/dhoceog.html


咨詢(xún)
建站咨詢(xún)
