winsun, toe,aking,jishiping,cker,bcb_fans,codecb等等帮忙看看啊如何得到dll中的函数(再没有lib文件的条件下)我看过cb自己的一个小工

huzhangyou 2002-08-14 12:27:15
能不能通过自己写函数得到它
这需要什么方面的知识
帮忙看看

这个地方只有100分哦 不好意思
另外一百分是这个地方的
http://www.csdn.net/expert/topic/938/938603.xml?temp=.2052729

谢谢大家
...全文
98 17 打赏 收藏 转发到动态 举报
AI 作业
写回复
用AI写文章
17 条回复
切换为时间正序
请发表友善的回复…
发表回复
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
o
呵呵
我看看
^_^
kingcaiyao 2002-08-14
  • 打赏
  • 举报
回复
tdump不用下载,是BCB自带的一个工具,你在WINDOWS的命令控制台下直接执行它就可以了。
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
nowcan大哥,什么地方有哪个tdump呢
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
LIBRARY ISAPITER.DLL

EXPORTS
check_isapi @3 ; check_isapi
handle_isapi @4 ; handle_isapi
init_isapi @1 ; init_isapi
log_isapi @2 ; log_isapi

这是用jishiping的方法得到的东西
能不能帮我解释一下
这是什么意思
@3是不是表示3个参数啊
那参数给怎么得到呢??


aking:tdump 是什么,不好意思,我没有用过
能给一个下在地址吗?
谢谢
NowCan 2002-08-14
  • 打赏
  • 举报
回复
TDump就可以看到函数列表
http://vip.6to23.com/NowCan1/tech/dll_crk.htm
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
lanzhengpeng2(兰征鹏) ( ) 信誉:100 2002-07-11 09:02:00 得分:0


如果这个DLL是按C++方式导出的,就使用IDPro来帮你分析。IDPro能直接分析出参数来。
如果是按C方式导出了,还是使用IDPro来反汇编,看汇编代码,就知道参数个数等信息了(还是少的可怜)。




这是在vc找到的
可是这个东西我还没有见过呢
呵呵
ghf21cn
帮我再看看
kingcaiyao 2002-08-14
  • 打赏
  • 举报
回复
用TDump
jishiping 2002-08-14
  • 打赏
  • 举报
回复
可以用 impdef xxx.txt xxx.dll 产生DLL的输出函数列表。
gfh21cn 2002-08-14
  • 打赏
  • 举报
回复
好了,
查到了
是这个
tlib xxx.lib,xxx.lst
gfh21cn 2002-08-14
  • 打赏
  • 举报
回复
这个工具只是把DLL变成LIB
并不能看到函数列表
好象还有一个工具。
把LIB变成一个函数列表文件的。

你先找找以前的帖子。
bcb_fans 2002-08-14
  • 打赏
  • 举报
回复
呵呵,我也不知道“骨灰级”到底是什么级,只是知道它代表某一个领域的最高水平。
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
呵呵
骨灰级什么那级啊
呵呵
谢谢大家
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
谢谢大家哦
呵呵
学到了很多东西
bcb_fans 2002-08-14
  • 打赏
  • 举报
回复
很遗憾的告诉你,不可能得到DLL中函数的参数(当然了,对一些骨灰级汇编高手来说,还是可是办到的,可惜我对汇编也迷迷糊糊;-))。
kingcaiyao 2002-08-14
  • 打赏
  • 举报
回复
直接用:
Tdump yourdllname.dll yourdllname.lst
然后查看yourdllname.lst就可以了。
webmin 2002-08-14
  • 打赏
  • 举报
回复
你需要知道DLL中的函数原型,如果知道原型剩下的事就好办了。
一种通用的DLL标准调方式。
void __fastcall TForm1::Button1Click(TObject *Sender)
{
void (*Dll_showaboutfrm)();
HINSTANCE hInst;
if((hInst=LoadLibrary("strabout.dll"))!=NULL)
{
if(((FARPROC &)Dll_showaboutfrm=GetProcAddress(hInst,"Dll_showaboutfrm"))!=NULL)
Dll_showaboutfrm();
FreeLibrary(hInst);
huzhangyou 2002-08-14
  • 打赏
  • 举报
回复
012400: 65 00 67 00 61 00 6C 00 54 00 72 00 61 00 64 00 e.g.a.l.T.r.a.d.
012410: 65 00 6D 00 61 00 72 00 6B 00 73 00 00 00 00 00 e.m.a.r.k.s.....
012420: 00 00 00 00 42 00 0D 00 01 00 4F 00 72 00 69 00 ....B.....O.r.i.
012430: 67 00 69 00 6E 00 61 00 6C 00 46 00 69 00 6C 00 g.i.n.a.l.F.i.l.
012440: 65 00 6E 00 61 00 6D 00 65 00 00 00 49 00 53 00 e.n.a.m.e...I.S.
012450: 41 00 50 00 49 00 54 00 45 00 52 00 2E 00 44 00 A.P.I.T.E.R...D.
012460: 4C 00 4C 00 00 00 00 00 5A 00 1D 00 01 00 50 00 L.L.....Z.....P.
012470: 72 00 6F 00 64 00 75 00 63 00 74 00 4E 00 61 00 r.o.d.u.c.t.N.a.
012480: 6D 00 65 00 00 00 00 00 42 00 6F 00 72 00 6C 00 m.e.....B.o.r.l.
012490: 61 00 6E 00 64 00 20 00 44 00 79 00 6E 00 61 00 a.n.d. .D.y.n.a.
0124A0: 6D 00 69 00 63 00 20 00 4C 00 69 00 6E 00 6B 00 m.i.c. .L.i.n.k.
0124B0: 20 00 4C 00 69 00 62 00 72 00 61 00 72 00 79 00 .L.i.b.r.a.r.y.
0124C0: 00 00 00 00 2E 00 05 00 01 00 50 00 72 00 6F 00 ..........P.r.o.
0124D0: 64 00 75 00 63 00 74 00 56 00 65 00 72 00 73 00 d.u.c.t.V.e.r.s.
0124E0: 69 00 6F 00 6E 00 00 00 35 00 2E 00 30 00 00 00 i.o.n...5...0...
0124F0: 00 00 00 00 50 00 1C 00 01 00 43 00 6F 00 6D 00 ....P.....C.o.m.
012500: 6D 00 65 00 6E 00 74 00 73 00 00 00 4E 00 65 00 m.e.n.t.s...N.e.
012510: 74 00 73 00 63 00 61 00 70 00 65 00 20 00 53 00 t.s.c.a.p.e. .S.
012520: 65 00 72 00 76 00 65 00 72 00 20 00 56 00 65 00 e.r.v.e.r. .V.e.
012530: 72 00 73 00 69 00 6F 00 6E 00 20 00 32 00 2E 00 r.s.i.o.n. .2...
012540: 30 00 00 00 44 00 00 00 00 00 56 00 61 00 72 00 0...D.....V.a.r.
012550: 46 00 69 00 6C 00 65 00 49 00 6E 00 66 00 6F 00 F.i.l.e.I.n.f.o.



我用 tdump -h xx.dll xx.txt
得到了上面的东西
看不懂哦
怎么办
还有哪个参数啊?

13,871

社区成员

发帖
与我相关
我的任务
社区描述
C++ Builder相关内容讨论区
社区管理员
  • 基础类社区
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告
暂无公告

试试用AI创作助手写篇文章吧