I iceapi Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-08 #3 你应该问有没有将动态链接库转成.pas格式的工具。[]
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-08 #4 不用工具.我只要代码. 我现在的程序已经实现取进程引用的dll名字已经取出来了. 就差取每个引用dll内的引用函数.用vc是可以取出来的. 用delphi就不能取出来.可能是我那里弄错了. 在这里就是想看看别人是怎么用delphi取出函数名称来的. 指向函数的IMAGE_THUNK_DATA 结构已经取出来但是转换成IMAGE_IMPORT_BY_NAME 时错误了 firsthunk:=PIMAGE_THUNK_DATA((DWORD)ImageBase + (DWORD)ImportDesc^.FirstThunk); fucName:=IMAGE_IMPORT_BY_NAME((DWORD)ImageBase + (DWORD)fristthunk^.addressofdata^.Name1) 出错了地址错误. 有谁取过函数名出来过的.发段去函数名称的代码出来啊.谢谢
不用工具.我只要代码. 我现在的程序已经实现取进程引用的dll名字已经取出来了. 就差取每个引用dll内的引用函数.用vc是可以取出来的. 用delphi就不能取出来.可能是我那里弄错了. 在这里就是想看看别人是怎么用delphi取出函数名称来的. 指向函数的IMAGE_THUNK_DATA 结构已经取出来但是转换成IMAGE_IMPORT_BY_NAME 时错误了 firsthunk:=PIMAGE_THUNK_DATA((DWORD)ImageBase + (DWORD)ImportDesc^.FirstThunk); fucName:=IMAGE_IMPORT_BY_NAME((DWORD)ImageBase + (DWORD)fristthunk^.addressofdata^.Name1) 出错了地址错误. 有谁取过函数名出来过的.发段去函数名称的代码出来啊.谢谢
W wr960204 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-08 #5 我做安全软件项目的时候取过.没啥是Delphi和VC的原因取不出的.呵呵.
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #6 我的問題不是delphi和vc的問題. 我是取正在運行的進程的引用的dll和函數.不是取exe 文件內的 delphi編譯出來的exe 的pe格式 PIMAGE_IMPORT_DESCRIPTOR 結構內的OriginalFirstThunk 是零;vc編譯出來的是不為零的. 有人實現過取delphi編譯的exe運行以後取該進程內的引用dll和函數嗎???????????????????????????????
我的問題不是delphi和vc的問題. 我是取正在運行的進程的引用的dll和函數.不是取exe 文件內的 delphi編譯出來的exe 的pe格式 PIMAGE_IMPORT_DESCRIPTOR 結構內的OriginalFirstThunk 是零;vc編譯出來的是不為零的. 有人實現過取delphi編譯的exe運行以後取該進程內的引用dll和函數嗎???????????????????????????????
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #9 那就读FirstThunk,不要读OriginalFirstThunk
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #10 FirstThunk 在程序運行的時候已經變成指向函數的指針了. 轉換成PIMAGE_IMPORT_BY_NAME 出錯
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #12 寫一個編輯exe的pe結構的單元.要編輯一個運行的exe的pe結構. 用於動態的監控程序和攔截API. 如果編輯一個沒有運行的exe編輯pe很容易被殺毒軟件殺掉.
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #13 那差不多可以说做不到了. 如果这个exe加壳了,要找到import table就是非常困难的事了, 而且猛壳一般连手动都脱不了,更别说可以自动分析了,还是放弃吧.
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #14 謝謝白河愁你的回答: 脫殼是另外一回事.現在解決目前問題先.一步一步來.
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #15 很可惜是无法解决,不脱壳是没办法获得import table,也就是你想要的东西的.
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #16 說著說著就跑題了.一般的殼有一般人的脫.猛殼的自燃有猛男來脫啊.呵呵. 回到正題吧.到底有沒有辦法人實現過啊(exe沒有加殼).
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #17 没跑题. 85% 的人脱不了的壳就可以视为无法脱的.如果你是这样的猛男也不会来问这样的问题. 既然你是用于拦截 API 所以要动态分析,那就算你做成功了也只对没加壳的程序有效. 你可以保证你所要拦截的程序都没加壳?如果不是的话 ,要么你做猛男,要么就放弃. 换句话来说,如果你能保证拦截的程序都没加壳,那大可以分析静态的 exe 文件,无需在内存分析.
没跑题. 85% 的人脱不了的壳就可以视为无法脱的.如果你是这样的猛男也不会来问这样的问题. 既然你是用于拦截 API 所以要动态分析,那就算你做成功了也只对没加壳的程序有效. 你可以保证你所要拦截的程序都没加壳?如果不是的话 ,要么你做猛男,要么就放弃. 换句话来说,如果你能保证拦截的程序都没加壳,那大可以分析静态的 exe 文件,无需在内存分析.
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #18 謝謝你的回答. 我用vc做成功了.只是自己是delphi出身的.不甘心而已.呵呵. 不單只是hookAPI我還有其他的用途.對於一個團體來說自燃有脫殼解密方面的猛男. 靜態分析的效率太慢了.分析->修改完->寫一大代碼來挂接->然後編譯-測試-分析測試結果->出了問題又要跳回第一步.....你不覺得麻煩嗎??
謝謝你的回答. 我用vc做成功了.只是自己是delphi出身的.不甘心而已.呵呵. 不單只是hookAPI我還有其他的用途.對於一個團體來說自燃有脫殼解密方面的猛男. 靜態分析的效率太慢了.分析->修改完->寫一大代碼來挂接->然後編譯-測試-分析測試結果->出了問題又要跳回第一步.....你不覺得麻煩嗎??
I ing Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #19 我的問題是:用Delphi怎樣可以导出某进程的引用dll和函数名稱(沒加殼的exe)? 不是討論exe怎麼脫殼. 我只是想看一眼別人是怎麼取出函數名稱而已.就看一眼.
白 白河愁 Unregistered / Unconfirmed GUEST, unregistred user! 2007-04-09 #20 世界上有很多东西是人力不可为的,不是什么团体就能做到的. 我可以随便写个代码,如果你能找到人破解,我出10w元都可以. 还有静态分析了可以动态修改,为什么要一堆代码来挂接? 而且既然用vc成功了,那代码翻译一下不就可以了吗?怎么会存在 firsthunk:=PIMAGE_THUNK_DATA((DWORD)ImageBase + (DWORD)ImportDesc^.FirstThunk); 明显的地址问题,这个很显然是跟使用的语言无关的.
世界上有很多东西是人力不可为的,不是什么团体就能做到的. 我可以随便写个代码,如果你能找到人破解,我出10w元都可以. 还有静态分析了可以动态修改,为什么要一堆代码来挂接? 而且既然用vc成功了,那代码翻译一下不就可以了吗?怎么会存在 firsthunk:=PIMAGE_THUNK_DATA((DWORD)ImageBase + (DWORD)ImportDesc^.FirstThunk); 明显的地址问题,这个很显然是跟使用的语言无关的.