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

            Sheppard Y

            keep thinking keep coding.

            一次簡單的hack

            2016-07-12 日更新 
            此篇博客已經(jīng)遷移到新博客,并做行文檢查和優(yōu)化排版:
            http://blog.clawz.me/2014/05/15/14-a-easy-hack/

            一、背景
                 朋友公司有款老軟件,運行在windows下,C/S架構(gòu)。客戶端為很久前外包開發(fā)的。這個客戶端為GUI界面。朋友想定時自動讓軟件做些事情。這個客戶端以前設(shè)計時沒有提供這種定時功能,只有每次執(zhí)行當(dāng)次的操作。朋友自己對軟件開發(fā)不熟,如是找到我。
            二、朋友給的解決方案
                 他表示做個按鍵腳本之類的,定時的去模擬在客戶端上的單次操作。
            三、我的解決方案
            (一)了解需求
                 這是C/S架構(gòu),之前是每次鼠標(biāo)點擊后,客戶端給服務(wù)器發(fā)送相應(yīng)的網(wǎng)絡(luò)包?,F(xiàn)在要做的是破解這個協(xié)議,然后自己寫程序定時發(fā)送對應(yīng)協(xié)議的網(wǎng)絡(luò)包即可。
            (二)解決方案
                 朋友的解決方案,對于擅長客戶端的人是可以的。但是我不怎么擅長,會花不少時間。
                 所以我選擇我自己更擅長的網(wǎng)絡(luò)編程。如上邊說的,先破解協(xié)議,然后想干啥就非常方便了。
            四、解決過程
            (一)破解協(xié)議
                 本想找個協(xié)議監(jiān)聽軟件,我來遠(yuǎn)程操作就行了,但是他們使用環(huán)境公網(wǎng)無法連入。如果我寫文檔讓他來按步驟走,對于非專業(yè)人士來說也挺費事的。
                 隨后我想到他們的行業(yè)不那么互聯(lián)網(wǎng),他們聯(lián)系的外包素質(zhì)應(yīng)該不是那么高。估計也就是windows那套.net搞的,頂多也就java搞的。所以讓他把客戶端拷出外網(wǎng),我來反編譯試試。同時我去網(wǎng)上查下.net的反編效果,有網(wǎng)游表示沒有混效果的C#代碼反編出來跟源代碼基本沒啥區(qū)別,另外以前反編譯過java,反編得的代碼也跟原工程差不多。所以開始淡定的祈禱反編順利。
                 看了眼客戶端里的各文件,感覺到是C#,找了個dotPeek,反編譯出來相當(dāng)清晰。(這玩意的反編譯效果比以前反編譯flash的代碼還清晰,flah反編譯后的變量名基本編程local1之流了,這個C#反編出來變量名都是好的)
            (二)分析協(xié)議
                 C#代碼雖沒寫過,但是語法跟Java/C++非常像。分析起來不是很費勁。
                 果然代碼寫的很windows的.net,客戶端直接連接的數(shù)據(jù)庫,然后在客戶單發(fā)起select之類的查詢語句。數(shù)據(jù)庫表和字段名基本是中文拼音首字母。
                 后來具體邏輯也懶得看,直接找到數(shù)據(jù)庫的配置,讓朋友在內(nèi)網(wǎng)裝個數(shù)據(jù)庫客戶端,連數(shù)據(jù)庫看表里數(shù)據(jù)了。讓他比對表里數(shù)據(jù)和客戶端軟件上顯示的數(shù)據(jù)對比,找出咱們要的哪幾個字段。
            (三)實現(xiàn)需求
                 這個是整個過程里最簡單的了。用了自己最喜歡的golang寫了個沒有GUI的程序,定時給他去數(shù)據(jù)庫查想要的數(shù)據(jù)。
            五、后記
                 整個過程的順利多虧給他們寫外包的公司用的C#,還沒有做代碼混淆之類的。

            posted on 2014-05-15 11:11 Sheppard Y 閱讀(951) 評論(0)  編輯 收藏 引用 所屬分類: 其他語言 、golang 、解決問題

            <2008年11月>
            2627282930311
            2345678
            9101112131415
            16171819202122
            23242526272829
            30123456

            導(dǎo)航

            統(tǒng)計

            留言簿(1)

            隨筆分類(77)

            隨筆檔案(58)

            me

            基友

            同行

            業(yè)界前輩

            最新隨筆

            搜索

            積分與排名

            最新評論

            閱讀排行榜

            日本人妻丰满熟妇久久久久久| 久久久久久毛片免费播放| 国产精品久久久99| 久久国产精品二国产精品| 一日本道伊人久久综合影| 久久综合亚洲鲁鲁五月天| 久久精品aⅴ无码中文字字幕不卡 久久精品成人欧美大片 | yellow中文字幕久久网| 亚洲人成电影网站久久| 久久人人爽人人爽人人片AV不| 国产精品美女久久久免费| 亚洲精品蜜桃久久久久久| 九九久久99综合一区二区| 久久经典免费视频| 久久精品视频网| 久久亚洲日韩看片无码| 国产99久久九九精品无码| 无码AV波多野结衣久久| 一级做a爰片久久毛片毛片| 精品久久一区二区| 国产偷久久久精品专区| 亚洲欧洲精品成人久久曰影片 | 久久精品无码一区二区WWW| 久久青草国产精品一区| 亚洲欧美日韩中文久久 | 精品国产91久久久久久久a| 久久综合九色综合网站| 久久久久亚洲精品男人的天堂| 99久久99这里只有免费费精品| 久久久这里只有精品加勒比| 四虎国产精品免费久久久| 色综合久久综合网观看| 久久亚洲精品成人av无码网站| 欧洲人妻丰满av无码久久不卡| 思思久久精品在热线热| 久久无码高潮喷水| 久久笫一福利免费导航| 久久久久久免费视频| 国内精品人妻无码久久久影院导航 | 模特私拍国产精品久久| 99精品久久精品一区二区|