作者chengcti (卡馬請出來面對!!)
看板C_and_CPP
標題Re: [問題] dll檔案的使用
時間Thu Sep 12 22:26:55 2013
DLL 已經算是 object code
沒有機會可以 decompiler, 但是你想要 deassembly 是有機會的
你老闆是要你做什麼?
是沒有 .h or .lib 要你由 .dll export .h or .lib?
如果是那有機會
如果是要 export .c
那可以換老闆了 表示你老闆是白癡
這種 common 都不清楚.
就好像有人問題, 有沒有辦法幫我把可樂 deassemble 成化學成分
我要改配方...
※ 引述《skitty (aki)》之銘言:
: 已努力爬文和求google大神
: 但是還是找不到符合的答案
: 誠摯希望
: 老師給了一個程式是用來跑PCB
: 叫我看內容修改一下功能
: 但是此程式已是完整的執行檔,附有dll檔案
: 試著用各種decompiler找出原本的code
: (以下皆用dll檔案作為開啟對象)
: 1.ILSpy : This file does not contain a managed assembly
: 2.PE explorer : 開出像是函式名稱的資料夾,但是視窗顯示藍色,無程式碼
: 3.NET Reflector : 直接顯示這不是.NET的組件
: 4.用visual studio的命令提示字元輸入(有點忘了自己打了甚麼) : 無法開啟
: 5.甚至用那種網友漢化遊戲的程式來開,得到的類似組合語言的東西...
: 之前推斷這類程式應該是用c去寫的,但是不能用.NET Reflector開....
: 網路有看到類似說開dll檔本身就是不太合理的行為
: 有版友能提示正常一般的做法嗎?
: 還是有即使不開程式碼,也能知道這個dll檔的函式及內部參數的運作等等??
: 也歡迎站內信討論解惑 感激不盡
--
※ 發信站: 批踢踢實業坊(ptt.cc)
◆ From: 1.34.153.98
→ Schottky:只有.dll要如何export .h? C++ function 有 decoration, 09/12 22:36
→ Schottky:勉強還能猜參數數量和type, C的function難道要看push/pop 09/12 22:37
→ Schottky:這個我實在不明白,請指點一二 :) 09/12 22:37
→ firose:dll 不是輸出 name 跟 ordinal 而已? 09/12 22:39
→ GNUGCC:修改內容並不一定需要 .h 或是 .cpp 檔,可以直接寫組合語言 09/12 22:58
→ GNUGCC:程式在裡面唷^^ 09/12 22:59
→ Schottky:不是辦不到,但建議千萬別幹這種傻事...太耗工... 09/12 22:59
→ GNUGCC:如果真的要加功能但沒有原始碼的話只能這樣做了...別無他法 09/12 23:01
→ Schottky:要移除保護、漢化、改檔名路徑、破解時限這種小改還行 09/12 23:01
推 purpose:只是要完全替換一個函數,還不至於非常耗工,逆向出原始碼 09/12 23:01
→ purpose:就真的比較高成本 09/12 23:01
→ Schottky:大改功能會直接反組譯再改組合語言的只聽過修改病毒... 09/12 23:02
→ GNUGCC:不要忘記病毒也是一種軟體,其他軟體也可以. 09/12 23:05
→ Schottky:是是...理論上什麼軟體都可以直接修改無註解無文件ASM... 09/12 23:22
→ Schottky:耗不耗工也很主觀,總之只要苦主願意動手幹就行... 09/12 23:25
→ rebaudiana:有人直接在組語裡面插組語進去?會亂掉吧 09/12 23:31
→ rebaudiana:要加功能也會用其他的技術吧… 09/12 23:32
推 stimim:API hook, 改 PE table ... 不過應該不是本版的範圍 09/12 23:51
→ uranusjr:@rebaudiana 我有看過有人這樣打小 patch, 直接改個幾行 09/13 01:21
→ bugmens:會問這種問題應該是沒有能力操作組合語言的 09/13 02:48
推 L4ys:組語裡面插組語沒什麼難的 最常見的就是線上遊戲外掛吧 09/13 10:41
→ rebaudiana:打小patch跟插入功能差蠻多的?不過如果硬做ok也是可以 09/13 15:10