亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > ASM > 正文

C# inline-asm / 嵌入x86匯編

2019-11-17 02:13:55
字體:
供稿:網(wǎng)友
C# inline-asm / 嵌入x86匯編

C#可不可以嵌入?yún)R編 可以 在我眼中C#作為一個介于中上層語言是不可能不可以

置入?yún)R編代碼的 為什么會被我認(rèn)為中上層語言呢 從C#保留指針就可以看出我知

道有很多人一定不會相信C#可以使用匯編代碼 不過C#會比較麻煩C#不可以直接

內(nèi)聯(lián)匯編(inline-asm)準(zhǔn)確的說C#只可以使用(auto-asm)動態(tài)匯編 這種技術(shù)不是

C#獨(dú)有的 易語言、VB、C++ 三種語言都可以 不過動態(tài)匯編我見過最多的是被應(yīng)

用在外掛方面 及遠(yuǎn)程匯編注入 實(shí)際上是屬于動態(tài)匯編技術(shù)的一種擴(kuò)展不過很難

說JIT在編譯代碼后是通過在遠(yuǎn)程把匯編代碼寫入托管進(jìn)程執(zhí)行的 又或者說是一種

寄生在外殼程序中運(yùn)行的技術(shù)及“內(nèi)存運(yùn)行” 懶得討論這些一想到就頭大。

從上圖中你可以看見一份簡單的x86 / call匯編在C#中內(nèi)嵌并被調(diào)用

執(zhí)行一看你會發(fā)現(xiàn)并不是太難 我的一篇博文 寫了一大堆廢話就是說

這個東西不過是易語言的http://blog.csdn.net/u012395622/article/details/46400569

我們知道軟件運(yùn)行時所有代碼會放在虛擬內(nèi)存中 而可執(zhí)行的代碼在內(nèi)存中

內(nèi)存保護(hù)一般是PAGE_EXECUTE_READ及32不過經(jīng)過我研究.NET上的

可執(zhí)行代碼應(yīng)該是PAGE_EXECUTE_READWIRTE及64 如果是P/invoke

上執(zhí)行DLL中的保護(hù)是32 就可以我們在內(nèi)嵌匯編時不可以使用只讀保護(hù)

如果我們需要使用由.NET去委托去Call那么必須是可讀可寫 如果通過Win32

API去Call那么使用32就可以 有些區(qū)別 、我曾研究過易語言上字節(jié)集在內(nèi)存

中的內(nèi)存保護(hù)到底是多少結(jié)果與C#是一致 4 / PAGE_READWRITE不過為什

么易語言可以CALL而C#不可以CALL一直是讓我感到較為迷惑的事情 可能是

托管堆與非托管堆之間不同造成的 不過我更希望有大神出來幫忙指點(diǎn)一下下。

由于是X86匯編 首先需要把目標(biāo)平臺切換為x86 這樣才不會造成C#調(diào)用匯編

代碼時出錯 一定不要省略這個步驟

首先你需要定義一個有參數(shù)的委托 重點(diǎn)在于在匯編中有這樣一句話

call dWord ptr[ebp+8] // call 參數(shù)一

[csharp]view plaincopy
  1. [UnmanagedFunctionPointer(CallingConvention.Cdecl)]
  2. publicdelegateIntPtrCallMethod(IntPtrptr);

由于是在VC下內(nèi)聯(lián)的匯編 最后移植到C# 一般在VC下函數(shù)的調(diào)用方式是cdcel

何況下面的是按照cdcel導(dǎo)出函數(shù)格式進(jìn)行的 所以不可以使用__stdcall的方式

[csharp]view plaincopy
  1. [STAThread]
  2. staticvoidMain(string[]args)
  3. {
  4. byte[]buf_asm={
  5. //pushebp
  6. //movebp,esp
  7. //subesp,0C0h
  8. //pushebx
  9. //pushesi
  10. //pushedi
  11. //leaedi,[ebp-0C0h]
  12. //movecx,30h
  13. //moveax,0CCCCCCCCh
  14. //repstosdwordptres:[edi]
  15. 85,139,236,129,236,192,0,0,0,83,86,87,141,189,64,
  16. 255,255,255,185,48,0,0,0,184,204,204,204,204,243,171,
  17. //calldwordptr[ebp+8]
  18. 255,85,8,
  19. //popedi
  20. //popesi
  21. //popebx
  22. //movesp,ebp
  23. //popebp
  24. //ret
  25. 95,94,91,139,229,93,195
  26. };
  27. IntPtrptr_asm=SetHandleCount(buf_asm);
  28. VirtualPRotect(ptr_asm,buf_asm.Length);
  29. CallMethodcall_method=Marshal.GetDelegateForFunctionPointer(ptr_asm,typeof(CallMethod))asCallMethod;
  30. call_method(Marshal.GetFunctionPointerForDelegate(newAction(Hello_x86)));
  31. }

首先把你需要嵌入的匯編以字節(jié)數(shù)組的格式寫出來 然后通過

SetHandleCount函數(shù)是用于取地址指針的

[csharp]view plaincopy
  1. staticvoidVirtualProtect(IntPtrptr,intsize)
  2. {
  3. intoutMemProtect;
  4. if(!VirtualProtect(ptr,size,64,outoutMemProtect))
  5. thrownewException("Unabletomodifymemoryprotection.");
  6. }

上面的函數(shù)用于修改內(nèi)存保護(hù) 不過是為了讓委托可以進(jìn)行交互 包括匯編代碼可以被互調(diào)用

[csharp]view plaincopy
  1. staticvoidHello_x86()
  2. {
  3. Console.Title=((newStackFrame()).GetMethod()).Name;
  4. Console.WriteLine("Iwasx86assemblycallatestfunction.");
  5. Console.ReadKey(false);
  6. }

上面的函數(shù)是一個測試函數(shù) 這個函數(shù)沒有太大意義 只是表現(xiàn)利用了匯編調(diào)用

本函數(shù) 然后本函數(shù)輸出一個回應(yīng)的信息 用于提示該函數(shù)被寫入內(nèi)存匯編調(diào)用

依賴的外部函數(shù)

[csharp]view plaincopy
  1. [DllImport("kernel32.dll",CharSet=CharSet.Auto)]
  2. publicstaticexternIntPtrSetHandleCount(byte[]value);
  3. [DllImport("kernel32.dll",SetLastError=true)]
  4. publicstaticexternboolVirtualProtect(IntPtrlpAddress,intdwSize,intflNewProtect,outintlpflOldProtect);

依賴的命名空間

[csharp]view plaincopy
發(fā)表評論 共有條評論
用戶名: 密碼:
驗(yàn)證碼: 匿名發(fā)表

圖片精選

性欧美疯狂猛交69hd| 欧美婷婷久久五月精品三区| 国产喂奶挤奶一区二区三区| 国产美女久久久久| 黄色高清视频网站| 高清视频在线www色| 欧美日本不卡视频| 亚洲 小说区 图片区 都市| 久久国产精品久久w女人spa| 99久久99热久久精品免费看| 中文字幕av片| 都市激情久久综合| 午夜欧美不卡精品aaaaa| 日本高清视频在线观看| 成人亚洲视频在线观看| 任我爽在线视频精品一| 成年网在线观看免费观看网址| 无码一区二区三区| 亚洲国产一区二区三区在线播| 日日噜噜噜夜夜爽爽狠狠视频| 高清一区二区三区视频| 久久精品人人做人人爽| caoliu在线| 色哟哟一区二区三区| 欧美18 19xxx| 中文字幕中文字幕| 可以看av的网址| 丝袜制服一区二区三区| 日韩三级电影| 91久久久一线二线三线品牌| 精品无吗乱吗av国产爱色| 欧美吞精做爰啪啪高潮| 中文字幕一区二区人妻| 国产porn在线| 波多野结衣亚洲一二三| 免费在线观看污| 精品乱人伦小说| 中文字幕免费高清在线观看| 日韩久久久久久| 色94色欧美sute亚洲线路一久| 99精品国产在热久久婷婷| 天天视频天天爽| 成人在线免费小视频| 成人在线观看高清| 国产乱子伦一区二区三区国色天香| 国产欧美日韩精品专区| 久久影院模特热| 在线看片免费人成视久网| 色与欲影视天天看综合网| 天堂一区二区在线| 亚洲伦理精品| a天堂资源在线观看| 色综合久久久| 成人精品在线| 国产成人三级在线观看视频| 久草视频免费在线观看| 亚洲av无一区二区三区久久| 美女国内精品自产拍在线播放| 污污影院在线观看| 亚洲色在线视频| 99免费精品| 人妻熟女一二三区夜夜爱| 日本不卡在线| 农村寡妇一区二区三区| 国产精品一区二区三区在线| 国产精品无码免费专区午夜| 色综合色综合色综合| 精品卡一卡二| 先锋欧美三级| 老司机2019福利精品视频导航| 久久久影院一区二区三区| 国产精品不卡在线观看| 天天影视天天精品| 久久精品无码一区二区日韩av| 少妇高潮流白浆| 国产网友自拍视频| 中文字幕第六页| 黑人巨大猛交丰满少妇| 午夜影院免费| 亚洲欧美日韩第一页| 欧美精品情趣视频| 午夜在线观看免费一区| 欧美日韩在线观看首页| 中文字幕一区二区三区精品| 美腿丝袜亚洲一区| 日韩亚洲成人av在线| 久久亚洲国产成人精品性色| 国产999精品| 久久精品成人欧美大片| 日韩女优制服丝袜电影| 白白色亚洲国产精品| 自由日本语热亚洲人| 国产又粗又猛又色又| 欧美久久久久久| 不卡av免费观看| 免费观看30秒视频久久| 久久久噜噜噜久噜久久| 国产精品久一| 免费一区二区三区视频狠狠| 天天摸天天做天天爽水多| 日本边添边摸边做边爱的第三级| 欧美男男freegayvideosroom| 麻豆精品国产自产在线| 欧美日韩高清在线播放| 欧美高清你懂得| 日本国产在线观看| 久久超碰97人人做人人爱| 亚州视频一区二区三区| 欧美一区二区三区思思人| 欧美永久精品| 啊灬啊灬啊灬啊灬高潮在线看| 99热国产在线观看| 美女福利一区| 天天干天天操天天干天天操| 国产一区91精品张津瑜| 国产婷婷精品av在线| 欧美日韩另类综合| 欧美色图国产精品| 黄色漫画在线免费观看| 日韩电影免费一区| 91超碰在线播放| 欧美一级二级三级乱码| 在线免费日韩片| 男生操女生视频在线观看| 深夜福利一区二区| av免费网站在线观看| 99成人国产精品视频| 久操国产精品| 欧美激情欧美狂野欧美精品| 蜜桃久久精品成人无码av| 国产成人成网站在线播放青青| 中文字幕在线观看视频一区| 丁香天五香天堂综合| 筱崎爱全乳无删减在线观看| 四虎永久在线精品无码视频| 又色又爽又黄无遮挡的免费视频| 九九精品视频在线观看九九| 国产91精品一区二区麻豆亚洲| 亚洲免费在线播放| 亚洲第一天堂无码专区| 国产aⅴ一区二区三区| 中文字幕欧美一区| 制服下的诱惑暮生| 久久精品视频免费在线观看| 免费电影网站在线视频观看福利| 国产一级二级在线| 91精品国产色综合久久ai换脸| 日本在线视频站| 毛片在线视频播放| 成人性生交大片免费看在线播放| 日韩免费中文专区| 国产精品一区二区无码对白| 亚洲综合区在线| 欧美成人国产一区二区| 色老板亚洲精品一区| 高清成人av| 一本大道av一区二区在线播放| 欧美专区亚洲专区| 久久久久久久久久久久久久久99| 国产福利视频导航| 欧美a在线播放| 日本一本a高清免费不卡| 亚洲少妇一区二区三区| 色综合久久精品亚洲国产| 波多野结衣一区二区三区四区| 欧美人妻一区二区| 成人国产网站| 亚洲欧美国内爽妇网| 欧美日韩国产一中文字不卡| 亚洲精品国产久| 欧美成人合集magnet| 亚洲第一精品久久忘忧草社区| 免费观看h电影在线观看| 中文字幕第四页| 日韩av中文字幕在线| 国产91精品黑色丝袜高跟鞋| 激情六月丁香婷婷| 在线视频三级| 一道本在线免费视频| 精品二区视频| 亚洲综合视频在线| 5278欧美一区二区三区| 亚洲第一视频区| 欧美日韩在线一| 超碰中文字幕在线| 国产欧美午夜| 久久精品99久久久久久久久| 在线观看一区二区三区三州| 精品一区二区三区影院在线午夜| 日韩亚洲一区二区| av影院在线播放| 裸体一区二区三区| 国产精品一二三四五| 欧美久久久久久| 国产亚洲女人久久久久毛片| 国产中文字幕在线免费观看| 一区三区二区视频| 91亚洲一区| 国产探花在线视频| 亚洲欧美成人vr| 国产精品福利在线观看网址| 五月婷婷在线播放| 一二三四区在线| 香港三级经典全部种子下载| 外国成人在线视频| 国产精品高颜值在线观看| 亚洲同性gay激情无套| 国产精品伦一区二区| 三级毛片电影网站| 国产精品久久久久久久乖乖| 试看120秒一区二区三区| 97精品一区二区视频在线观看| 亚洲一区二区三区精品在线观看| 五月综合激情| 国产精品av久久久久久麻豆网| 99re热精品| 久久久久99精品成人片我成大片| 国产一区二区三区成人欧美日韩在线观看| ww久久综合久中文字幕| 亚洲国产精品资源| 久久精品aaaaaa毛片| 免费成人美女女在线观看| 亚洲精品美女久久7777777| 国产成人天天5g影院| 免费国产成人看片在线| 超碰人人草人人| av资源在线免费观看| 丝袜美女在线观看| 久久久www免费人成黑人精品| 欧美在线视频观看| 亚洲精品视频区| 日韩成人在线播放| 337p日本欧洲亚洲大胆色噜噜| 91视频在线免费观看| 久久人人看视频| 日本最新在线视频| 免费视频一区二区三区在线观看| 亚洲少妇最新在线视频| 动漫精品视频| 国产精品一色哟哟哟| 四虎影院影音| 欧美成人tv| 91片在线免费观看| 免费久久久一本精品久久区| 欧美大交乱xxxxbbbb| 国产中文字幕在线看| 色偷偷av亚洲男人的天堂| 在线看一区二区| 久久久久久蜜桃一区二区| www中文字幕在线观看| 日韩精品在线视频| 在线激情av| 波多野在线播放| 国产精品视频在线播放| 成人在线视频亚洲| 91午夜精品亚洲一区二区三区| 青青青爽在线视频免费观看| 欧美日韩综合一区二区三区| 国产精品丝袜白浆摸在线| 午夜爱爱毛片xxxx视频免费看| 91久久精品国产91性色| 久久发布国产伦子伦精品| 情趣视频在线观看| 欧美黑人xxxx猛牲大交| 欧美偷拍综合| 中文字幕在线观看免费| 麻豆传媒视频在线观看| 三级影片在线观看| 女同一区二区免费aⅴ| 国产精品久久久久久久久久久久久久久久久久| 国产探花在线视频| 国产午夜福利视频在线观看| 大香伊人中文字幕精品| 国产美女精品视频| 久久亚洲精品国产| 久久久精品国产一区二区三区| 国外成人在线视频网站| 麻豆国产视频| 女人天堂在线视频| 天天操狠狠操夜夜操| 你懂得在线视频| 日韩欧美一区二区三区四区| 偷偷色噜狠狠狠狠的777米奇| 国产欧美一区二区三区不卡高清| 欧美一区久久| 青青草偷拍视频| 女人爱爱视频| 三上悠亚激情av一区二区三区| 91福利精品第一导航| 国产一区二区三区四区大秀| 一级片免费网站| 台湾成人免费视频| a国产在线视频| 精品免费视频一卡2卡三卡4卡不卡| 精品美女久久| 国产精品亚洲天堂| 国产精品456| 国产精品海角社区在线观看| 美女精品自拍一二三四| 中文网丁香综合网| 日本女优爱爱视频| 中文字幕777| 少妇性饥渴无码a区免费| 日日狠狠久久偷偷综合色| 最新一本之道波多野结衣| 91精品国产综合久久久蜜臀图片| 精品亚洲一区二区三区在线观看| 日韩大胆成人| 国产精品久久久久aaaa| 一级做a免费视频| 在线观看视频99| wwww在线观看| av资源网在线播放| 超碰97免费观看| 免费看黄色的网站| 九九热精品在线观看| 欧美又大粗又爽又黄大片视频| 色哟哟网站入口亚洲精品| 美女搡bbb又爽又猛又黄www| 在线国产精品播放| 中文字幕欧美一| 成人在线视频国产| 中文字幕日韩av资源站| 日本三级视频在线播放| 亚洲人在线视频| 欧美在线视频网站| 国产精品二区视频| 高清一区二区三区四区五区|