青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

玩心未泯

卡爾斯希普拉斯

C++博客 首頁 新隨筆 聯(lián)系 聚合 管理
  19 Posts :: 0 Stories :: 98 Comments :: 0 Trackbacks
       近日接到一個(gè)wince外包項(xiàng)目,要求我給他的軟件提供License控制,本來這個(gè)問題很容易解決,如果有源碼的話,只需要在進(jìn)入主程序之前進(jìn)行l(wèi)icense校驗(yàn)就可以搞定了,然而要命的就是他沒有源代碼,要求我直接對(duì)其exe進(jìn)行加密。
      
       這可是有點(diǎn)難度的,之前我也沒接觸過匯編,更沒有仔細(xì)去研究過PE文件格式,想起來還是覺得很有挑戰(zhàn)的,不過我這人就喜歡挑戰(zhàn),沒有挑戰(zhàn),怎么能促進(jìn)自己學(xué)習(xí)呢?首先從原理上對(duì)這個(gè)實(shí)現(xiàn)進(jìn)行一下分析:
       1)Wince上的可執(zhí)行exe文件,也是遵從PE文件格式的,這個(gè)以前我略有了解,加密解密不知道這個(gè)文件格式肯定是不行的。要實(shí)現(xiàn)對(duì)現(xiàn)有的EXE文件進(jìn)行加密,先進(jìn)行License校驗(yàn),再根據(jù)校驗(yàn)結(jié)果判斷是否轉(zhuǎn)到主程序代碼,從匯編的角度來說,就是我自己要寫一段代碼來完成License校驗(yàn),然后判斷結(jié)果,使用條件跳轉(zhuǎn)指令來控制是否跳轉(zhuǎn)到原來的主程序入口點(diǎn)繼續(xù)執(zhí)行,而我自己寫的這段代碼也就是ShellCode了,病毒、黑客技術(shù)中這個(gè)詞出現(xiàn)的就多了。對(duì)于PE文件而言,就是要把我的ShellCode(包括根據(jù)結(jié)果判斷跳轉(zhuǎn)的部分)加到原來的EXE文件中,并且更改原EXE文件的入口點(diǎn)地址到我的shellcode處。
       2)我自己以前沒接觸過匯編,這下段時(shí)間內(nèi)全部用匯編完成License的校驗(yàn)代碼,顯然是不那么容易的,我選擇了折中的辦法,準(zhǔn)備在我的ShellCode中去加載一個(gè)DLL,而License校驗(yàn)就在DLL中實(shí)現(xiàn)。雖然這種方法很容易被破解,暫時(shí)也只能是采取這個(gè)權(quán)益之計(jì)了。
       3)ShellCode中要使用到一些API函數(shù),因此必須找到一個(gè)辦法,在系統(tǒng)內(nèi)核的地址空間內(nèi)定位到這些API函數(shù)。

       根據(jù)上面的分析,就把主要的任務(wù)分成了三個(gè)部分,第二個(gè)部分對(duì)我來說是最簡(jiǎn)單的了,隨時(shí)都可以完成,因此我把它放在最低優(yōu)先等級(jí),我只寫了一個(gè)空殼dll可以用來加載作測(cè)試。那么接下來我們要做的就是1、3,pe文件格式的資料還是很多的,我想這個(gè)也不困難,而關(guān)于如何在系統(tǒng)地址空間內(nèi)定位API函數(shù)地址的資料,就不那么好找啦,Windows下面的可能還好點(diǎn),WindowsCE下面的我還沒看到過。于是我決定從這里入手,如果這關(guān)過不去,我就不用再做別的事情了。

        經(jīng)過搜索,關(guān)于定位WinCEAPI函數(shù)地址的資料,幾乎都出自一篇Hacking Wince的文章,雖然還有《WinCEAPI機(jī)制初探》等中文文章,其實(shí)都是從Hacking Wince中間轉(zhuǎn)出來的。Hacking WinCE是篇英文的,大家可以在網(wǎng)上搜索了看看,文章寫的還是比較詳細(xì)的,根據(jù)文中的方法,先定位到KDataStruct結(jié)構(gòu),然后再順藤摸瓜往下找,雖然很復(fù)雜,但確實(shí)可以定位到API函數(shù)地址,但是這時(shí)我犯了個(gè)錯(cuò)誤,就是我在這篇文章中只看了一下它的實(shí)現(xiàn)原理,和它的C++語言的實(shí)現(xiàn),沒有去讀它的匯編實(shí)現(xiàn),因?yàn)槲也欢我也照著他的C++語言實(shí)現(xiàn)自己寫了一遍,調(diào)試了一下,基本上了解了是怎么一個(gè)過程,然后我就開始學(xué)習(xí)匯編了,而我犯的錯(cuò)誤就是從這里開始,我到處找來的匯編資料,然后先了解匯編有哪些指令什么什么的~最后照葫蘆畫瓢,寫了一段匯編代碼實(shí)現(xiàn)上面的過程,到頭來要編譯了,才想起來,貌似我用的是8086的匯編,而在WinCE上似乎不是用這個(gè),因?yàn)榇蟛糠值那度胧皆O(shè)備采用ARM處理器,所以一般寫wince上的匯編代碼是用arm匯編的,這個(gè)時(shí)候我才發(fā)現(xiàn)我走錯(cuò)了路,趕緊回頭找了arm匯編的資料,arm匯編的資料也不甚多,一個(gè)chm的文檔而已,看了一下,從寄存器開始都和8086的匯編不一樣了,然后仔細(xì)學(xué)習(xí)了一下。最后好歹還是讓我給寫出了arm匯編的代碼,在我的HP2790(windows Mobile 2003)上運(yùn)行正常,這時(shí)候真的是興奮的不得了了。急忙聯(lián)系給我外包的老大,讓他試試看這段代碼在他設(shè)備上能否成功加載dll,結(jié)果卻是令人遺憾的不可以。

        為何不可以呢,我又回到Hacking Wince上去,我記得當(dāng)時(shí)看到這么一段,但是當(dāng)時(shí)沒有認(rèn)真去研究,KDataStruct的定位方法是不能在User Mode下使用的,因?yàn)橐L問的是系統(tǒng)內(nèi)核的地址空間,在User Mode方式下是禁止訪問的。而作者之所以這么用是因?yàn)镻PC上應(yīng)用程序都是以內(nèi)核模式運(yùn)行的,所以可行。但是老大說他的PPC上也運(yùn)行不了,后來問到他的PPC操作系統(tǒng)是Mobile5的,看來Mobile5的應(yīng)用程序也不再是以內(nèi)核模式運(yùn)行了,我用VS2005打開Mobile5的模擬器試驗(yàn)了一下,從寄存器上看到的果然是用戶模式,而在PPC2003的模擬器上,同樣是用戶模式,看來這方法行不通了。

        好在Hacking Wince上介紹了另外一種方法,就是SystemCall的方法,這個(gè)方法呢原來就是wince系統(tǒng)會(huì)開辟一片地址空間0xf0000000~0xf0010000保留不使用,而當(dāng)執(zhí)行到這個(gè)地址空間的時(shí)候,會(huì)引發(fā)一個(gè)異常,然后系統(tǒng)再根據(jù)這個(gè)異常處理判斷是否引發(fā)一個(gè)API函數(shù)調(diào)用,每一個(gè)API函數(shù)都根據(jù)一定的算法映射到這片地址區(qū)域(詳細(xì)算法請(qǐng)自己閱讀Hacking Wince,我可不想剝奪你學(xué)習(xí)的樂趣,也不想因?yàn)槲业腻e(cuò)誤理解誤導(dǎo)你:P)。這個(gè)方法的好處是比前面所講的搜索的方法更高效,而且用戶模式下也是可用的。于是乎我又用這個(gè)方法實(shí)現(xiàn)了我的ShellCode,然后費(fèi)解的是,我使用的arm匯編指令stmdb,只要后面跟的寄存器寫成{r0-r4}這種形式,在mobile5上運(yùn)行的時(shí)候到這一步就沒反應(yīng)了,實(shí)在是非常的費(fèi)解。不過我想那位老大跟我說的他的設(shè)備是基于Wince.net 4.2 Core的,也就沒在這個(gè)問題上花功夫(實(shí)際上我后來繞過這一步,到了后面的SystemCall調(diào)用的部分,在Mobile5上也出現(xiàn)問題,貌似這個(gè)SystemCall的方法只能在WinCE4.2中使用)。完成了shellcode,但一時(shí)沒能聯(lián)系上給我外包的老大,所以就動(dòng)手做下一步了。

       最后一部就是研究PE文件格式,把我自己的ShellCode“感染”到EXE中間去,這個(gè)涉及到一些病毒技術(shù),我就不多說了,網(wǎng)上這方面的資料也不少。我也輕松實(shí)現(xiàn)了這一步驟。

       而所有的一切在我的PPC2003上運(yùn)行正常之后,終于聯(lián)系上那個(gè)老大,程序發(fā)過去被認(rèn)為是病毒隔離了,預(yù)料之中,可是放到他設(shè)備上還是運(yùn)行不起來,那就是預(yù)料之外了。終于這老大要求的時(shí)間也到了,咱做的東西又沒實(shí)現(xiàn)功能,估計(jì)這老大對(duì)我失望了,不理咱了~唉~~~~

       這次的學(xué)習(xí)過程還是讓我了解了不少東西,雖然這外包最終還是失敗了,但還是不覺得虧,畢竟一周的時(shí)間里,因?yàn)檫@個(gè)外包的壓力,以及求知的興趣,讓我看到了很多之前有時(shí)間卻沒看到的東西。不過整整一周都沒好好陪老婆,老婆大人還是蠻有意見的~~:P
posted on 2007-06-26 11:04 SuperPlayeR 閱讀(2103) 評(píng)論(4)  編輯 收藏 引用 所屬分類: WinCE/Mobile應(yīng)用開發(fā)

評(píng)論

# re: 學(xué)習(xí)Hacking Wince 2007-07-06 14:01 SuperPlayeR
這次的最大收獲是入門了匯編,感覺又增加了不少新的見識(shí)。  回復(fù)  更多評(píng)論
  

# re: 學(xué)習(xí)Hacking Wince 2012-06-03 20:08 cjh
佩服,學(xué)習(xí)能力這么強(qiáng)。看你真是領(lǐng)會(huì)了學(xué)習(xí)的樂趣了  回復(fù)  更多評(píng)論
  

# re: 學(xué)習(xí)Hacking Wince 2012-06-18 11:34 kerlw
自己都忘記自己還曾經(jīng)做過這事了,哈哈哈,老了。  回復(fù)  更多評(píng)論
  

# re: 學(xué)習(xí)Hacking Wince 2013-08-28 21:39 liuhui
嗨,我們有wince系統(tǒng)搭建,有興趣嗎。  回復(fù)  更多評(píng)論
  

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品亚洲综合久久| 欧美高清视频在线| 国产精品主播| 欧美在线不卡| 久久精品中文字幕一区| 亚洲国产精品999| 亚洲美女91| 国产精品―色哟哟| 理论片一区二区在线| 蜜桃久久精品一区二区| 一区二区欧美精品| 亚洲自拍另类| 亚洲国产天堂久久综合网| 亚洲精品国产精品国自产观看| 欧美精品少妇一区二区三区| 亚洲欧美日韩一区二区三区在线观看| 午夜精彩国产免费不卡不顿大片| 国内精品免费午夜毛片| 91久久精品国产91久久| 国产精品一区二区三区免费观看| 老司机免费视频一区二区三区| 欧美经典一区二区三区| 久久爱www| 欧美黄色aaaa| 久久亚洲二区| 欧美视频在线观看| 暖暖成人免费视频| 国产精品久久精品日日| 欧美成人一区二区三区| 国产精品分类| 亚洲国产精品999| 午夜精品99久久免费| 午夜亚洲福利| 在线看日韩欧美| 亚洲一区二区三区四区五区黄| 亚洲东热激情| 性久久久久久久久久久久| 亚洲欧洲精品一区| 久久成人免费网| 亚洲欧美在线磁力| 欧美日本精品| 欧美激情一区二区在线| 国产在线精品一区二区夜色| 99精品视频免费观看视频| 亚洲国产精品悠悠久久琪琪| 香蕉久久久久久久av网站| 亚洲一级影院| 欧美人与禽性xxxxx杂性| 欧美不卡视频一区发布| 国产一区二区三区日韩| 亚洲欧美大片| 亚洲欧美日韩成人高清在线一区| 欧美激情五月| 亚洲缚视频在线观看| 亚洲第一视频网站| 久热精品视频在线| 美日韩免费视频| 精东粉嫩av免费一区二区三区| 午夜精品一区二区三区四区 | 久久久亚洲综合| 久久精品人人做人人爽| 国产女主播一区| 亚洲一区二区视频| 欧美一区二区免费| 国产伦一区二区三区色一情| 亚洲小说区图片区| 性欧美精品高清| 国产精品一卡| 欧美呦呦网站| 麻豆av一区二区三区久久| 精品91在线| 欧美不卡三区| 99视频精品全部免费在线| 亚洲无限av看| 国产午夜精品一区二区三区视频| 亚洲欧美日韩久久精品| 久久综合久久88| 亚洲激情成人网| 欧美三级在线视频| 香蕉成人伊视频在线观看| 久久夜精品va视频免费观看| 一区二区亚洲欧洲国产日韩| 模特精品裸拍一区| 一本大道久久精品懂色aⅴ| 亚洲无吗在线| 激情久久影院| 欧美激情区在线播放| 亚洲天堂久久| 乱中年女人伦av一区二区| 亚洲日本中文| 国产精品免费一区二区三区在线观看| 午夜欧美精品| 亚洲国产精品成人一区二区| 亚洲欧美日韩一区二区三区在线观看| 国产一区二区三区无遮挡| 模特精品裸拍一区| 午夜日本精品| 亚洲国产你懂的| 欧美亚洲一级| 亚洲免费小视频| 亚洲国产精品一区制服丝袜 | 欧美日韩国产区| 午夜精品美女自拍福到在线| 美日韩在线观看| 午夜精彩国产免费不卡不顿大片| 在线观看欧美亚洲| 国产精品护士白丝一区av| 开心色5月久久精品| 中文亚洲免费| 亚洲国产精品高清久久久| 欧美在线国产| 一区二区高清视频| 在线日本高清免费不卡| 国产精品亚洲一区| 欧美日韩亚洲高清一区二区| 久久男女视频| 性做久久久久久久久| 99re6热只有精品免费观看| 久久婷婷激情| 欧美一级视频| 亚洲男女自偷自拍| 日韩一区二区电影网| 伊人狠狠色丁香综合尤物| 国产精品揄拍500视频| 欧美日韩小视频| 欧美黄色视屏| 欧美sm视频| 狼人天天伊人久久| 久久久久久自在自线| 欧美一区1区三区3区公司| 日韩一区二区电影网| 亚洲激情第一区| 亚洲二区视频| 欧美激情精品久久久久久免费印度| 久久se精品一区二区| 午夜精品久久久久久久白皮肤| 日韩午夜电影av| 日韩一区二区精品视频| 亚洲黄页视频免费观看| 亚洲国产婷婷综合在线精品| 极品少妇一区二区三区| 国模精品娜娜一二三区| 国产在线精品成人一区二区三区| 国产亚洲精品综合一区91| 国产午夜精品视频免费不卡69堂| 国产日韩一区二区| 国内视频一区| 在线观看91精品国产麻豆| 亚洲国产欧美不卡在线观看| 亚洲国产成人久久| 亚洲麻豆av| 一区二区三区国产盗摄| 亚洲一区免费网站| 欧美亚洲在线| 久久九九久久九九| 猛干欧美女孩| 亚洲精品中文字| 亚洲一二三级电影| 欧美中文在线观看| 久久综合五月天婷婷伊人| 蜜月aⅴ免费一区二区三区| 欧美精品综合| 国产精品麻豆成人av电影艾秋| 国产区精品在线观看| 在线观看一区二区精品视频| 亚洲人妖在线| 在线亚洲观看| 久久偷窥视频| 亚洲国产精品成人久久综合一区| 日韩一区二区免费看| 亚洲欧美视频在线观看| 久热成人在线视频| 国产精品久线观看视频| 精品91在线| 亚洲欧美精品在线观看| 久久一区中文字幕| 亚洲美女毛片| 在线看片成人| 亚洲精品麻豆| 欧美一级片久久久久久久| 欧美.www| 亚洲天堂第二页| 欧美粗暴jizz性欧美20| 国产精品影视天天线| 亚洲国产精品久久久久婷婷884 | 一区二区高清在线观看| 久久蜜臀精品av| 日韩天堂av| 久久人91精品久久久久久不卡| 欧美四级在线观看| 亚洲国产裸拍裸体视频在线观看乱了中文 | 中文一区字幕| 免费成人毛片| 国产一区二区福利| 亚洲一区二区伦理| 欧美激情精品久久久久久蜜臀| 亚洲欧美日韩电影| 欧美三级乱码| 艳女tv在线观看国产一区| 久久在线免费视频|