• <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, 評論 - 101, 引用 - 0
            數據加載中……

            CXDVA視頻組件

            CXDVA視頻組件

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

            CXDVA視頻組件

            前言
            CXDVA視頻播放組件,廣泛應用于視頻監控、紅外測溫監控、網絡電視(類似PPTV、PPStream)、視頻聊天、遠程教育等應用中。在電信運營商級應用中,性能高效,超強穩定,能7*24小時全天侯連續工作的。在電力行業中,365天連續穩定工作,獲得用戶的好評。

            聲明
            歡迎轉載,但請保留文章原始出處:)
            楚雄網:http://www.chuhero.com

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

            二、CXDVA視頻組件簡介

            CXDVA是一個支持多平臺視頻組件,支持windows 平臺,linux 平臺,android平臺,iOS平臺,包含更加強大的功能!

            2.1  網址

            官方網址:http://www.chuhero.com

            2.2  成功案例

            國內:中國電信IPTV ,國家電網在線監控等

            2.3   網絡協議

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

            2.4   媒體格式

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

             

            2.5 字幕與疊加內容

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

            還可實時疊加跑馬燈效果字幕,臺標或圖片

            2.6 抓圖與錄像
            支持播放時實時抓圖與錄像,同時也支持無播放畫面后臺動抓與錄像
            抓圖保存格式可為常見的bmp、jpg、png.
            錄像保存格式為mp4,可用windows 平臺,linux 平臺,android平臺,iOS平臺通用播放器進行播放錄像

            2.7 其它
            *多平臺處理器優化,硬件加速
            *可調圖像長寬比
            *視頻中的人臉的識別
            * 追蹤視頻中的目標移動
            *完善的文檔
            *技術支持與可定制性

            三、下載地址

            chuhero下載

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

            四、客戶定制

            可對文件大小、功能、性能進行定制服務 .如有需求,請聯系www.chuhero.com

             

            結束

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

            高仿迅雷播放器

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

            posted @ 2014-01-29 11:54 tqsheng 閱讀(229) | 評論 (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 閱讀(541) | 評論 (0)編輯 收藏

            羽毛球

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

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

            李嘉誠自述長子遭綁架:綁匪索要20億當場獲準

            李嘉誠自述長子遭綁架:綁匪索要20億當場獲準

            分享

            2013年11月29日 16:58:04查看原網頁178

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

              李嘉誠:孤獨是他的能量  

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

              創業至今六十多年,雖歷經多次經濟危機,但沒有一年虧損;自從1999年被福布斯評為全球華人首富以來,15年間不管風云如何變幻始終穩居這一寶座。

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

              創業至今六十多年,雖歷經多次經濟危機,但沒有一年虧損;自從1999年被福布斯評為全球華人首富以來,15年間不管風云如何變幻始終穩居這一寶座。

              這就是李嘉誠。

              但此時,他正前所未有地深陷入一場“撤資”風波。接連拋售內地和香港的一些資產,掀起軒然大波,被輿論認為是一個“風向標事件”。

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

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

              李嘉誠,究竟是怎樣一個人?

              成為超人之前的那個人

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

              85歲的李嘉誠,從早年創業至今,一直保持著兩個習慣:一是睡覺之前,一定要看書,非專業書籍,他會抓重點看,如果跟公司的專業有關,就算再難看,他也會把它看完;二是晚飯之后,一定要看十幾二十分鐘的英文電視,不僅要看,還要跟著大聲說,因為“怕落伍”。

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

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

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

              一個被廣為傳播的事實是,2008年,金融危機爆發,而在這之前,李嘉誠已經準確預見,并早已做好了準備,等到危機來臨時,集團不但安然無恙,還從中獲得了擴張的機會。

              作為一個商人,李嘉誠對數字尤其敏感。

              從20歲起,李嘉誠便熱衷于閱讀其他公司的年報。除了尋找投資機會,也從中學習其他公司會計處理方法的優點和漏弊,以及公司資源的分布。他自稱可以對集團內任何一間公司近年發展的數據,準確地說出其中的百分之九十以上:“看一看便能牢記,是因為我投入。”

              對于信息的重要性,李嘉誠常常一再強調。雖已85歲高齡,但他對新技術的了解,并不遜于年輕人。在李的辦公室,左手邊擺著兩臺電腦,實時顯示旗下公司的股價變動。而在側面辦公桌上,則擺著他的蘋果筆記本,這是他日常工作所用的。

               每天早晨,李嘉誠都能在辦公桌上收到一份當日的全球新聞列表。據一位跟隨他十余年的人士透露,這份新聞列表并非摘要,而是一個又一個的新聞標題,多來自 《華爾街日報》、《經濟學人》、《金融時報》等全球知名媒體。李會先瀏覽,然后選擇其中想看的文章,讓人翻譯出來細讀。

              李嘉誠的這個習慣堅持了十余年,并因此而專門設立了一個四人小組,負責這項工作。而他之所以看標題,不看摘要,是不想被別人誤導。

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

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

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

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

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

              比如,在Facebook等社交媒體開始火起來的時候,李嘉誠曾經問過旗下公關團隊一個問題:怎么看待其和平面媒體以及網上媒體對集團公關的影響?

              為了回答李嘉誠的這個問題,公關團隊專門召開最高會議進行討論,形成專題報告向李匯報。有趣的是,最后這個團隊甚至開發了一款軟件,專門用以評價不同渠道的公關效果。

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

              與自己相處

              他幾乎從不生氣,見到所有人,都是一副標準的笑臉。

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

              “他真的沒有生氣過嗎?他會因為什么事情而難過?他發過火嗎?”面對這一連串問題,幾位跟了李嘉誠十年以上的下屬一臉迷茫,想了很久,他們實在回憶不起是否有過這樣的場景。

              當你問起李嘉誠強勢的一面時,其中一位跟了李二十余年的高層反問:強勢怎么定義?

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

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

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

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

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

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

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

              李的鎮靜,連張子強都很意外,張問他:你為何這么冷靜?

              李回答道:因為這次是我錯了,我們在香港知名度這么高,但是一點防備都沒有,比如我去打球,早上五點多自己開車去新界,在路上,幾部車就可以把我圍下來,而我竟然一點防備都沒有,我要仔細檢討一下。

              李嘉誠告訴南方周末記者,當時他勸告張子強:你拿了這么多錢,下輩子也夠花了,趁現在遠走高飛,洗心革面,做個好人;如果再弄錯的時候,就沒有人可以再幫到你了。

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

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

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

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

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

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

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

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

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

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

              一位采訪過李嘉誠的記者寫道:李嘉誠的心胸之大——收購和記黃埔此等之事一直秘不外宣,甚至自己的老婆也不知道,一切都自己心算——是撐出來的:喪父、養家、肺病、貧窮……當一個人在自己15歲左右經歷這一切挑戰而沒有被打垮,他就沒有什么是不能承受的了。

              孤獨是他最自然的常態

              “他會不斷自己拋問題、自己回答。”

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

              “他11歲就逃出來,一路上都是一個人在奮斗,他老和我們講自己縫衣服,到現在依然如此。”一位下屬告訴南方周末記者,李的襪子都是不能見人的,因為他自己縫補了好多次。

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

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

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

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

              辦公桌的對面,是黑色的沙發和茶幾。沒有靠墊,沒有煙灰缸,也沒有潮州人最喜歡的功夫茶具,只是孤零零地擺著一個裝飾盒。

              李辦公室最惹眼的,是清代儒將左宗棠題于江蘇無錫梅園的詩句:“發上等愿,結中等緣,享下等福;擇高處立,尋平處住,向寬處行。”

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

              “孤獨感是他最好的朋友,也是他最自然的常態。”那位熟知李嘉誠經歷的高層如此評價道。在她看來,經歷過少年磨難的李嘉誠,早已習慣了孤獨的感覺。

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

              這是一個孤獨之旅,命運剝奪他的,李要靠自己搶回來。沒有學歷、人脈、資金,想出人頭地,自學是他唯一武器。

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

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

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

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

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

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

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

              建立在尊重之上的商業帝國

              早在很多年前,李就已經不管具體業務,他的時間和精力,基本花在“定坐標”上。

              相比他內心的隱秘世界,普通人更感興趣的是他的財富帝國。

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

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

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

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

              在李嘉誠身邊的高管們看來,尊重所有人,是李嘉誠公司的核心文化,也是這么多年其能夠馳騁全球的秘訣所在。“每個人都有很多選擇,為什么要跟著你?你給我很多錢,但需要犧牲我的尊嚴,我不會跟著你;但如果你因為我有能力,尊重我,給我空間和舞臺,我一定會跟著你。”

              一個可以佐證的事實是,在李嘉誠旗下公司,員工的離職率通常都非常低,多數員工都是跟著李打拼了數年的,這里當然也包括很多老外,“他們能留下來,更是因為如此(被尊重)。”

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

              李給每個人都發了一張名片,但輪到攝影師時,名片派完了。讓人意外的是,采訪進行到一半,李突然向遠處的助手要了一張,補給了攝影師。他的舉動是如此自然。

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

              據高管們透露,早在很多年前,李就已經不管具體業務,他的時間和精力,基本花在“定坐標”上。

              比如說,負債率。李嘉誠對這一指標的控制,近乎偏執,他經常說的一句話是:“旱時,要備船以待澇;澇時,要備車以待旱。一家公司即使有盈利,也可以破產,一家公司的現金流是正數的話,便不容易倒閉。”

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

              工廠是最好的課堂

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

              與重視定坐標一樣,李嘉誠對細節也很重視。

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

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

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

              對李嘉誠來說,早期的工廠經歷,是他最好的課堂。對做一個塑料花,原料怎么來的,怎么出口,怎么辦手續,他了如指掌,而其對世界經濟形勢的認識,最早也來自這里。

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

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

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

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

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

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

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

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

              內心的富貴才是真富貴

              為彌補自己少年失學的痛和父親因病去世的無奈,李嘉誠將基金會捐獻的方向主要放在兩方面:教育和醫療。

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

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

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

              然 而,外界很少知道的是,李嘉誠做出這一決定,也經歷了一個曲折的心路歷程。金錢,也曾經對李充滿誘惑。因為李目睹父親從受人尊敬的小學校長,落魄到一名寄 人籬下的職員。李經歷過沒錢就沒有尊嚴、沒有家、無法讀書的困境。所以,在創業成功之后,李也曾享受過金錢帶來的快樂。

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

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

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

              也就是從那時開始,李嘉誠開始不斷捐獻,直至1980年,李已經52歲,成立了李嘉誠基金會。

              為彌補自己少年失學的痛和父親因病去世的無奈,李將基金會捐獻的方向主要放在兩方面:教育和醫療。

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

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

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

              據李嘉誠透露,2003年的某個夜晚,為基金會的未來,他再次徹夜難眠。因為他日漸體會到自己年事已高,但又不希望基金會停止運作,而基金會無止境地運作,就需要投入大筆大筆錢,他擔心,這是否剝奪了原本該屬于子孫的財富權利?

              彼時,李嘉誠也被家族財產的傳承所困擾。一端是自己的親骨肉,一端是自己的夢想,到底該如何取舍?

              突然,李領悟出一個道理:“我現在有兩個兒子,如果我不是(有)兩個兒子,而是三個兒子,我是不是也要給第三個兒子一份財產?”只要將基金會視為第三個兒子,財產分三分之一給基金會,就理所當然。

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

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

              李說,他不喜歡“臨終關懷”這個詞,所以改為了“寧養服務”。

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

              對于另外一個支持兒童疝氣手術的項目,羅慧芳女士告訴南方周末記者,她在一個下午四點多時給李嘉誠看了一組患病兒童的照片,李當即表示支持在那個省份開展這一項目。一個小時后,李又跟羅說,擴展到旁邊兩個省份吧。

              在過去的幾年中,李嘉誠一直在期待他的言行能夠激起更廣泛的響應,將慈善業從個人的道德完善,轉變成促進社會進步的力量。

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

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

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

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

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

            ppm圖像格式 bmp

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

            讀取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數據
            // 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;
            }
            可以驗證test2.ppm跟test.ppm是完全一致的,可以用看圖軟件打開。

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

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

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

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


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

            PPM文件格式
            包括兩個部分,頭部分和圖象數據部分。第一行是P3或P6,說明是PPM 格式;第二行是圖象的寬度和高度,用ASCII來表示;最后一部分是描述像素的最大顏色組成,這里允許描述超過一個字節(0-255)的顏色值。另外可以 在上面三個部分的后面用#來追加注釋,注釋行是從#到該行末。
            下面是PPM頭的例子:
            例子1:P6 1024 778 255
            例子2:P61024 778255
            例子3:P6#PPM文件格式1024 778#寬度和高度# 注釋255
            PPM圖象數據的格式依賴于PPM自身的表示,如果是P3格式,數據將以ASCII文本來表示,每個像素的值從0到前面的最大值,每行不應該長于70個字 符,如例子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格式,圖象數據以字節格式存儲,每個色彩成分(r,g,b)一個字節。僅僅在頭部的最后一個字段的前面才能有注釋,在頭部的最后一個字段后面通常是一個回車或換行。P6圖象文件比P3文件小,讀起來更快。注意,P6文件僅僅用作單字節彩色。
            通常的習慣,圖象從上到下,從左到右被存儲。每個像素以一個字節來存儲,0表示黑色,255表示白色。色彩成分按照通常的紅-綠-藍順序來存儲。
            PGM文件格式
            該格式文件存儲灰度圖形,也就是這里每個像素使用一個值來表示而不是3個(R,G,B)。同PPM唯一不同的是頭部用P2和P5,分別表示用ASCII和 字節碼來表示數據。例如: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方式來表示數據,0表示白色,1表示黑色。與PPM、PGM不同的頭部是少了第三行,因為第三行的最大色彩值在這個模式下已經沒有 意義了。舉例如下: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 閱讀(5479) | 評論 (0)編輯 收藏

            PPM灰度文件

            PPM灰度文件:

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

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

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

            3)第三行為最大的象素值255
            接下來是圖像數據塊。按行順序存儲。每個象素占4個字節,灰度通道為4字節ASCII碼表示的整數,高字節在前。左上角為坐標原點。

             

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

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

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

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

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

            接下來是圖像數據塊。按行順序存儲。每個象素占6個字節,依次為紅綠藍通道,每個通道為2字節整數,高字節在前。

            PPM彩色文件:

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

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

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

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

            接下來是圖像數據塊。按行順序存儲。每個象素占12個字節,依次為紅綠藍通道,每個通道為4字節ASCII碼表示的整數,高字節在前。左上角為坐標原點。

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

            DNS

            168.95.1.1
            198.153.194.1

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

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

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

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

            gnc.com

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

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

            Payoneer

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

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

            HostBig簡介

            hostbig info

            首先hostbig給我的印象是主打便宜,的確比hostso都還便宜,當我進入到官網的時候,我發現出來名字和空間大小,其他的界面和各種信息都是和hostso一樣。

            官網:

            http://hostbig.com/

             

            Hostbig配置

            這里介紹最便宜的一款,也就是1刀一月的那個,Excite型號。

            • 1、空間,流量都沒有限制.
            • 2、可以停靠域名5個,不能夠添加其他的域名,注冊的時候也不提供免費二級域名.
            • 3、可以創建50個二級域名,10個MySQL Databases,100個郵箱賬號,無數個FTP賬號.

            完全就是加強版的Hostso,一個朋友買了一個,我看了一下機房和Hostso一樣都是美國 佛羅里達州奧蘭多HostDime IDC。

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

            民謠

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

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

            rku逆向分析


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

            1.SSDT檢測

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

            2.Shadow SSDT檢測

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

            3.進程

            3.1 進程檢測

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

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

            .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
            這個檢測方法的代碼就在loc_134A7開始位置

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

            3.2 殺進程 rku提供了兩種殺進程的方法

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

            3.3 Dump All Process Memory

            IoControlCode是22008bh, 沒什么可說的, 詳細代碼在dump_all_process_memory函數

            3.4 Dump Seleted

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

            4.內核模塊和Stealth Code檢測

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

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

            經過上面4個方法,DriverObject就獲取完畢了,他們對應的都是有詳細信息的內核模塊(這項檢測初步給人的感覺是比icesword可靠些,icesword則是先嘗試恢復NtQuerySystemInformation,設置KernelMode,然后調用NtQuerySystemInformation獲取內核模塊信息),下面的檢測主要是對一些零星的能執行代碼的內存塊進行檢測(Stealth Code)

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

            到這里檢測就完成了,上面的檢測方法太多,有些檢測獲取的信息不足,rku會進行一些額外的修正處理,這些代碼都在list_kernel_module的結尾部分,詳細請參見源碼,我都做了一些注釋

            5.File檢測

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

            6.Code Hooks檢測

            在驅動里并沒有看到分析code hooks的代碼, 只看到一些拷貝內存到3環的功能函數,把一些系統關鍵手工load展開后,進行內存對照比較就可以搞定這個了,當然這個里面還具備KiSystemService/KiFastCallEntry hook的檢測和恢復代碼,詳細可以看IDB文件

            7.rku的進程保護

            7.1 ssdt上的保護,在ssdt上對三個函數(NtOpenProcess, NtOpenThread, NtDuplicateObject)進行了inline hook
            NtOpenProcess 防止打開rku進程
            NtOpenThread 防止打開rku的線程
            NtDuplicateObject 防止復制rku進程的句柄

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

            8.逆向這個的過程中,參考了網上很多大牛的文章,
            IceSword&Rootkit Unhooker驅動簡析
            zhuwg <<shadow ssdt學習筆記>>
            prince 翻譯的<<偵測隱藏進程的強文>>
            yykingking 發在debugman上的兩個代碼片段
            還有些文章,無法一一列舉,再次一并表示感謝

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

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

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

            1.SSDT檢測

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

            2.Shadow SSDT檢測

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

            3.進程

            3.1 進程檢測

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

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

            .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
            這個檢測方法的代碼就在loc_134A7開始位置

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

            3.2 殺進程 rku提供了兩種殺進程的方法

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

            3.3 Dump All Process Memory

            IoControlCode是22008bh, 沒什么可說的, 詳細代碼在dump_all_process_memory函數

            3.4 Dump Seleted

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

            4.內核模塊和Stealth Code檢測

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

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

            經過上面4個方法,DriverObject就獲取完畢了,他們對應的都是有詳細信息的內核模塊(這項檢測初步給人的感覺是比icesword可靠些,icesword則是先嘗試恢復NtQuerySystemInformation,設置KernelMode,然后調用NtQuerySystemInformation獲取內核模塊信息),下面的檢測主要是對一些零星的能執行代碼的內存塊進行檢測(Stealth Code)

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

            到這里檢測就完成了,上面的檢測方法太多,有些檢測獲取的信息不足,rku會進行一些額外的修正處理,這些代碼都在list_kernel_module的結尾部分,詳細請參見源碼,我都做了一些注釋

            5.File檢測

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

            6.Code Hooks檢測

            在驅動里并沒有看到分析code hooks的代碼, 只看到一些拷貝內存到3環的功能函數,把一些系統關鍵手工load展開后,進行內存對照比較就可以搞定這個了,當然這個里面還具備KiSystemService/KiFastCallEntry hook的檢測和恢復代碼,詳細可以看IDB文件

            7.rku的進程保護

            7.1 ssdt上的保護,在ssdt上對三個函數(NtOpenProcess, NtOpenThread, NtDuplicateObject)進行了inline hook
            NtOpenProcess 防止打開rku進程
            NtOpenThread 防止打開rku的線程
            NtDuplicateObject 防止復制rku進程的句柄

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

            8.逆向這個的過程中,參考了網上很多大牛的文章,
            IceSword&Rootkit Unhooker驅動簡析
            zhuwg <<shadow ssdt學習筆記>>
            prince 翻譯的<<偵測隱藏進程的強文>>
            yykingking 發在debugman上的兩個代碼片段
            還有些文章,無法一一列舉,再次一并表示感謝

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

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

            僅列出標題
            共25頁: 1 2 3 4 5 6 7 8 9 Last 
            久久er国产精品免费观看8| 精品一区二区久久| 国产—久久香蕉国产线看观看 | 亚洲国产精品无码久久久不卡| 99热都是精品久久久久久| 国产精品久久久久久一区二区三区 | 久久久久久国产精品无码下载| 国产精品久久永久免费| 69久久夜色精品国产69| 精品久久久久久成人AV| 国产精品久久久久久| 色成年激情久久综合| 久久97久久97精品免视看| 精品国产91久久久久久久a| 精品久久人人妻人人做精品| 久久久WWW成人免费毛片| 麻豆av久久av盛宴av| 人妻丰满AV无码久久不卡| 久久婷婷五月综合国产尤物app| 久久久久亚洲AV无码永不| 久久久九九有精品国产| 狠狠色伊人久久精品综合网 | 九九久久精品国产| 久久影院午夜理论片无码| 2021久久精品免费观看| 久久精品午夜一区二区福利| 精品国产福利久久久| 欧美一级久久久久久久大片| 中文字幕日本人妻久久久免费 | 国产精品99久久久久久人| 国产成人无码精品久久久免费| 性高湖久久久久久久久AAAAA| 日韩久久久久久中文人妻 | 午夜精品久久久久久中宇| 久久夜色精品国产亚洲| 免费精品久久天干天干| 99久久无码一区人妻| 欧美午夜精品久久久久免费视| 精品国产综合区久久久久久| 色偷偷久久一区二区三区| 国产精品亚洲美女久久久|