• <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>

            tqsheng

            go.....
            隨筆 - 366, 文章 - 18, 評(píng)論 - 101, 引用 - 0
            數(shù)據(jù)加載中……

            CXDVA視頻組件

            CXDVA視頻組件

            Posted on 2013年11月19日 Written by Leave a Comment

            CXDVA視頻組件

            前言
            CXDVA視頻播放組件,廣泛應(yīng)用于視頻監(jiān)控、紅外測(cè)溫監(jiān)控、網(wǎng)絡(luò)電視(類似PPTV、PPStream)、視頻聊天、遠(yuǎn)程教育等應(yīng)用中。在電信運(yùn)營商級(jí)應(yīng)用中,性能高效,超強(qiáng)穩(wěn)定,能7*24小時(shí)全天侯連續(xù)工作的。在電力行業(yè)中,365天連續(xù)穩(wěn)定工作,獲得用戶的好評(píng)。

            聲明
            歡迎轉(zhuǎn)載,但請(qǐng)保留文章原始出處:)
            楚雄網(wǎng):http://www.chuhero.com

            正文
            一、功能描述
            1.1 支技RTSP(RTP,SDP),SIP,RTMP,HLS,海康DVR,大華DVR等網(wǎng)絡(luò)協(xié)議在線實(shí)時(shí)播放,
            1.2 支持主流的視音頻格式(mp3/mp4/mkv/avi/3gp/mov/flv等)文件播放:。
            1.3 支持實(shí)時(shí)抓圖、錄像、顯示字幕、添加臺(tái)標(biāo),局部遮擋
            1.4 支持windows 平臺(tái),linux 平臺(tái),android平臺(tái),iOS平臺(tái)
            1.5 二次開發(fā)接口統(tǒng)一,易于使用。

            二、CXDVA視頻組件簡(jiǎn)介

            CXDVA是一個(gè)支持多平臺(tái)視頻組件,支持windows 平臺(tái),linux 平臺(tái),android平臺(tái),iOS平臺(tái),包含更加強(qiáng)大的功能!

            2.1  網(wǎng)址

            官方網(wǎng)址:http://www.chuhero.com

            2.2  成功案例

            國內(nèi):中國電信IPTV ,國家電網(wǎng)在線監(jiān)控等

            2.3   網(wǎng)絡(luò)協(xié)議

            支持以下協(xié)議的音頻和視頻播放:
            * RTSP (RTP, SDP)
            * SIP
            * RTMP
            * HLS
            * HTTP流式傳輸(progressive streaming)
            * 海康DVR專有協(xié)議
            * 大華DVR專有協(xié)議

            2.4   媒體格式

            CXDVA包含了許多常見的音頻和視頻的解碼包,另可根據(jù)需求進(jìn)行定制,這里列出其中的一些常見的:
            * divx/xvid
            * wmv
            * flv
            * ts
            * mkv
            * mov
            * m4v
            * avi
            * mp4
            * 3gp
            * rmvb

             

            2.5 字幕與疊加內(nèi)容

            CXDVA支持顯示一些內(nèi)置或外掛常見字幕格式:
            * SubRip(.srt)
            * SubViewer2.0(.sub)
            * Matroska (.mkv) 字幕軌跡

            還可實(shí)時(shí)疊加跑馬燈效果字幕,臺(tái)標(biāo)或圖片

            2.6 抓圖與錄像
            支持播放時(shí)實(shí)時(shí)抓圖與錄像,同時(shí)也支持無播放畫面后臺(tái)動(dòng)抓與錄像
            抓圖保存格式可為常見的bmp、jpg、png.
            錄像保存格式為mp4,可用windows 平臺(tái),linux 平臺(tái),android平臺(tái),iOS平臺(tái)通用播放器進(jìn)行播放錄像

            2.7 其它
            *多平臺(tái)處理器優(yōu)化,硬件加速
            *可調(diào)圖像長寬比
            *視頻中的人臉的識(shí)別
            * 追蹤視頻中的目標(biāo)移動(dòng)
            *完善的文檔
            *技術(shù)支持與可定制性

            三、下載地址

            chuhero下載

            http://www.chuhero.com/?page_id=21

            四、客戶定制

            可對(duì)文件大小、功能、性能進(jìn)行定制服務(wù) .如有需求,請(qǐng)聯(lián)系www.chuhero.com

             

            結(jié)束

            posted @ 2014-02-07 17:14 tqsheng 閱讀(1740) | 評(píng)論 (0)編輯 收藏

            高仿迅雷播放器

            http://blog.csdn.net/qq316293804/article/details/14162539

            posted @ 2014-01-29 11:54 tqsheng 閱讀(235) | 評(píng)論 (0)編輯 收藏

            rtst

            http://218.204.223.237:8081/wap/show_video.php?vd=1

            eg:

            rtsp://218.204.223.237:554/live/1/0547424F573B085C/gsfp90ef4k0a6iap.sdp

            1.

            rtsp://218.204.223.237:554/live/1/66251FC11353191F/e7ooqwcfbqjoo80j.sdp


            rtsp://211.139.194.251:554/live/2/13E6330A31193128/5iLd2iNl5nQ2s8r8.sdp

            rtsp://180.168.116.75:554/user=admin&password=&channel=1&stream=0.sdp (清晰)

            rtsp://218.204.223.237:554/live/1/6D1E43167B3A7BDA/oby9efo80duh9bjf.sdp

            posted @ 2014-01-22 11:12 tqsheng 閱讀(548) | 評(píng)論 (0)編輯 收藏

            羽毛球

            http://bbs.badmintoncn.com/thread-292531-1-1.html

            posted @ 2014-01-08 13:59 tqsheng 閱讀(237) | 評(píng)論 (0)編輯 收藏

            李嘉誠自述長子遭綁架:綁匪索要20億當(dāng)場(chǎng)獲準(zhǔn)

            李嘉誠自述長子遭綁架:綁匪索要20億當(dāng)場(chǎng)獲準(zhǔn)

            分享

            2013年11月29日 16:58:04查看原網(wǎng)頁178

            【摘要】1996年,李嘉誠的長子李澤鉅被世紀(jì)大盜張子強(qiáng)綁架,對(duì)方開口就要20億,李當(dāng)場(chǎng)同意,但表示“現(xiàn)金只有10億,如果你要,我可以到銀行給你提取”。2013年11月22日,李嘉誠向記者回憶當(dāng)時(shí)的情形時(shí),語氣平靜,就像是在講述一段別人的歷史。

              李嘉誠:孤獨(dú)是他的能量  

              碼頭工潮中工人們把他畫成奸商和魔鬼,李嘉誠還開玩笑:把我的頭畫得還是笑的

              創(chuàng)業(yè)至今六十多年,雖歷經(jīng)多次經(jīng)濟(jì)危機(jī),但沒有一年虧損;自從1999年被福布斯評(píng)為全球華人首富以來,15年間不管風(fēng)云如何變幻始終穩(wěn)居這一寶座。

              這就是李嘉誠。他究竟是怎樣的一個(gè)人?

              創(chuàng)業(yè)至今六十多年,雖歷經(jīng)多次經(jīng)濟(jì)危機(jī),但沒有一年虧損;自從1999年被福布斯評(píng)為全球華人首富以來,15年間不管風(fēng)云如何變幻始終穩(wěn)居這一寶座。

              這就是李嘉誠。

              但此時(shí),他正前所未有地深陷入一場(chǎng)“撤資”風(fēng)波。接連拋售內(nèi)地和香港的一些資產(chǎn),掀起軒然大波,被輿論認(rèn)為是一個(gè)“風(fēng)向標(biāo)事件”。

              2013年11月22日,南方周末記者探秘風(fēng)波的最中心,位于香港中環(huán)的長江集團(tuán)中心,李嘉誠的辦公所在地。

              14:30,門打開,85歲的李嘉誠滿面笑容地走進(jìn)來,步子很快,沒有任何攙扶。他和每一個(gè)人握手,微微彎腰遞上名片,微笑著,認(rèn)真地看著每一個(gè)人,近乎多余地用帶潮州音的普通話自我介紹:“李嘉誠”。

              李嘉誠,究竟是怎樣一個(gè)人?

              成為超人之前的那個(gè)人

              “外人都將他看作超人,而他自己,則始終將自己看成是變成超人之前的那個(gè)人。”

              85歲的李嘉誠,從早年創(chuàng)業(yè)至今,一直保持著兩個(gè)習(xí)慣:一是睡覺之前,一定要看書,非專業(yè)書籍,他會(huì)抓重點(diǎn)看,如果跟公司的專業(yè)有關(guān),就算再難看,他也會(huì)把它看完;二是晚飯之后,一定要看十幾二十分鐘的英文電視,不僅要看,還要跟著大聲說,因?yàn)?#8220;怕落伍”。

              這種勤奮和自律,非一般人能比。

              關(guān)于工作習(xí)慣,最為著名的細(xì)節(jié)是李嘉誠的作息時(shí)間:不論幾點(diǎn)睡覺,一定在清晨5點(diǎn)59分鬧鈴響后起床。隨后,他聽新聞,打一個(gè)半小時(shí)高爾夫,然后去辦公室。

              熟悉李嘉誠的人士表示,他是一個(gè)危機(jī)感很強(qiáng)的人,他每天90%的時(shí)間,都在考慮未來的事情。他總是時(shí)刻在內(nèi)心創(chuàng)造公司的逆境,不停地給自己提問,然后想出解決問題的方式,“等到危機(jī)來的時(shí)候,他就已經(jīng)做好了準(zhǔn)備”。

              一個(gè)被廣為傳播的事實(shí)是,2008年,金融危機(jī)爆發(fā),而在這之前,李嘉誠已經(jīng)準(zhǔn)確預(yù)見,并早已做好了準(zhǔn)備,等到危機(jī)來臨時(shí),集團(tuán)不但安然無恙,還從中獲得了擴(kuò)張的機(jī)會(huì)。

              作為一個(gè)商人,李嘉誠對(duì)數(shù)字尤其敏感。

              從20歲起,李嘉誠便熱衷于閱讀其他公司的年報(bào)。除了尋找投資機(jī)會(huì),也從中學(xué)習(xí)其他公司會(huì)計(jì)處理方法的優(yōu)點(diǎn)和漏弊,以及公司資源的分布。他自稱可以對(duì)集團(tuán)內(nèi)任何一間公司近年發(fā)展的數(shù)據(jù),準(zhǔn)確地說出其中的百分之九十以上:“看一看便能牢記,是因?yàn)槲彝度搿?#8221;

              對(duì)于信息的重要性,李嘉誠常常一再強(qiáng)調(diào)。雖已85歲高齡,但他對(duì)新技術(shù)的了解,并不遜于年輕人。在李的辦公室,左手邊擺著兩臺(tái)電腦,實(shí)時(shí)顯示旗下公司的股價(jià)變動(dòng)。而在側(cè)面辦公桌上,則擺著他的蘋果筆記本,這是他日常工作所用的。

               每天早晨,李嘉誠都能在辦公桌上收到一份當(dāng)日的全球新聞列表。據(jù)一位跟隨他十余年的人士透露,這份新聞列表并非摘要,而是一個(gè)又一個(gè)的新聞標(biāo)題,多來自 《華爾街日?qǐng)?bào)》、《經(jīng)濟(jì)學(xué)人》、《金融時(shí)報(bào)》等全球知名媒體。李會(huì)先瀏覽,然后選擇其中想看的文章,讓人翻譯出來細(xì)讀。

              李嘉誠的這個(gè)習(xí)慣堅(jiān)持了十余年,并因此而專門設(shè)立了一個(gè)四人小組,負(fù)責(zé)這項(xiàng)工作。而他之所以看標(biāo)題,不看摘要,是不想被別人誤導(dǎo)。

              據(jù)另一位員工透露,以前,李嘉誠看新聞喜歡紙質(zhì)版,iPad出來之后,他就只看電子版了。李現(xiàn)在用的是iPhone手機(jī)。

              這些習(xí)慣,讓李嘉誠始終站在資訊的最前沿,也讓這個(gè)老人投資了一系列高科技公司。

              李嘉誠旗下的維港投資,最近這兩年,投資了六十多家科技公司,其中不乏很多明星項(xiàng)目,例如Facebook、Skype、Siri、Waze、Spotify、Summly等等,而這個(gè)團(tuán)隊(duì)總共不過8個(gè)人。

              “他并不是一個(gè)生活在象牙塔中的人,相反,他對(duì)潮流的把握遠(yuǎn)超很多年輕人。”一位下屬透露。李嘉誠旗下公司無數(shù),連很多下屬都數(shù)不清,直接向他匯報(bào)的,就有200人左右。每個(gè)月,李都會(huì)跟海外管理層進(jìn)行會(huì)議,每年會(huì)“出外巡檢”三四次。

              李的多位下屬向南方周末記者透露,李嘉誠非常善于問問題,遇到一個(gè)新事物,他總是會(huì)想,這和我、和我的公司有什么關(guān)系?他總是會(huì)將自己的問題交給專業(yè)的人去尋找答案。

              比如,在Facebook等社交媒體開始火起來的時(shí)候,李嘉誠曾經(jīng)問過旗下公關(guān)團(tuán)隊(duì)一個(gè)問題:怎么看待其和平面媒體以及網(wǎng)上媒體對(duì)集團(tuán)公關(guān)的影響?

              為了回答李嘉誠的這個(gè)問題,公關(guān)團(tuán)隊(duì)專門召開最高會(huì)議進(jìn)行討論,形成專題報(bào)告向李匯報(bào)。有趣的是,最后這個(gè)團(tuán)隊(duì)甚至開發(fā)了一款軟件,專門用以評(píng)價(jià)不同渠道的公關(guān)效果。

              “如果李先生是個(gè)停滯的人,就不可能有今日之成就。”李嘉誠的一位下屬感嘆,“外人都將他看成超人,而他自己,則始終將自己看著是變成超人之前的那個(gè)人”。

              與自己相處

              他幾乎從不生氣,見到所有人,都是一副標(biāo)準(zhǔn)的笑臉。

              熟悉李嘉誠的人,也常說他們看不懂他。他幾乎從不生氣,見到所有人,都是一副標(biāo)準(zhǔn)的笑臉。

              “他真的沒有生氣過嗎?他會(huì)因?yàn)槭裁词虑槎y過?他發(fā)過火嗎?”面對(duì)這一連串問題,幾位跟了李嘉誠十年以上的下屬一臉迷茫,想了很久,他們實(shí)在回憶不起是否有過這樣的場(chǎng)景。

              當(dāng)你問起李嘉誠強(qiáng)勢(shì)的一面時(shí),其中一位跟了李二十余年的高層反問:強(qiáng)勢(shì)怎么定義?

              在她這么多年的印象中,李決斷非常之快,但并不是個(gè)咄咄逼人的人,他很會(huì)傾聽下屬的意見,“如果你是對(duì)的,他會(huì)聽你的,而不是堅(jiān)持他的”。

              在生活中,李嘉誠時(shí)常表現(xiàn)出單純快樂的一面。走在香港的大街上,李就變成了一個(gè)念舊好玩的老頭,總是和身邊的人說,這里原來是啥樣的。

              李嘉誠還每周為兒孫們親任導(dǎo)師,自己準(zhǔn)備課程、案例,據(jù)一位接近李的下屬透露,3年來,他給孫輩們上的課,既有道德討論,也有文化批評(píng)、世界經(jīng)濟(jì)。孫子、孫女年紀(jì)都很小,要演繹生動(dòng),難度很高,但李卻樂此不疲。

              為了告訴兒孫們風(fēng)險(xiǎn)是怎么回事,李嘉誠甚至還專門花了8000美元,去印出了四張AIG股票。他把這張股票裱起來,標(biāo)注了這個(gè)世界上最大的保險(xiǎn)公司在金融危機(jī)中破產(chǎn)的故事,并且寫上“以此為鑒,可惕未來”。有趣的是,這時(shí)候他的孫兒們還不過幾歲。

              另一位跟了李十幾年的下屬透露,李嘉誠喜歡看電影,而且,看電影時(shí),他的“代入感”很強(qiáng),每次都會(huì)選擇一個(gè)自己喜歡的角色,然后隨著劇情起伏,“過他們的生活”。

              在這位下屬看來,李嘉誠其實(shí)是個(gè)感情很豐富的人,但他與眾不同之處在于,他很懂得控制自己的情感。

              1996年,李嘉誠的長子李澤鉅被世紀(jì)大盜張子強(qiáng)綁架,對(duì)方單槍匹馬到李家中,開口就要20億,李當(dāng)場(chǎng)同意,但表示“現(xiàn)金只有10億,如果你要,我可以到銀行給你提取”。

              李的鎮(zhèn)靜,連張子強(qiáng)都很意外,張問他:你為何這么冷靜?

              李回答道:因?yàn)檫@次是我錯(cuò)了,我們?cè)谙愀壑冗@么高,但是一點(diǎn)防備都沒有,比如我去打球,早上五點(diǎn)多自己開車去新界,在路上,幾部車就可以把我圍下來,而我竟然一點(diǎn)防備都沒有,我要仔細(xì)檢討一下。

              李嘉誠告訴南方周末記者,當(dāng)時(shí)他勸告張子強(qiáng):你拿了這么多錢,下輩子也夠花了,趁現(xiàn)在遠(yuǎn)走高飛,洗心革面,做個(gè)好人;如果再弄錯(cuò)的時(shí)候,就沒有人可以再幫到你了。

              有趣的是,據(jù)李嘉誠透露,后來張子強(qiáng)又打來電話,李說,你搞什么鬼,怎么還有電話?張子強(qiáng)在電話中說,李生,我自己好賭,錢輸光了,你教教我,還有什么是可以保險(xiǎn)投資的?

              李嘉誠答道:我只能教你做好人,但你要我做什么,我不會(huì)了。你只有一條大路,遠(yuǎn)走高飛,不然,你的下場(chǎng)將是很可悲的。

              2013年11月22日,李嘉誠向南方周末記者回憶當(dāng)時(shí)的情形時(shí),語氣平靜,就像是在講述一段別人的歷史。其中的驚險(xiǎn)和錐心之痛,似乎全都煙消云散。

              李嘉誠將這種冷靜歸于他喜歡看書,“我喜歡看書,什么書都看,這對(duì)我都有用,今天有用,明天也有用。所以,很多大事來的時(shí)候,我也能解決”。

              而一位跟了李十幾年的下屬則將這種冷靜歸結(jié)到他少年的成長經(jīng)歷上。

              李嘉誠出身于書香門第,爺爺是清朝最后一科秀才,兩位伯父在民國初年,還曾跨海留洋取得日本東京帝國大學(xué)博士學(xué)位。而李的父親,則是小學(xué)校長。但因?yàn)槎?zhàn)爆發(fā),故鄉(xiāng)潮州被日本侵襲,李和家人逃難到香港。

              沒想到,1941年日本攻占香港,母親只好帶著弟妹回老家。更沒想到,貧困抑郁的父親染上肺結(jié)核,半年之后就去世了。14歲的李,獨(dú)自面對(duì)父親的死亡與埋葬,“一夕長大”。

              更禍不單行的是,年少的李嘉誠也染上了肺結(jié)核。

              “這是我一生中最艱難的時(shí)刻。”李嘉誠回憶說,“我告訴自己不能死,身為大兒子,為了母親和弟妹,為了前途,一定要做好自己的工作。”

              沒有錢去看病,李嘉誠便只能用自己發(fā)明的方法對(duì)付肺病,清晨到山頂呼吸新鮮空氣,李替廚師寫家信,以交換魚汁與魚雜湯,強(qiáng)迫自己喝下這平日最討厭的食物,只因知道這些湯有營養(yǎng)價(jià)值……

              一位采訪過李嘉誠的記者寫道:李嘉誠的心胸之大——收購和記黃埔此等之事一直秘不外宣,甚至自己的老婆也不知道,一切都自己心算——是撐出來的:?jiǎn)矢浮B(yǎng)家、肺病、貧窮……當(dāng)一個(gè)人在自己15歲左右經(jīng)歷這一切挑戰(zhàn)而沒有被打垮,他就沒有什么是不能承受的了。

              孤獨(dú)是他最自然的常態(tài)

              “他會(huì)不斷自己拋問題、自己回答。”

              雖為華人首富,但李嘉誠卻過著清教徒般的生活。

              “他11歲就逃出來,一路上都是一個(gè)人在奮斗,他老和我們講自己縫衣服,到現(xiàn)在依然如此。”一位下屬告訴南方周末記者,李的襪子都是不能見人的,因?yàn)樗约嚎p補(bǔ)了好多次。

              李鼻梁上的黑框眼鏡,打從1972年長江實(shí)業(yè)上市記者會(huì)開始,就再也沒有變過。手上的手表,也總是同一塊,直到最近在一次旅行中看到一款西鐵城的太陽能手表,他非常喜歡,才很大方地跟售貨員說:“你不用給我打折啦。”這款手表的售價(jià)是3000港幣。

              鏡頭前,李總是藍(lán)黑色西裝套裝搭配白襯衫,而領(lǐng)帶永遠(yuǎn)是藍(lán)白色系,李樂于向別人展示他穿了數(shù)十年的西裝皮鞋勝于向別人展示他成功的生意。

              李的辦公室,像他的打扮一樣簡(jiǎn)單,除了一望無際的維多利亞港海景。

              偌大的辦公桌上,只有一沓很小的便箋紙,兩支筆,一副放大鏡,李每周在這里工作五天半。

              辦公桌的對(duì)面,是黑色的沙發(fā)和茶幾。沒有靠墊,沒有煙灰缸,也沒有潮州人最喜歡的功夫茶具,只是孤零零地?cái)[著一個(gè)裝飾盒。

              李辦公室最惹眼的,是清代儒將左宗棠題于江蘇無錫梅園的詩句:“發(fā)上等愿,結(jié)中等緣,享下等福;擇高處立,尋平處住,向?qū)捥幮小?#8221;

              這24個(gè)字,凝聚著深刻的人生哲理,而李嘉誠則將其視為自己的人生信條。

              “孤獨(dú)感是他最好的朋友,也是他最自然的常態(tài)。”那位熟知李嘉誠經(jīng)歷的高層如此評(píng)價(jià)道。在她看來,經(jīng)歷過少年磨難的李嘉誠,早已習(xí)慣了孤獨(dú)的感覺。

              回憶早年的苦學(xué)生涯,李說,“別人是自學(xué),我是‘搶學(xué)問’,搶時(shí)間自學(xué)。一本舊《辭海》,一本老師版的教科書,自己自修。”

              這是一個(gè)孤獨(dú)之旅,命運(yùn)剝奪他的,李要靠自己搶回來。沒有學(xué)歷、人脈、資金,想出人頭地,自學(xué)是他唯一武器。

              李嘉誠自律驚人,除了《三國志》與《水滸傳》,他不看小說,不看“沒有用”的書。撿起教科書,李時(shí)而扮演學(xué)生,時(shí)而扮演老師,摸索教學(xué)和出題的邏輯,尋找每個(gè)篇章的關(guān)鍵詞句,模擬師生對(duì)話,自問自答。

              “孤獨(dú)是他的能量,也是他的朋友。獨(dú)處時(shí),他腦海會(huì)開始做思想的掙扎,會(huì)不斷自己拋問題、自己回答。”李的一位友人說,“他現(xiàn)在的習(xí)慣,就是來自于此。”

              在創(chuàng)辦長江塑料廠時(shí),李又開始訂閱英文《當(dāng)代塑料》及其他西方專門的塑料雜志。與此同時(shí),李開始將部分資金投資華爾街上市公司股票,李從不按直覺投資,而是仔細(xì)研讀公司財(cái)報(bào),研究商業(yè)規(guī)則。華爾街財(cái)報(bào)是李的英文老師、商業(yè)教練,也是李的私人投資獲利來源。

              在這位友人看來,經(jīng)過幾十年的磨煉,李嘉誠早已學(xué)會(huì)了和孤獨(dú)相處,所以,登上人生的高峰之后,少有高處不勝寒之感。

               而李的豁達(dá)和樂觀,也皆來自于此。李的這位友人給南方周末記者舉了個(gè)例子,2013年3月份,香港國際貨柜碼頭發(fā)生罷工事件,工人們?cè)陂L實(shí)門前扎起帳 篷,拉起橫幅抗議,李嘉誠的照片被畫上魔鬼的紅色雙角和白色獠牙,額頭上還被寫上了“奸商”兩字。因?yàn)橐獜拈T口進(jìn)出,李嘉誠看到也非常不高興,但幾個(gè)小時(shí) 之后,他就開解了,李和他們開玩笑說,哇,這個(gè)上面,把我的頭畫得還是笑的。

              “工潮的沖擊大,還是逃難到香港的沖擊大呢?”這位友人反問,在她看來,早年的經(jīng)歷,早已讓李嘉誠練就了百折不撓的心態(tài),“他找到了平衡內(nèi)心的秘訣”。

              在李嘉誠的辦公桌上,有兩塊小玻璃,上面是李自己寫的兩段話,一段是:求百事之榮,不如免一事之辱;邀千人之歡,不如釋一人之怨。而另一段則是:春有百花秋有月,夏有涼風(fēng)冬有雪;若無閑事掛心頭,便是人間好時(shí)節(jié)。

              建立在尊重之上的商業(yè)帝國

              早在很多年前,李就已經(jīng)不管具體業(yè)務(wù),他的時(shí)間和精力,基本花在“定坐標(biāo)”上。

              相比他內(nèi)心的隱秘世界,普通人更感興趣的是他的財(cái)富帝國。

              一個(gè)地產(chǎn)商告訴南方周末記者,李最讓人敬佩的,不是他在香港的成功,而是他在世界上的成功。同為商人的他感慨,在香港這個(gè)彈丸之地,成功商人很多,但一旦走上國際化道路,許多人就因不適應(yīng)而鎩羽而歸。

              但李嘉誠不同,自上世紀(jì)80年代開始,李就一步一步走向世界,且屢戰(zhàn)屢勝,幾乎從無敗績。

              而今,李嘉誠的商業(yè)版圖遍布全球52個(gè)國家,從事的產(chǎn)業(yè),橫跨通信、基建、港口、石油、零售等多個(gè)領(lǐng)域。集團(tuán)員工超過26萬人。而員工中,中國人只是少數(shù),大多都是英國人、美國人、加拿大人……他是如何做到的?

              “build on respect(建立在尊重之上)”。李嘉誠身邊一位高管脫口而出。

              在李嘉誠身邊的高管們看來,尊重所有人,是李嘉誠公司的核心文化,也是這么多年其能夠馳騁全球的秘訣所在。“每個(gè)人都有很多選擇,為什么要跟著你?你給我很多錢,但需要犧牲我的尊嚴(yán),我不會(huì)跟著你;但如果你因?yàn)槲矣心芰Γ鹬匚遥o我空間和舞臺(tái),我一定會(huì)跟著你。”

              一個(gè)可以佐證的事實(shí)是,在李嘉誠旗下公司,員工的離職率通常都非常低,多數(shù)員工都是跟著李打拼了數(shù)年的,這里當(dāng)然也包括很多老外,“他們能留下來,更是因?yàn)槿绱?被尊重)。”

              在接受南方周末記者的采訪中,李嘉誠時(shí)時(shí)處處都表現(xiàn)出這一點(diǎn)。李認(rèn)真地傾聽每一個(gè)人的問題,生怕沒有回答清楚,約好了用普通話采訪,李就一直用普通話,雖然潮州話對(duì)他來說更自如。李會(huì)照顧每一個(gè)人的感受,聽問題時(shí),專注如小學(xué)生;回答時(shí),一定會(huì)看著對(duì)方。

              李給每個(gè)人都發(fā)了一張名片,但輪到攝影師時(shí),名片派完了。讓人意外的是,采訪進(jìn)行到一半,李突然向遠(yuǎn)處的助手要了一張,補(bǔ)給了攝影師。他的舉動(dòng)是如此自然。

               李嘉誠不希望別人稱呼他為老板,他更愿意以“領(lǐng)袖”要求自己。“一般而言,做老板簡(jiǎn)單得多,你的權(quán)力主要來自你的地位,這可能是上天的緣分或憑著你的努 力和專業(yè)的知識(shí)。做領(lǐng)袖就比較復(fù)雜,你的力量源自人性的魅力和號(hào)召力。”在一次接受訪問時(shí),李曾這樣自我解答:“做一個(gè)成功的管理者,態(tài)度與能力一樣重 要。領(lǐng)袖領(lǐng)導(dǎo)眾人,促動(dòng)別人自覺甘心賣力;老板只懂支配眾人,讓別人感到渺小。”

              據(jù)高管們透露,早在很多年前,李就已經(jīng)不管具體業(yè)務(wù),他的時(shí)間和精力,基本花在“定坐標(biāo)”上。

              比如說,負(fù)債率。李嘉誠對(duì)這一指標(biāo)的控制,近乎偏執(zhí),他經(jīng)常說的一句話是:“旱時(shí),要備船以待澇;澇時(shí),要備車以待旱。一家公司即使有盈利,也可以破產(chǎn),一家公司的現(xiàn)金流是正數(shù)的話,便不容易倒閉。”

              李嘉誠告訴南方周末記者,長實(shí)2013年的負(fù)債比例是4%,和黃是21%,位于加拿大的Husky,負(fù)債比例只有12%。李對(duì)此深以為豪,“我從1950年開始做生意,對(duì)負(fù)債和貸款問題,我一直非常小心處理,雖然經(jīng)歷過不少風(fēng)風(fēng)雨雨,但也一路走了過來。”

              工廠是最好的課堂

              “現(xiàn)在很多人只知道李先生是富豪,卻忘記了他是做工廠出身的”。一位跟了李嘉誠十幾年的下屬告訴南方周末記者,這是解讀李嘉誠的另一個(gè)密碼。

              與重視定坐標(biāo)一樣,李嘉誠對(duì)細(xì)節(jié)也很重視。

              李嘉誠基金會(huì)負(fù)責(zé)具體項(xiàng)目的羅慧芳女士告訴南方周末記者,他們做的一個(gè)醫(yī)療方面的項(xiàng)目,李對(duì)每一個(gè)數(shù)據(jù)都很清楚。他甚至也會(huì)自己打電話去抽查,有一次,其中的一位患者接到一個(gè)香港打來的電話,對(duì)方開口就說“我是李嘉誠”,把他嚇了一跳。

              “現(xiàn)在很多人只知道李先生是富豪,卻忘記了他是做工廠出身的。”一位跟了李嘉誠十幾年的下屬告訴南方周末記者,這是解讀李嘉誠的另一個(gè)密碼。

              “做工廠的人,對(duì)細(xì)節(jié)要求非常嚴(yán)格,李嘉誠開始做表帶,后來做塑料花,這都需要對(duì)細(xì)節(jié)的把握。”據(jù)這位高層透露,即便到現(xiàn)在,李依然有著工廠情懷,他看到一個(gè)杯子,就拿起來研究說,這個(gè)可以怎么做怎么做。

              對(duì)李嘉誠來說,早期的工廠經(jīng)歷,是他最好的課堂。對(duì)做一個(gè)塑料花,原料怎么來的,怎么出口,怎么辦手續(xù),他了如指掌,而其對(duì)世界經(jīng)濟(jì)形勢(shì)的認(rèn)識(shí),最早也來自這里。

              而從某種程度上而言,李做生意的原則,也形成于此時(shí)。

              據(jù)李嘉誠的這位友人透露,早年,李嘉誠的英文并不好,但是塑料花又是出口的,如何用那么蹩腳的英文去說服別人,對(duì)李嘉誠是個(gè)很大的挑戰(zhàn)。最終,他想出了一條最有說服力的理由——貨真價(jià)實(shí),“我的成本加25%,就是我的價(jià)格,而且,我永遠(yuǎn)是這個(gè)價(jià)錢。”

              “李嘉誠就這么找到了一個(gè)詞典,就這么應(yīng)付世界了。”這位友人說,李的這種原則,幾乎貫穿始終——做人也是一樣。

               和李嘉誠同時(shí)代的商人中,不少人栽在了最難處理的政商關(guān)系上,但李卻從未因此而煩惱。“他對(duì)官員的態(tài)度也是始終如一,無論遇到什么事,別人都知道,李嘉 誠會(huì)怎么反應(yīng),所以,也不會(huì)為難他。”這位友人分析,李做人非常有原則,這讓他在政界也贏得了不少人的尊重。在處理政商關(guān)系上,李曾給自己定了九字箴言: 講真話、做實(shí)事、有貢獻(xiàn)。

              “政治和經(jīng)濟(jì),根本上是手和腳的關(guān)系,假如兩者背道而馳,是很難處理的。”李嘉誠坦言,如果政治找上門來,躲也是躲不掉,他的原則是“不參與政治,但關(guān)心政治”。

              李嘉誠不喜好交際,在一些朋友看來,他很悶,有時(shí)還有點(diǎn)不合時(shí)宜。這位友人給南方周末記者舉了個(gè)例子,一次,一個(gè)官員在李嘉誠面前夸耀他們投了多少錢搞環(huán)保,李突然來一句,“不浪費(fèi)就是最大的環(huán)保”,差點(diǎn)沒把人噎死。

              另一個(gè)細(xì)節(jié)是,在2012年的特首選舉中,李嘉誠支持的是梁的對(duì)手唐英年,選舉結(jié)束后,有人勸他與梁重歸于好,他回道:“我們本來就沒有怨,何來的和好?”

              “李嘉誠是有點(diǎn)不好玩,但是有一點(diǎn),所有人都很喜歡他,那就是他的真心。”一位友人說。李嘉誠自己也經(jīng)常說,他在全世界各地都有生意,但每次做完生意之后,都會(huì)和客戶變成朋友,有的更成為知己和事業(yè)的重要伙伴。有時(shí)候,“李嘉誠”三個(gè)字就是金字招牌。

              內(nèi)心的富貴才是真富貴

              為彌補(bǔ)自己少年失學(xué)的痛和父親因病去世的無奈,李嘉誠將基金會(huì)捐獻(xiàn)的方向主要放在兩方面:教育和醫(yī)療。

              “我對(duì)賺錢的重視程度不及捐錢。”2013年11月22日,李嘉誠如此告訴南方周末記者。

              這是這位華人首富的另外一面。

               1980年起,李嘉誠決定設(shè)立個(gè)人基金會(huì),希望“在我離開這個(gè)世界后做的事,一定要比我在世時(shí)做的只多不少”。而在更早些時(shí)候,他們就已經(jīng)捐獻(xiàn)巨資。 2007年5月,《時(shí)代》雜志公布全球最有影響力的兩位人士,其中“最有影響力的慈善家”一項(xiàng),李嘉誠名列其中,與比爾-蓋茨齊名。

              然 而,外界很少知道的是,李嘉誠做出這一決定,也經(jīng)歷了一個(gè)曲折的心路歷程。金錢,也曾經(jīng)對(duì)李充滿誘惑。因?yàn)槔钅慷酶赣H從受人尊敬的小學(xué)校長,落魄到一名寄 人籬下的職員。李經(jīng)歷過沒錢就沒有尊嚴(yán)、沒有家、無法讀書的困境。所以,在創(chuàng)業(yè)成功之后,李也曾享受過金錢帶來的快樂。

              據(jù)媒體公開報(bào) 道,1956年,28歲的李嘉誠已躋身百萬富豪之列。那時(shí)候的李,體會(huì)到物質(zhì)享受的樂趣,西裝來自裁縫名家之手,手戴百達(dá)翡麗高級(jí)腕表,開名車,甚至擁有 游艇。李也開始嘗試上流社會(huì)的玩意,玩新型萊卡相機(jī),并在香港列提頓道半山腰買了面積近200平方米的新宅,將母親接來同住。

              但是,就在搬進(jìn)新家的那天晚上,李嘉誠徹夜難眠,第一次認(rèn)真審視財(cái)富,“財(cái)富能令一個(gè)人內(nèi)心擁有安全感,但超過某個(gè)程度,安全感的需要就不那么強(qiáng)烈了。”李嘉誠后來回憶說。

              至少在半年的時(shí)間里,李嘉誠一直郁郁寡歡,晚飯后,常一個(gè)人駕車到西環(huán)半山上的寶珊道發(fā)呆。李說,直到有一天,自己突然想明白了,可以通過幫助別人,賦予財(cái)富新的意義,李突然領(lǐng)悟到:“內(nèi)心的富貴才是真富貴”。

              也就是從那時(shí)開始,李嘉誠開始不斷捐獻(xiàn),直至1980年,李已經(jīng)52歲,成立了李嘉誠基金會(huì)。

              為彌補(bǔ)自己少年失學(xué)的痛和父親因病去世的無奈,李將基金會(huì)捐獻(xiàn)的方向主要放在兩方面:教育和醫(yī)療。

              首先,李在故鄉(xiāng)成立一所大學(xué)——汕頭大學(xué)。辦學(xué)是個(gè)無底洞,李此舉曾引來一些朋友的擔(dān)憂,但李志氣堅(jiān)定,少年失學(xué)的痛,轉(zhuǎn)化成他對(duì)汕大的濃郁情感。李說,雖然他沒有大學(xué)學(xué)歷,卻能創(chuàng)造一所大學(xué)。“就算汕頭大學(xué)一夕之間被摧毀,我也會(huì)把它重建起來!”

              而今,這片昔日的農(nóng)田上,已經(jīng)培養(yǎng)出了大批碩士和博士,一些人已經(jīng)進(jìn)入社會(huì)工作,采訪中談及這一話題,李嘉誠的自豪之情溢于言表。

              現(xiàn)在,李逢人便稱,基金會(huì)是他的“第三個(gè)兒子”,然而,外界同樣很少知道的是,這一稱呼得來同樣不易。

              據(jù)李嘉誠透露,2003年的某個(gè)夜晚,為基金會(huì)的未來,他再次徹夜難眠。因?yàn)樗諠u體會(huì)到自己年事已高,但又不希望基金會(huì)停止運(yùn)作,而基金會(huì)無止境地運(yùn)作,就需要投入大筆大筆錢,他擔(dān)心,這是否剝奪了原本該屬于子孫的財(cái)富權(quán)利?

              彼時(shí),李嘉誠也被家族財(cái)產(chǎn)的傳承所困擾。一端是自己的親骨肉,一端是自己的夢(mèng)想,到底該如何取舍?

              突然,李領(lǐng)悟出一個(gè)道理:“我現(xiàn)在有兩個(gè)兒子,如果我不是(有)兩個(gè)兒子,而是三個(gè)兒子,我是不是也要給第三個(gè)兒子一份財(cái)產(chǎn)?”只要將基金會(huì)視為第三個(gè)兒子,財(cái)產(chǎn)分三分之一給基金會(huì),就理所當(dāng)然。

              心念一轉(zhuǎn),豁然開朗。李嘉誠后來在接受采訪時(shí)透露,這個(gè)思想上的自我突破,讓他開心了很多天。“那種安慰、愉快的感覺,實(shí)在用筆墨難以形容!”

               事實(shí)上,李嘉誠做慈善,很多時(shí)候,也是基于自己的親身經(jīng)歷。李曾開啟了一個(gè)針對(duì)癌癥病人的臨終關(guān)懷項(xiàng)目,起因是,他去探望一個(gè)罹患腫瘤的富豪朋友,這位 朋友看到他非常高興,雙手拉著他要他坐在床邊,后來朋友睡著了,拉著他的手也沒有放開,“我心里想,這個(gè)朋友很富有,但因?yàn)槟[瘤而痛楚不已。內(nèi)地貧窮的癌 癥病人沒錢治療,生活怎樣過?于是立即想到開展寧養(yǎng)服務(wù)”。

              李說,他不喜歡“臨終關(guān)懷”這個(gè)詞,所以改為了“寧養(yǎng)服務(wù)”。

              李嘉誠基金會(huì)高級(jí)項(xiàng)目經(jīng)理羅慧芳女士告訴南方周末記者,李對(duì)這個(gè)項(xiàng)目很上心,甚至還專門就市面上有哪些新藥和他們進(jìn)行過討論。據(jù)她透露,寧養(yǎng)計(jì)劃至今已經(jīng)做了十多年,在內(nèi)地以及香港已經(jīng)有了42家寧養(yǎng)院。

              對(duì)于另外一個(gè)支持兒童疝氣手術(shù)的項(xiàng)目,羅慧芳女士告訴南方周末記者,她在一個(gè)下午四點(diǎn)多時(shí)給李嘉誠看了一組患病兒童的照片,李當(dāng)即表示支持在那個(gè)省份開展這一項(xiàng)目。一個(gè)小時(shí)后,李又跟羅說,擴(kuò)展到旁邊兩個(gè)省份吧。

              在過去的幾年中,李嘉誠一直在期待他的言行能夠激起更廣泛的響應(yīng),將慈善業(yè)從個(gè)人的道德完善,轉(zhuǎn)變成促進(jìn)社會(huì)進(jìn)步的力量。

              2013年11月19日,在位于西安的大石頭村,李嘉誠為其基金會(huì)下屬的“展璞”計(jì)劃二期揭牌,李跟省市領(lǐng)導(dǎo)以及村民座談,幾乎每個(gè)人發(fā)言時(shí)都要稱贊一番李嘉誠的善舉,對(duì)他的到來表示熱烈歡迎,每一次,李都雙手抱拳,站起來,然后彎腰,連聲說,“謝謝”。

              面對(duì)冗長的發(fā)言,李嘉誠坐在北方微涼的硬靠椅上,始終面帶微笑。座談進(jìn)行到一半,有好心的工作人員拿進(jìn)來一個(gè)坐墊,但被他拒絕了。

               “展璞”這個(gè)致力于培訓(xùn)內(nèi)地女村官的項(xiàng)目,此前已經(jīng)在廣東、廣西等地取得了一些效果。人群中,從廣西專程趕來的潘德英欣喜不已,這位來自桂林大寨村的民 選女村官,在李嘉誠基金會(huì)的資助下,于2010年到廣西大學(xué)接受培訓(xùn),回去后,就向當(dāng)?shù)貗D聯(lián)提出,能否給村里的婦女們培訓(xùn)一下婦科保健知識(shí)。“以前談起 這,臉都紅;上了課之后,覺得沒什么,也想幫鄉(xiāng)親們一把。”而今,潘解釋這些,沒有絲毫忸怩。

              潘德英自信,充滿陽光,自認(rèn)為沒有什么做不到的。她還從基金會(huì)中爭(zhēng)取了2萬的種子鼓勵(lì)基金,拿回去修建村里的演藝樓。這個(gè)方案也得到了地方政府的支持,獲得了額外32萬元的資助。而今,演藝樓已經(jīng)開業(yè),成為鄉(xiāng)親們的另一個(gè)創(chuàng)收去處。(來源:南方周末)

            posted @ 2013-12-16 10:08 tqsheng 閱讀(208) | 評(píng)論 (0)編輯 收藏

            ppm圖像格式 bmp

            ppm圖像格式
            2010-07-29 22:19
            ppm是一種簡(jiǎn)單的圖像格式,僅包含格式、圖像寬高、bit數(shù)等信息和圖像數(shù)據(jù)。 
            圖像數(shù)據(jù)的保存格式可以用ASCII碼,也可用二進(jìn)制,下面只說說一種ppm格式中比較簡(jiǎn)單的一種:24位彩色、二進(jìn)制保存的圖像。
            文件頭+rgb數(shù)據(jù):
            P6\n
            width height\n
            255\n
            rgbrgb...
            其中P6表示ppm的這種格式;\n表示換行符;width和height表示圖像的寬高,用空格隔開;255表示每個(gè)顏色分量的最大值;rgb數(shù)據(jù)從上到下,從左到右排放。

            讀取ppm圖像:
            // read ppm image, rgb data store in *data
            void read_ppm(char* filename, unsigned char** data, int* w, int* h)
            {
            char header[20];
            FILE* pFile;

            pFile = fopen(filename, "rb");
            fgets(header, 20, pFile);// get "P6"
            fgets(header, 20, pFile);// get "width height"
            sscanf(header,"%d %d\n", w, h);

            *data = (unsigned char*) malloc((*w)*(*h)*3);

            // get "255"
            fgets(header, 20, pFile);

            // get rgb data
            fread(*data, (*w)*(*h)*3, 1, pFile);

            fclose(pFile);
            }

            寫ppm圖像文件:
            // giving rgb data and image width and height, write a ppm image, 
            void write_ppm(char* filename, unsigned char* data, int w, int h)
            {
            FILE* pFile;
            char header[20];

            pFile = fopen(filename, "wb");

            // write "P6"
            fwrite("P6\n", 3, 1, pFile);

            // write "width height"
            sprintf(header, "%d %d\n", w, h);
            fwrite(header, strlen(header), 1, pFile);

            // writeh "255"
            fwrite("255\n", 4, 1, pFile);

            // write rgb data
            fwrite(data, w*h*3, 1, pFile);

            fclose(pFile);
            }

            //清理ppm數(shù)據(jù)
            // free ppm rgb data
            void free_ppmdata(unsigned char** data)
            {
            free(*data);
            *data = NULL;
            }

            使用舉例:
            int main(int argc, char* argv[])
            {
            unsigned char* data;
            int w, h;

            read_ppm("C:\\test.ppm", &data, &w, &h);
            printf("ppm size: %dx%d\n", w, h);

            write_ppm("C:\\test2.ppm", data, dw, dh);

            free_ppmdata(&data);

            printf("main() finished......\n");
            return 0;
            }
            可以驗(yàn)證test2.ppm跟test.ppm是完全一致的,可以用看圖軟件打開。

            posted @ 2013-11-28 17:27 tqsheng 閱讀(748) | 評(píng)論 (0)編輯 收藏

            PPM、PGM、PBM三種都是圖像文件格式

            PPM、PGM、PBM三種都是圖像文件格式:
            • PPM->Portable PixMap 支持真彩色圖形,可以讀上面所有格式,輸出PPM圖形
            • PGM->Portable GreyMap 支持灰度圖形,能夠讀PBM圖形和PGM圖形,輸出PGM圖形
            • PBM->Portable BitMap 支持單色圖(1個(gè)像素位)

            三種文件格式結(jié)構(gòu)相同,都非常簡(jiǎn)單,沒有壓縮。由表頭和圖像數(shù)據(jù)兩部分組成。表頭數(shù)據(jù)各項(xiàng)之間用空格(空格鍵、制表鍵、回車鍵或換行鍵)隔開,表頭由四部分組成:
            ① 文件描述子:指明文件的類型以及圖像數(shù)據(jù)的存儲(chǔ)方式;
            ② 圖像寬度;
            ③ 圖像高度;
            ④ 最大灰度值或顏色值.


            其中圖像寬度、高度和最大值這三項(xiàng)是ASCII碼十進(jìn)制數(shù). 注意,PBM格式的表頭中最大值隱含為1.
            表頭的下面是圖像數(shù)據(jù)區(qū),描述了”寬度×高度”個(gè)像素.圖像數(shù)據(jù)有兩種存儲(chǔ)格式:ASCII和RAWBITS,在文件描述子中指定
            各圖像數(shù)據(jù)之間可用空格隔開.規(guī)定每行不超過70個(gè)字符.圖像數(shù)據(jù)內(nèi)容是:
            ① PBM文件的圖像數(shù)據(jù)是0和1二值數(shù)據(jù),1代表黑色,0代表白色.
            ② PGM文件包括的是灰度級(jí)數(shù)據(jù),0值代表黑色,最大值代表白色.
            ③ PPM文件包括的顏色數(shù)據(jù),0值代表無此顏色,最大值代表顏色為最大.
            文件描述子類型編碼
            P1位圖ASCII
            P2灰度圖ASCII
            P3像素圖ASCII
            P4位圖二進(jìn)制
            P5灰度圖二進(jìn)制
            P6像素圖二進(jìn)制

            PPM文件格式
            包括兩個(gè)部分,頭部分和圖象數(shù)據(jù)部分。第一行是P3或P6,說明是PPM 格式;第二行是圖象的寬度和高度,用ASCII來表示;最后一部分是描述像素的最大顏色組成,這里允許描述超過一個(gè)字節(jié)(0-255)的顏色值。另外可以 在上面三個(gè)部分的后面用#來追加注釋,注釋行是從#到該行末。
            下面是PPM頭的例子:
            例子1:P6 1024 778 255
            例子2:P61024 778255
            例子3:P6#PPM文件格式1024 778#寬度和高度# 注釋255
            PPM圖象數(shù)據(jù)的格式依賴于PPM自身的表示,如果是P3格式,數(shù)據(jù)將以ASCII文本來表示,每個(gè)像素的值從0到前面的最大值,每行不應(yīng)該長于70個(gè)字 符,如例子4:P3# example from the man page4 4150 0 0 0 0 0 0 0 0 15 0 150 0 0 0 15 7 0 0 0 0 0 00 0 0 0 0 0 0 15 7 0 0 015 0 15 0 0 0 0 0 0 0 0 0
            如果是P6格式,圖象數(shù)據(jù)以字節(jié)格式存儲(chǔ),每個(gè)色彩成分(r,g,b)一個(gè)字節(jié)。僅僅在頭部的最后一個(gè)字段的前面才能有注釋,在頭部的最后一個(gè)字段后面通常是一個(gè)回車或換行。P6圖象文件比P3文件小,讀起來更快。注意,P6文件僅僅用作單字節(jié)彩色。
            通常的習(xí)慣,圖象從上到下,從左到右被存儲(chǔ)。每個(gè)像素以一個(gè)字節(jié)來存儲(chǔ),0表示黑色,255表示白色。色彩成分按照通常的紅-綠-藍(lán)順序來存儲(chǔ)。
            PGM文件格式
            該格式文件存儲(chǔ)灰度圖形,也就是這里每個(gè)像素使用一個(gè)值來表示而不是3個(gè)(R,G,B)。同PPM唯一不同的是頭部用P2和P5,分別表示用ASCII和 字節(jié)碼來表示數(shù)據(jù)。例如:P224 7150 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 3 3 3 3 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 15 15 15 00 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 15 00 3 3 3 0 0 0 7 7 7 0 0 0 11 11 11 0 0 0 15 15 15 15 00 3 0 0 0 0 0 7 0 0 0 0 0 11 0 0 0 0 0 15 0 0 0 00 3 0 0 0 0 0 7 7 7 7 0 0 11 11 11 11 0 0 15 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
            PBM文件格式
            使用ASCII的0或1方式來表示數(shù)據(jù),0表示白色,1表示黑色。與PPM、PGM不同的頭部是少了第三行,因?yàn)榈谌械淖畲笊手翟谶@個(gè)模式下已經(jīng)沒有 意義了。舉例如下:P1# PBM example24 70 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 00 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 1 1 1 00 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 1 00 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 0 0 0 1 1 1 1 00 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 0 0 0 00 1 0 0 0 0 0 1 1 1 1 0 0 1 1 1 1 0 0 1 0 0 0 00 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0

            posted @ 2013-11-28 17:25 tqsheng 閱讀(5514) | 評(píng)論 (0)編輯 收藏

            PPM灰度文件

            PPM灰度文件:

            文件頭由3行文本組成,可由fgets讀出

            1)第一行為“P2",表示文件類型

            2)第二行為圖像的寬度和高度

            3)第三行為最大的象素值255
            接下來是圖像數(shù)據(jù)塊。按行順序存儲(chǔ)。每個(gè)象素占4個(gè)字節(jié),灰度通道為4字節(jié)ASCII碼表示的整數(shù),高字節(jié)在前。左上角為坐標(biāo)原點(diǎn)。

             

            16位PPM文件:(至少適用于讀取由DCRAW生成的PPM文件)

            文件頭由3行文本組成,可由fgets讀出

            1)第一行為“P6",表示文件類型

            2)第二行為圖像的寬度和高度

            3)第三行為最大的象素值

            接下來是圖像數(shù)據(jù)塊。按行順序存儲(chǔ)。每個(gè)象素占6個(gè)字節(jié),依次為紅綠藍(lán)通道,每個(gè)通道為2字節(jié)整數(shù),高字節(jié)在前。

            PPM彩色文件:

            文件頭由3行文本組成,可由fgets讀出

            1)第一行為“P3",表示文件類型

            2)第二行為圖像的寬度和高度

            3)第三行為最大的象素值255

            接下來是圖像數(shù)據(jù)塊。按行順序存儲(chǔ)。每個(gè)象素占12個(gè)字節(jié),依次為紅綠藍(lán)通道,每個(gè)通道為4字節(jié)ASCII碼表示的整數(shù),高字節(jié)在前。左上角為坐標(biāo)原點(diǎn)。

            posted @ 2013-11-28 17:18 tqsheng 閱讀(246) | 評(píng)論 (0)編輯 收藏

            DNS

            168.95.1.1
            198.153.194.1

            posted @ 2013-11-01 20:34 tqsheng 閱讀(256) | 評(píng)論 (0)編輯 收藏

            http://www.tuan800.com/deal/hongshanqu_8958771

            http://www.tuan800.com/deal/hongshanqu_8958771

            posted @ 2013-10-24 09:49 tqsheng 閱讀(197) | 評(píng)論 (0)編輯 收藏

            gnc.com

            http://www.gnc.com/product/index.jsp?productId=18194986&cp=3593187.2108295

            posted @ 2013-10-01 15:39 tqsheng 閱讀(136) | 評(píng)論 (0)編輯 收藏

            Payoneer

            http://baike.baidu.com/view/6589187.htm
            http://www.51paypal.com/payoneer/ask.htm

            posted @ 2013-05-12 21:17 tqsheng 閱讀(166) | 評(píng)論 (0)編輯 收藏

            HostBig簡(jiǎn)介

            hostbig info

            首先hostbig給我的印象是主打便宜,的確比hostso都還便宜,當(dāng)我進(jìn)入到官網(wǎng)的時(shí)候,我發(fā)現(xiàn)出來名字和空間大小,其他的界面和各種信息都是和hostso一樣。

            官網(wǎng):

            http://hostbig.com/

             

            Hostbig配置

            這里介紹最便宜的一款,也就是1刀一月的那個(gè),Excite型號(hào)。

            • 1、空間,流量都沒有限制.
            • 2、可以停靠域名5個(gè),不能夠添加其他的域名,注冊(cè)的時(shí)候也不提供免費(fèi)二級(jí)域名.
            • 3、可以創(chuàng)建50個(gè)二級(jí)域名,10個(gè)MySQL Databases,100個(gè)郵箱賬號(hào),無數(shù)個(gè)FTP賬號(hào).

            完全就是加強(qiáng)版的Hostso,一個(gè)朋友買了一個(gè),我看了一下機(jī)房和Hostso一樣都是美國 佛羅里達(dá)州奧蘭多HostDime IDC。

            posted @ 2013-03-19 22:55 tqsheng 閱讀(252) | 評(píng)論 (0)編輯 收藏

            民謠

            姚東林,一個(gè)來自新疆的原創(chuàng)型民謠歌手,在深圳做了多年街頭歌手。參加過大大小小的各類比賽與演出。在百度里就可以查到他的許多資料。 
            我們店的客服角豆子(李志的粉絲)在聽李志專輯里那首《思念觀世音》時(shí)
            發(fā)現(xiàn)作詞作曲者也叫“姚東林”就開玩笑的跟我說:“姚哥的名字還挺大眾話
            的嘛,跟人家作詞作曲者一個(gè)名兒!”后來我告訴他,《思念觀世音》就是我
            們姚哥寫的。角豆子聽完那個(gè)激動(dòng)勁啊!人家姚哥睡在隔壁那么久他到今天才知道他的偶像都翻唱姚哥的歌。。。二話不說,當(dāng)天晚上就嚷著要跟姚哥拍合照。。。
             
            阿諾,實(shí)力偶像派歌手。
            帶中副沒鏡片兒黑框眼鏡,高中生模樣,卻擁有成熟男人那種充滿滄桑的嗓音。
            幽默搞怪是他的風(fēng)格(偶爾也會(huì)深情演繹最近的原創(chuàng)情歌)。
            把他最近寫的新歌發(fā)給大家看哈。。。
               
            《光棍》
            我是一個(gè)光棍走在束河的路上
            看到許多許多漂亮的姑娘
            她們悠閑地曬著束河的陽光
            眼中藏著莫名的憂傷
            我看見一個(gè)老頭抱著一個(gè)姑娘
            不知道他是她老爸還是她老爺
            后來看見那姑娘親那老頭的嘴
            原來他們是一對(duì)兒啊 
            為什么現(xiàn)在的姑娘都喜歡老頭
            像我這樣年青的帥小伙卻看不上
            原來是因?yàn)槲覜]有房子也沒有車
            我他媽的什么都沒有 
            我是一個(gè)快樂的光棍
            我是一個(gè)寂寞的光棍
            我是一個(gè)自由的光棍
            我是一個(gè)無聊的光棍
            我是一個(gè)光棍走在麗江的路上
            看到一群漂亮的姑娘喊我?guī)浉?/div>
            心花怒放一直往前沖
            掏完錢后才知道她們是一群婊子
            曾今有一個(gè)姑娘她愛上我
            她說她有錢有房還有車
            沒過多久她媽的拋棄了我
            原來她一直一直在玩我
            我是一個(gè)快樂的光棍
            我是一個(gè)寂寞的光棍
            我是一個(gè)自由的光棍
            我是一個(gè)無聊的光棍
             
            梁渡,親和力極強(qiáng)的帥哥級(jí)歌手。
            不唱歌的時(shí)候常常面帶笑容,靦腆而溫柔;唱歌的時(shí)候更是讓人心動(dòng)。
            那把心愛的吉他上掛著歌迷贈(zèng)送給他的“平安”更是透露著這個(gè)男人的感性與可愛。
            比起那些只能買他專輯聽的朋友,我更有幸能在束河“完美生活”里遇見他。還有資深但卻很低調(diào)的姚哥和搞怪的阿諾。 

            posted @ 2013-03-13 09:25 tqsheng 閱讀(289) | 評(píng)論 (0)編輯 收藏

            rku逆向分析


            這個(gè)驅(qū)動(dòng)本來準(zhǔn)備端午節(jié)搞的,但后來端午節(jié)去了躺北京玩了幾天,也就擱置了...最近連續(xù)花了4個(gè)晚上,大致把它搞的差不多了,有些收獲...初學(xué)window驅(qū)動(dòng),水平很菜,有些東西我也未必清明,加上3環(huán)的代碼還沒有吃透,期間也沒有用調(diào)試器跟蹤,全是IDA(F5)靜態(tài)分析的,謬誤在所難免,高手請(qǐng)飄過,希望對(duì)菜鳥學(xué)習(xí)有點(diǎn)幫助.

            1.SSDT檢測(cè)

            這個(gè)功能有三個(gè)IoControlCode與之對(duì)應(yīng),他們分別是22000fh(拷貝KeServiceDescriptorTable);220007h(拷貝KeServiceDescriptorTable->ServiceTable);22000bh(恢復(fù)一個(gè)ssdt hook),這個(gè)功能目前還不具備檢測(cè)和恢復(fù)inline hook的功能

            2.Shadow SSDT檢測(cè)

            這個(gè)功能實(shí)現(xiàn)和SSDT差不多,都是從KeSystemServiceDescriptorTableShadow入手,不過3環(huán)需要為每個(gè)平臺(tái)配置一張函數(shù)名表(ssdt可以不配置函數(shù)名表,可以從ntdll.dll中收集),詳細(xì)文章可以參見zhuwg兄弟寫的<<shadow ssdt學(xué)習(xí)筆記>>一文

            3.進(jìn)程

            3.1 進(jìn)程檢測(cè)

            IoControlCode是22001Bh,在檢測(cè)之前會(huì)設(shè)置檢測(cè)方式,然后根據(jù)檢測(cè)方式進(jìn)行檢測(cè).這個(gè)功能主要由irp_mj_device_control_dispatch_function函數(shù)的is_22001Bh_list_process分支完成,這里集成了4種檢測(cè)方法,大致如下:

            3.1.1 基于PspCidTalbe的檢測(cè),這里rku對(duì)句柄表做了解析,對(duì)每個(gè)Object判定是不是EPROCESS,是則插入到輸出列表(icesword也有這中檢測(cè),不過在1.22中沒有解析句柄表,而是用ExEnumHandleTable搞定這些) 詳細(xì)代碼見list_process_in_2k_by_handle_table/list_process_in_not_2k_by_handle_table函數(shù)
            3.2.1 基于KiWaitListHead/KiWaitOutListHead的檢測(cè),這個(gè)檢測(cè)方法很簡(jiǎn)單,關(guān)鍵是KiWaitListHead/KiWaitOutListHead兩個(gè)鏈表的獲取, 詳細(xì)代碼見list_process_by_list_head函數(shù)
            3.3.1 如果是xp系統(tǒng)則還會(huì)采用*淫**蕩*的內(nèi)存暴力搜索進(jìn)程進(jìn)行檢測(cè),這段代碼看debugman的yykingking發(fā)過, 詳細(xì)代碼在list_process_by_search_memory_in_xp函數(shù)
            3.4.1 rku還會(huì)inline hook SwapContext函數(shù),在這個(gè)函數(shù)里會(huì)記錄當(dāng)前的活動(dòng)進(jìn)程情況,經(jīng)過上面三種方法的洗禮后,對(duì)在SwapContext的記錄里的,但不在輸出列表里的繼續(xù)加入,當(dāng)然是有判定條件的(條件就是EPROCESS不能在ntoskrnl模塊內(nèi),即不為idle進(jìn)程). BTW:這里有個(gè)邏輯我覺得有問題:

            .text:000134A7 loc_134A7: ; CODE XREF: irp_mj_device_control_dispatch_function+233j
            .text:000134A7 3B 05 34 4E 01 00 cmp eax, g_nCurrentProcessCount
            .text:000134AD 7D 5A jge short loc_13509
            這個(gè)檢測(cè)方法的代碼就在loc_134A7開始位置

            上面獲取的只是EPROCESS,要獲取進(jìn)程路徑信息,還需要IoControlCode(220047h)的代碼, 詳細(xì)功能代碼在get_image_path_by_eprocess函數(shù)里,在這個(gè)函數(shù)里,我們可以看到rku先走peb獲取進(jìn)程全路徑,然后對(duì)非2k系統(tǒng)再走一次我們更為熟悉的SectionObject獲取路徑

            3.2 殺進(jìn)程 rku提供了兩種殺進(jìn)程的方法

            3.2.1 IoControlCode(22001Fh) ZwOpenProcess/ZwTerminateProcess/ZwClose殺進(jìn)程 這種殺法比較的弱
            3.2.2 ioControlCode(22004fh) 內(nèi)存清0殺進(jìn)程 具體代碼是kill_process_by_fill_zero函數(shù),這個(gè)代碼看debugman的yykingking也發(fā)過

            3.3 Dump All Process Memory

            IoControlCode是22008bh, 沒什么可說的, 詳細(xì)代碼在dump_all_process_memory函數(shù)

            3.4 Dump Seleted

            這個(gè)就是拷貝主程序的內(nèi)存鏡象, IoControlCode是220083h, 先獲取文件大小(對(duì)xp及其以上系統(tǒng),通過EPROCESS->SectionObject->segmentObject->SizeOfSegment獲取主程序內(nèi)存鏡象大小,對(duì)2k系統(tǒng),由于手頭缺乏資料,那段代碼什么意思不知道,詳細(xì)代碼在get_main_file_size_by_eprocess函數(shù)), 然后輸出緩沖區(qū)足夠大就進(jìn)入dump_selected函數(shù)拷貝內(nèi)存

            4.內(nèi)核模塊和Stealth Code檢測(cè)

            IoControlCode是0x220023h,在檢測(cè)之前也會(huì)設(shè)置檢測(cè)方式,然后根據(jù)檢測(cè)方式進(jìn)行檢測(cè).這個(gè)功能主要由list_kernel_module函數(shù)完成,這個(gè)函數(shù)里面集成了很多檢測(cè)方法,很多方法都比較*淫**蕩*,大致的檢測(cè)方法有: 

            4.1 用IoDriverObjectType指向的OBJECT_TYPE.TypeList鏈表檢測(cè),遍歷這個(gè)鏈表中的每一項(xiàng),并會(huì)取每個(gè)DriverObject上的DeviceObject,并向上掃描這個(gè)設(shè)備所在的設(shè)備棧(注意這里沒有向下掃描),嘗試發(fā)現(xiàn)其它的DriverObject 詳細(xì)代碼見list_module_by_IoDriverObjectType函數(shù)
            4.2 用IoDeviceObjectType指向的OBJECT_TYPE.TypeList鏈表檢測(cè),遍歷這個(gè)鏈表中的每一個(gè)設(shè)備,并也會(huì)向上掃描這個(gè)設(shè)備所在的設(shè)備棧(注意這里沒有向下掃描),嘗試發(fā)現(xiàn)其它的DriverObject 詳細(xì)代碼見list_module_by_IoDeviceObjectType
            4.3 用目錄對(duì)象樹(ZwOpenDirectoryObject("http://"))檢測(cè),遍歷這棵樹,對(duì)葉子節(jié)點(diǎn)(具體對(duì)象)看其OBJECT_HEADER.Type字段是否指向IoDriverObjectType/IoDeviceObjectType,如果是的話,則會(huì)采用4.1/4.2相似的措施;對(duì)目錄對(duì)象子樹則遞歸處理之(內(nèi)核堆棧空間太小,遞歸搞始終給人一種不安全感,看SnipeSword里面處理注冊(cè)表部分也大量遞歸,比較汗) 詳細(xì)代碼見list_module_by_OpenDirectoryObject函數(shù)
            4.4 用DriverSection(PsLoadedModuleList鏈表)檢測(cè),這個(gè)方法大家都比較熟悉, 詳細(xì)代碼見list_module_by_DriverSection函數(shù)

            經(jīng)過上面4個(gè)方法,DriverObject就獲取完畢了,他們對(duì)應(yīng)的都是有詳細(xì)信息的內(nèi)核模塊(這項(xiàng)檢測(cè)初步給人的感覺是比icesword可靠些,icesword則是先嘗試恢復(fù)NtQuerySystemInformation,設(shè)置KernelMode,然后調(diào)用NtQuerySystemInformation獲取內(nèi)核模塊信息),下面的檢測(cè)主要是對(duì)一些零星的能執(zhí)行代碼的內(nèi)存塊進(jìn)行檢測(cè)(Stealth Code)

            4.5 用上面幾種方法已經(jīng)找到了一些DriverObject,這里就對(duì)這些DriverObject下手,檢測(cè)這些DriverObject的DriverStartIo/MajorFunction是否被hook,如果被hook且新地址不在我們已經(jīng)找到的模塊里,則說明是那種分內(nèi)存,寫代碼似的hook,記錄這塊內(nèi)存信息 詳細(xì)代碼見list_module_by_DriverStartIo_and_MajorFunction函數(shù)
            4.6 暴力搜索內(nèi)存, 找到PE頭部,并判定OptionalHeader.Subsystem是否是Native 詳細(xì)代碼見list_module_by_scan_memory函數(shù)
            4.7 利用句柄表檢測(cè),這個(gè)的具體原理我未能理解, 詳細(xì)代碼在list_module_use_suspicious_thread_by_handle_table_in_not_2k/list_module_use_suspicious_thread_by_handle_table_in_2k這兩個(gè)函數(shù),感覺跟內(nèi)核模塊檢測(cè)無關(guān)......知道的請(qǐng)說一聲
            4.8 rku會(huì)inline hook三個(gè)調(diào)用頻度很高的函數(shù)(ExAllocatePool/ExAllocatePoolWithTag/KeDelayExecutionThread),在這三個(gè)函數(shù)里會(huì)記錄它們的返回地址,并利用這些地址來檢測(cè)一些模塊,如果返回地址不在某具體模塊范界則會(huì)記錄其內(nèi)存信息 詳細(xì)代碼見list_module_by_return_address函數(shù)
            4.9 檢測(cè)KiSystemService/KiFastCallEntry是否在某具體模塊范界,如果不在也記錄其內(nèi)存信息

            到這里檢測(cè)就完成了,上面的檢測(cè)方法太多,有些檢測(cè)獲取的信息不足,rku會(huì)進(jìn)行一些額外的修正處理,這些代碼都在list_kernel_module的結(jié)尾部分,詳細(xì)請(qǐng)參見源碼,我都做了一些注釋

            5.File檢測(cè)

            由于目前一直在用IDA反,并沒有使用調(diào)試器,主程序目前還只反了一點(diǎn),這個(gè)部分具體做什么的,我不太清楚,不過在驅(qū)動(dòng)里看到一個(gè)IoControlCode(2200A7)是在做扇區(qū)級(jí)別的操作......

            6.Code Hooks檢測(cè)

            在驅(qū)動(dòng)里并沒有看到分析code hooks的代碼, 只看到一些拷貝內(nèi)存到3環(huán)的功能函數(shù),把一些系統(tǒng)關(guān)鍵手工load展開后,進(jìn)行內(nèi)存對(duì)照比較就可以搞定這個(gè)了,當(dāng)然這個(gè)里面還具備KiSystemService/KiFastCallEntry hook的檢測(cè)和恢復(fù)代碼,詳細(xì)可以看IDB文件

            7.rku的進(jìn)程保護(hù)

            7.1 ssdt上的保護(hù),在ssdt上對(duì)三個(gè)函數(shù)(NtOpenProcess, NtOpenThread, NtDuplicateObject)進(jìn)行了inline hook
            NtOpenProcess 防止打開rku進(jìn)程
            NtOpenThread 防止打開rku的線程
            NtDuplicateObject 防止復(fù)制rku進(jìn)程的句柄

            7.2 shadow ssdt上的保護(hù),在shadow上對(duì)四個(gè)函數(shù)(NtUserQueryWindow, NtUserFindWindowEx, NtUserWindowFromPoint, NtUserNotifyIMEStatus)進(jìn)行了inline hook,防止其它程序通過FindWindow,WindowFromPoint等函數(shù)來枚舉rku的窗口,你可以看到spy++對(duì)rku已經(jīng)失效

            8.逆向這個(gè)的過程中,參考了網(wǎng)上很多大牛的文章,
            IceSword&Rootkit Unhooker驅(qū)動(dòng)簡(jiǎn)析
            zhuwg <<shadow ssdt學(xué)習(xí)筆記>>
            prince 翻譯的<<偵測(cè)隱藏進(jìn)程的強(qiáng)文>>
            yykingking 發(fā)在debugman上的兩個(gè)代碼片段
            還有些文章,無法一一列舉,再次一并表示感謝

            大致就是這樣了.
            linxer 2008-06-19 于哈爾濱
             

            rku逆向分析 膜拜XueTr的linxer大牛

            分類: 筆記 轉(zhuǎn)載 1221人閱讀 評(píng)論(0) 收藏 舉報(bào)
            這個(gè)驅(qū)動(dòng)本來準(zhǔn)備端午節(jié)搞的,但后來端午節(jié)去了躺北京玩了幾天,也就擱置了...最近連續(xù)花了4個(gè)晚上,大致把它搞的差不多了,有些收獲...初學(xué)window驅(qū)動(dòng),水平很菜,有些東西我也未必清明,加上3環(huán)的代碼還沒有吃透,期間也沒有用調(diào)試器跟蹤,全是IDA(F5)靜態(tài)分析的,謬誤在所難免,高手請(qǐng)飄過,希望對(duì)菜鳥學(xué)習(xí)有點(diǎn)幫助.

            1.SSDT檢測(cè)

            這個(gè)功能有三個(gè)IoControlCode與之對(duì)應(yīng),他們分別是22000fh(拷貝KeServiceDescriptorTable);220007h(拷貝KeServiceDescriptorTable->ServiceTable);22000bh(恢復(fù)一個(gè)ssdt hook),這個(gè)功能目前還不具備檢測(cè)和恢復(fù)inline hook的功能

            2.Shadow SSDT檢測(cè)

            這個(gè)功能實(shí)現(xiàn)和SSDT差不多,都是從KeSystemServiceDescriptorTableShadow入手,不過3環(huán)需要為每個(gè)平臺(tái)配置一張函數(shù)名表(ssdt可以不配置函數(shù)名表,可以從ntdll.dll中收集),詳細(xì)文章可以參見zhuwg兄弟寫的<<shadow ssdt學(xué)習(xí)筆記>>一文

            3.進(jìn)程

            3.1 進(jìn)程檢測(cè)

            IoControlCode是22001Bh,在檢測(cè)之前會(huì)設(shè)置檢測(cè)方式,然后根據(jù)檢測(cè)方式進(jìn)行檢測(cè).這個(gè)功能主要由irp_mj_device_control_dispatch_function函數(shù)的is_22001Bh_list_process分支完成,這里集成了4種檢測(cè)方法,大致如下:

            3.1.1 基于PspCidTalbe的檢測(cè),這里rku對(duì)句柄表做了解析,對(duì)每個(gè)Object判定是不是EPROCESS,是則插入到輸出列表(icesword也有這中檢測(cè),不過在1.22中沒有解析句柄表,而是用ExEnumHandleTable搞定這些) 詳細(xì)代碼見list_process_in_2k_by_handle_table/list_process_in_not_2k_by_handle_table函數(shù)
            3.2.1 基于KiWaitListHead/KiWaitOutListHead的檢測(cè),這個(gè)檢測(cè)方法很簡(jiǎn)單,關(guān)鍵是KiWaitListHead/KiWaitOutListHead兩個(gè)鏈表的獲取, 詳細(xì)代碼見list_process_by_list_head函數(shù)
            3.3.1 如果是xp系統(tǒng)則還會(huì)采用*淫**蕩*的內(nèi)存暴力搜索進(jìn)程進(jìn)行檢測(cè),這段代碼看debugman的yykingking發(fā)過, 詳細(xì)代碼在list_process_by_search_memory_in_xp函數(shù)
            3.4.1 rku還會(huì)inline hook SwapContext函數(shù),在這個(gè)函數(shù)里會(huì)記錄當(dāng)前的活動(dòng)進(jìn)程情況,經(jīng)過上面三種方法的洗禮后,對(duì)在SwapContext的記錄里的,但不在輸出列表里的繼續(xù)加入,當(dāng)然是有判定條件的(條件就是EPROCESS不能在ntoskrnl模塊內(nèi),即不為idle進(jìn)程). BTW:這里有個(gè)邏輯我覺得有問題:

            .text:000134A7 loc_134A7: ; CODE XREF: irp_mj_device_control_dispatch_function+233j
            .text:000134A7 3B 05 34 4E 01 00 cmp eax, g_nCurrentProcessCount
            .text:000134AD 7D 5A jge short loc_13509
            這個(gè)檢測(cè)方法的代碼就在loc_134A7開始位置

            上面獲取的只是EPROCESS,要獲取進(jìn)程路徑信息,還需要IoControlCode(220047h)的代碼, 詳細(xì)功能代碼在get_image_path_by_eprocess函數(shù)里,在這個(gè)函數(shù)里,我們可以看到rku先走peb獲取進(jìn)程全路徑,然后對(duì)非2k系統(tǒng)再走一次我們更為熟悉的SectionObject獲取路徑

            3.2 殺進(jìn)程 rku提供了兩種殺進(jìn)程的方法

            3.2.1 IoControlCode(22001Fh) ZwOpenProcess/ZwTerminateProcess/ZwClose殺進(jìn)程 這種殺法比較的弱
            3.2.2 ioControlCode(22004fh) 內(nèi)存清0殺進(jìn)程 具體代碼是kill_process_by_fill_zero函數(shù),這個(gè)代碼看debugman的yykingking也發(fā)過

            3.3 Dump All Process Memory

            IoControlCode是22008bh, 沒什么可說的, 詳細(xì)代碼在dump_all_process_memory函數(shù)

            3.4 Dump Seleted

            這個(gè)就是拷貝主程序的內(nèi)存鏡象, IoControlCode是220083h, 先獲取文件大小(對(duì)xp及其以上系統(tǒng),通過EPROCESS->SectionObject->segmentObject->SizeOfSegment獲取主程序內(nèi)存鏡象大小,對(duì)2k系統(tǒng),由于手頭缺乏資料,那段代碼什么意思不知道,詳細(xì)代碼在get_main_file_size_by_eprocess函數(shù)), 然后輸出緩沖區(qū)足夠大就進(jìn)入dump_selected函數(shù)拷貝內(nèi)存

            4.內(nèi)核模塊和Stealth Code檢測(cè)

            IoControlCode是0x220023h,在檢測(cè)之前也會(huì)設(shè)置檢測(cè)方式,然后根據(jù)檢測(cè)方式進(jìn)行檢測(cè).這個(gè)功能主要由list_kernel_module函數(shù)完成,這個(gè)函數(shù)里面集成了很多檢測(cè)方法,很多方法都比較*淫**蕩*,大致的檢測(cè)方法有: 

            4.1 用IoDriverObjectType指向的OBJECT_TYPE.TypeList鏈表檢測(cè),遍歷這個(gè)鏈表中的每一項(xiàng),并會(huì)取每個(gè)DriverObject上的DeviceObject,并向上掃描這個(gè)設(shè)備所在的設(shè)備棧(注意這里沒有向下掃描),嘗試發(fā)現(xiàn)其它的DriverObject 詳細(xì)代碼見list_module_by_IoDriverObjectType函數(shù)
            4.2 用IoDeviceObjectType指向的OBJECT_TYPE.TypeList鏈表檢測(cè),遍歷這個(gè)鏈表中的每一個(gè)設(shè)備,并也會(huì)向上掃描這個(gè)設(shè)備所在的設(shè)備棧(注意這里沒有向下掃描),嘗試發(fā)現(xiàn)其它的DriverObject 詳細(xì)代碼見list_module_by_IoDeviceObjectType
            4.3 用目錄對(duì)象樹(ZwOpenDirectoryObject("http://"))檢測(cè),遍歷這棵樹,對(duì)葉子節(jié)點(diǎn)(具體對(duì)象)看其OBJECT_HEADER.Type字段是否指向IoDriverObjectType/IoDeviceObjectType,如果是的話,則會(huì)采用4.1/4.2相似的措施;對(duì)目錄對(duì)象子樹則遞歸處理之(內(nèi)核堆棧空間太小,遞歸搞始終給人一種不安全感,看SnipeSword里面處理注冊(cè)表部分也大量遞歸,比較汗) 詳細(xì)代碼見list_module_by_OpenDirectoryObject函數(shù)
            4.4 用DriverSection(PsLoadedModuleList鏈表)檢測(cè),這個(gè)方法大家都比較熟悉, 詳細(xì)代碼見list_module_by_DriverSection函數(shù)

            經(jīng)過上面4個(gè)方法,DriverObject就獲取完畢了,他們對(duì)應(yīng)的都是有詳細(xì)信息的內(nèi)核模塊(這項(xiàng)檢測(cè)初步給人的感覺是比icesword可靠些,icesword則是先嘗試恢復(fù)NtQuerySystemInformation,設(shè)置KernelMode,然后調(diào)用NtQuerySystemInformation獲取內(nèi)核模塊信息),下面的檢測(cè)主要是對(duì)一些零星的能執(zhí)行代碼的內(nèi)存塊進(jìn)行檢測(cè)(Stealth Code)

            4.5 用上面幾種方法已經(jīng)找到了一些DriverObject,這里就對(duì)這些DriverObject下手,檢測(cè)這些DriverObject的DriverStartIo/MajorFunction是否被hook,如果被hook且新地址不在我們已經(jīng)找到的模塊里,則說明是那種分內(nèi)存,寫代碼似的hook,記錄這塊內(nèi)存信息 詳細(xì)代碼見list_module_by_DriverStartIo_and_MajorFunction函數(shù)
            4.6 暴力搜索內(nèi)存, 找到PE頭部,并判定OptionalHeader.Subsystem是否是Native 詳細(xì)代碼見list_module_by_scan_memory函數(shù)
            4.7 利用句柄表檢測(cè),這個(gè)的具體原理我未能理解, 詳細(xì)代碼在list_module_use_suspicious_thread_by_handle_table_in_not_2k/list_module_use_suspicious_thread_by_handle_table_in_2k這兩個(gè)函數(shù),感覺跟內(nèi)核模塊檢測(cè)無關(guān)......知道的請(qǐng)說一聲
            4.8 rku會(huì)inline hook三個(gè)調(diào)用頻度很高的函數(shù)(ExAllocatePool/ExAllocatePoolWithTag/KeDelayExecutionThread),在這三個(gè)函數(shù)里會(huì)記錄它們的返回地址,并利用這些地址來檢測(cè)一些模塊,如果返回地址不在某具體模塊范界則會(huì)記錄其內(nèi)存信息 詳細(xì)代碼見list_module_by_return_address函數(shù)
            4.9 檢測(cè)KiSystemService/KiFastCallEntry是否在某具體模塊范界,如果不在也記錄其內(nèi)存信息

            到這里檢測(cè)就完成了,上面的檢測(cè)方法太多,有些檢測(cè)獲取的信息不足,rku會(huì)進(jìn)行一些額外的修正處理,這些代碼都在list_kernel_module的結(jié)尾部分,詳細(xì)請(qǐng)參見源碼,我都做了一些注釋

            5.File檢測(cè)

            由于目前一直在用IDA反,并沒有使用調(diào)試器,主程序目前還只反了一點(diǎn),這個(gè)部分具體做什么的,我不太清楚,不過在驅(qū)動(dòng)里看到一個(gè)IoControlCode(2200A7)是在做扇區(qū)級(jí)別的操作......

            6.Code Hooks檢測(cè)

            在驅(qū)動(dòng)里并沒有看到分析code hooks的代碼, 只看到一些拷貝內(nèi)存到3環(huán)的功能函數(shù),把一些系統(tǒng)關(guān)鍵手工load展開后,進(jìn)行內(nèi)存對(duì)照比較就可以搞定這個(gè)了,當(dāng)然這個(gè)里面還具備KiSystemService/KiFastCallEntry hook的檢測(cè)和恢復(fù)代碼,詳細(xì)可以看IDB文件

            7.rku的進(jìn)程保護(hù)

            7.1 ssdt上的保護(hù),在ssdt上對(duì)三個(gè)函數(shù)(NtOpenProcess, NtOpenThread, NtDuplicateObject)進(jìn)行了inline hook
            NtOpenProcess 防止打開rku進(jìn)程
            NtOpenThread 防止打開rku的線程
            NtDuplicateObject 防止復(fù)制rku進(jìn)程的句柄

            7.2 shadow ssdt上的保護(hù),在shadow上對(duì)四個(gè)函數(shù)(NtUserQueryWindow, NtUserFindWindowEx, NtUserWindowFromPoint, NtUserNotifyIMEStatus)進(jìn)行了inline hook,防止其它程序通過FindWindow,WindowFromPoint等函數(shù)來枚舉rku的窗口,你可以看到spy++對(duì)rku已經(jīng)失效

            8.逆向這個(gè)的過程中,參考了網(wǎng)上很多大牛的文章,
            IceSword&Rootkit Unhooker驅(qū)動(dòng)簡(jiǎn)析
            zhuwg <<shadow ssdt學(xué)習(xí)筆記>>
            prince 翻譯的<<偵測(cè)隱藏進(jìn)程的強(qiáng)文>>
            yykingking 發(fā)在debugman上的兩個(gè)代碼片段
            還有些文章,無法一一列舉,再次一并表示感謝

            大致就是這樣了.
            linxer 2008-06-19 于哈爾濱

            posted @ 2013-02-11 21:19 tqsheng 閱讀(907) | 評(píng)論 (0)編輯 收藏

            僅列出標(biāo)題
            共25頁: 1 2 3 4 5 6 7 8 9 Last 
            奇米综合四色77777久久| 狠狠色狠狠色综合久久| 久久国产精品-国产精品| 久久99亚洲综合精品首页| 久久Av无码精品人妻系列| 久久久久亚洲AV无码网站| 久久久久人妻精品一区二区三区| 奇米综合四色77777久久| 一本色综合久久| 精品国产福利久久久| 精品久久人人爽天天玩人人妻| 久久精品国产亚洲欧美| 久久综合综合久久97色| 久久久久黑人强伦姧人妻| 久久国产亚洲精品麻豆| 狠狠88综合久久久久综合网| 2021久久国自产拍精品| 久久99精品国产99久久6| 久久精品夜色噜噜亚洲A∨| 久久精品三级视频| 精品国产综合区久久久久久| 久久久久97国产精华液好用吗| 久久人人爽人人爽人人片AV不| 伊人久久免费视频| 99久久婷婷国产综合精品草原| 久久久久人妻一区精品果冻| 久久99精品久久久大学生| 久久亚洲2019中文字幕| 国产精品日韩深夜福利久久| 97精品依人久久久大香线蕉97 | 久久精品www| 久久99精品久久久久婷婷| 亚洲国产精品无码久久青草| 国产精品欧美久久久久天天影视| 精品一久久香蕉国产线看播放| yy6080久久| 日本久久久久亚洲中字幕| 93精91精品国产综合久久香蕉| 狠狠色婷婷久久综合频道日韩| 午夜精品久久久内射近拍高清| 国产成人久久精品麻豆一区|