由买买提看人间百态

boards

本页内容为未名空间相应帖子的节选和存档,一周内的贴子最多显示50字,超过一周显示500字 访问原贴
Programming版 - 如何提取一个executable的所有dependency?
相关主题
有用matlab、C++给NAO编程的人吗?Java基于DI解决runtime dependency和异步执行,有啥好轮子?
VS C++项目的Reference是干什么的?为什么大部分C or C++都在linux下做?
help abt C++一道面试题
谁能比较一下ant和maven的有点缺点?should the .dll and .lib have the same name?
Re: 一个DLL的问题请教一个弱弱问题,关于#include的pathname
How to find the DLL dependency of an EXE file?一道面试怪题C++. (转载)
linker problem in VCC++ interdependence question
[土问]c# project里面加c++ project出错谁能推荐一个代码依赖关系的分析工具?
相关话题的讨论汇总
话题: dependency话题: executable话题: dll话题: 提取话题: exe
进入Programming版参与讨论
1 (共1页)
m*p
发帖数: 1331
1
如何提取一个executable的所有dependency, e.g. dll?
目的是为了能够在另一台电脑上精确的run这个exe.
a****l
发帖数: 8211
2
I don't think it is possible with 100% accuracy. One can easily create an
executable that is mathematically impossible to infer the dependency.

【在 m*p 的大作中提到】
: 如何提取一个executable的所有dependency, e.g. dll?
: 目的是为了能够在另一台电脑上精确的run这个exe.

M*********t
发帖数: 257
3
check this out
www.dependencywalker.com
I do not know how though
if yo ask me to write a C++ function to print out
the list of all dependencies

【在 m*p 的大作中提到】
: 如何提取一个executable的所有dependency, e.g. dll?
: 目的是为了能够在另一台电脑上精确的run这个exe.

x****u
发帖数: 44466
4
展开讲讲,动态加载的不算的话。

【在 a****l 的大作中提到】
: I don't think it is possible with 100% accuracy. One can easily create an
: executable that is mathematically impossible to infer the dependency.

m*p
发帖数: 1331
5
hey, guys, actually our company is gonna buy a license of this software,
which can do that precisely, quite amazing. I spent an hour observing and
can't figure out how they do it....
there is free license to play with.
http://www.xoreax.com/news/company_news066.htm
x****u
发帖数: 44466
6
这个东西无非是对PE做分析,找出所有的直接依赖来,然后再递归的找出间接依赖。对
COM什么的东西是无能为力的。

【在 m*p 的大作中提到】
: hey, guys, actually our company is gonna buy a license of this software,
: which can do that precisely, quite amazing. I spent an hour observing and
: can't figure out how they do it....
: there is free license to play with.
: http://www.xoreax.com/news/company_news066.htm

f******y
发帖数: 2971
7
sounds similar to ldd in linux.
m*p
发帖数: 1331
8
that's what I guess...
at the agent machine, i can only see the EST.exe running, which means this
software is able to obtain all exe+dll etc and wrap them up into one single
exe, which is so cool!
Why is not working with com?

【在 x****u 的大作中提到】
: 这个东西无非是对PE做分析,找出所有的直接依赖来,然后再递归的找出间接依赖。对
: COM什么的东西是无能为力的。

a****l
发帖数: 8211
9
就是动态的有问题啊!静态的当然好找,搜一遍文件名字符串就出来了.动态的,如果编程
的人有意不让你知道调用的关系,可以用各种trick隐藏,就没那么好找了.所以说,这是
防君子不防小人.

【在 x****u 的大作中提到】
: 展开讲讲,动态加载的不算的话。
x****u
发帖数: 44466
10
看了一下说明,dependency实际上还有个调试器,可以hook住dll加载的消息,得到更
完整的一张表。

single

【在 m*p 的大作中提到】
: that's what I guess...
: at the agent machine, i can only see the EST.exe running, which means this
: software is able to obtain all exe+dll etc and wrap them up into one single
: exe, which is so cool!
: Why is not working with com?

x****u
发帖数: 44466
11
可以搞个调试器动态监测,为了防这个小trick就不太够了。

【在 a****l 的大作中提到】
: 就是动态的有问题啊!静态的当然好找,搜一遍文件名字符串就出来了.动态的,如果编程
: 的人有意不让你知道调用的关系,可以用各种trick隐藏,就没那么好找了.所以说,这是
: 防君子不防小人.

a****l
发帖数: 8211
12
是的,调试器会更有效的,但是也不是没办法的.比如说,随便弄10个DLL,然后用机器的
serial number产生一个hash,根据结果调用其中一个DLL,这样一来你调试的时候能看到
调用了哪个,结果移植到另一台机器上就是missing dll crash了.如果我把这几个文件
分散到不同的目录中,然后靠计算产生目录的名字,你就不那么好找了.然后你可能发现
移植的机器10台中随机的有一两台怎么都不好使,这就是tricks的目的:让随便不经允许
就移植的人的日子难过.

【在 x****u 的大作中提到】
: 可以搞个调试器动态监测,为了防这个小trick就不太够了。
m*p
发帖数: 1331
13
it's already done, i found matlab can't be distributed into agents.

【在 a****l 的大作中提到】
: 是的,调试器会更有效的,但是也不是没办法的.比如说,随便弄10个DLL,然后用机器的
: serial number产生一个hash,根据结果调用其中一个DLL,这样一来你调试的时候能看到
: 调用了哪个,结果移植到另一台机器上就是missing dll crash了.如果我把这几个文件
: 分散到不同的目录中,然后靠计算产生目录的名字,你就不那么好找了.然后你可能发现
: 移植的机器10台中随机的有一两台怎么都不好使,这就是tricks的目的:让随便不经允许
: 就移植的人的日子难过.

x****u
发帖数: 44466
14
人家都是clean安装后比较目录的。

【在 a****l 的大作中提到】
: 是的,调试器会更有效的,但是也不是没办法的.比如说,随便弄10个DLL,然后用机器的
: serial number产生一个hash,根据结果调用其中一个DLL,这样一来你调试的时候能看到
: 调用了哪个,结果移植到另一台机器上就是missing dll crash了.如果我把这几个文件
: 分散到不同的目录中,然后靠计算产生目录的名字,你就不那么好找了.然后你可能发现
: 移植的机器10台中随机的有一两台怎么都不好使,这就是tricks的目的:让随便不经允许
: 就移植的人的日子难过.

1 (共1页)
进入Programming版参与讨论
相关主题
谁能推荐一个代码依赖关系的分析工具?Re: 一个DLL的问题
c++设计一问:如何动态地调用不同的算法的dll ?How to find the DLL dependency of an EXE file?
急问:compile and build dependencylinker problem in VC
Listing files under a directory in C++[土问]c# project里面加c++ project出错
有用matlab、C++给NAO编程的人吗?Java基于DI解决runtime dependency和异步执行,有啥好轮子?
VS C++项目的Reference是干什么的?为什么大部分C or C++都在linux下做?
help abt C++一道面试题
谁能比较一下ant和maven的有点缺点?should the .dll and .lib have the same name?
相关话题的讨论汇总
话题: dependency话题: executable话题: dll话题: 提取话题: exe