<output id="qn6qe"></output>

    1. <output id="qn6qe"><tt id="qn6qe"></tt></output>
    2. <strike id="qn6qe"></strike>

      亚洲 日本 欧洲 欧美 视频,日韩中文字幕有码av,一本一道av中文字幕无码,国产线播放免费人成视频播放,人妻少妇偷人无码视频,日夜啪啪一区二区三区,国产尤物精品自在拍视频首页,久热这里只有精品12

      三年磨一劍之IDACSharp

        自2007年3月開始研究IDA以來,已3年有余!自認為對idc腳本比較熟悉,最大的成果就是重寫老外的vb.idc為vb.c。期間還有其它大大小小的腳本。雖如此,仍感力不從心,idc腳本難以構建中大型應用(vb.c有2100多行)。
        正如2005年我猶豫是否應該選擇Java等高級語言以構建中大型應用,此時也在猶豫是否應該利用C++等高級語言編寫IDA插件。
        老外的一篇關于使用VB和C#編寫IDA插件的文章點醒了我,除了C++,我們還有很多的選擇。那時候開始,我選擇了C#來做IDA插件,直到今天。
        且不論使用C#來做IDA插件是否會成功,這研究的3年里,我得到了非常非常多的東西!

        老外的思路是VB和C#做成COM,然后用C++包裝,Easy,很容易做好一個插件。但是需要暴露IDA的接口給插件使用的時候,才發現那是一個登月工程。并且C#做成的COM,部署和調試都不方便。
        后來向微軟的大牛請教,得知一個新的方法,利用C++加載.Net運行時,從而啟動C#插件。這下子漂亮多了,但是仍然解決不了暴露接口的問題。IDA的接口很多,大多數都是用不上的,其實只要實現了IDC中的幾十個函數即可,于是我開始了登月工程,手工包裝暴露接口,歷時兩年!
        直到上個月,例行工作的時候,一時沖動,把包裝項目改成CLR來編譯,IDA居然還認!?。∵@可是巨大的發現,這意味著:可以直接使用C++/CLI實現IDA插件!
        同時,看到網上更新了IDAPython,忍不住研究一下,看看它是如何實現的。原來它是通過SWIG做的包裝,基本做到自動化。還發現,IDA接口本身就提供了對SWIG的支持。SWIG的資料不多,我想借助它來包裝C#版本的時候,總是失敗。想想算了,三年都過來了,也不在乎這一回,繼續手工包裝。因為是使用C++/CLI,工作量就大大減少了,同時有IDAPython在那里作為參考,找起接口函數來非常方便。
        期間,還有一些小插曲,C++/CLI調用C#沒有問題,C#調用C++/CLI編寫的插件的時候就有問題了。原來C#類庫項目引用C++/CLI項目失敗,因為它的輸出是plw,vs直接阻止。只好改名dll后調用。在使用的時候,還得用上dll的這一份拷貝,并且要放在IDA根目錄才行。

        一些額外的收獲:
      1,C#可以直接操作匯編(是Native Asm,不是IL)。通過委托,可以隨意調用PE里面的任意函數,不管它共有私有,因為這個調用是匯編指令級的。
      2,學習了.Net的核心機制,知道它是怎么工作的。
      3,C#也可以給Native下鉤子,結合第一點,就是愛怎么整就怎么整。
      4,基本上,C++的開源項目,使用CLR編譯后,都有辦法供C#使用。
      5,意志的磨練……

        回到正題!
        這是一個IDA插件,名為IDACSharp,同時又是C#插件管理器,它的作用就是充當IDA和C#的橋梁(雙向)。
        一共四個文件:
      1,IDACSharp.plw是主插件,同時也是包裝器,已經把常用的接口包裝為.Net接口,該文件應該放在Plugins目錄;
      2,IDACSharp.dll跟IDACSharp.plw就是同一個東西,只是后綴不同而已,該文件應該放在IDA根目錄;
      3,CSharpLoader.dll是C#編寫的插件管理器,放在CSharp目錄下,IDACSharp.plw會找到并加載它;
      4,IDATest.dll是C#編寫的插件例子,列出當前IDA數據庫前30個函數,雙擊跳轉到函數所在位置,也是放在CSharp目錄下。

        IDACSharp尚未完工,CSharpLoader的插件管理還沒有做,這塊問題不大,重要的是,所包裝的接口,絕大部分都還沒有測試過,并且還有一些沒有包裝完成,打算在后面逐步完善!


      大石頭
      nnhy(at)vip.qq.com
      QQ群1600800
      2010-05-06 03:19

       

       

      試用地址:

       https://files.cnblogs.com/nnhy/%e5%8f%91%e5%b8%83_20100506032141.rar

      posted @ 2010-05-06 03:32  大石頭  閱讀(1416)  評論(1)    收藏  舉報
      主站蜘蛛池模板: 人成午夜免费大片| 精品少妇av蜜臀av| 亚洲国模精品一区二区| 亚洲 一区二区 在线| 亚洲国产精品色一区二区| 亚洲AV无码秘?蜜桃蘑菇| 国产又爽又黄的精品视频| 日本亚洲一级中文字幕| 亚洲 自拍 另类小说综合图区 | 久久精品无码av| 国产一区二区三中文字幕| 国产免费一区二区不卡| 67194熟妇在线观看线路| 综合色天天久久| 成人3D动漫一区二区三区| 日本道播放一区二区三区| 欧美日本精品一本二本三区| 亚洲国产精品久久久天堂麻豆宅男 | 国产午夜亚洲精品国产成人| 国产精品爽爽久久久久久竹菊| 日本精品网| 亚洲综合无码日韩国产加勒比| 国产成人欧美综合在线影院| 久热色精品在线观看视频| 最新亚洲av日韩av二区| 国产片AV国语在线观看手机版| 国产精品人成视频免费播放| 波多野结衣在线精品视频| 中文字幕日韩一区二区三区不卡| 性无码一区二区三区在线观看| 乱女乱妇熟女熟妇综合网| 精品国产高清中文字幕| 中文字幕有码日韩精品| 亚洲v欧美v日韩v国产v| 国产色无码专区在线观看| 久久青草国产精品一区| 国产成人无码综合亚洲日韩| 91亚洲国产成人精品性色| 最近中文字幕国产精选| 精品人妻中文字幕在线| 中文字幕国产精品第一页|