| 网站首页 | 业界新闻 | 小组 | 威客 | 人才 | 下载频道 | 博客 | 代码贴 | 在线编程 | 编程论坛
欢迎加入我们,一同切磋技术
用户名:   
 
密 码:  
共有 2363 人关注过本帖
标题:如果使用一个程序去执行另外一个程序的函数
只看楼主 加入收藏
你们都要疼我哦
Rank: 11Rank: 11Rank: 11Rank: 11
来 自:火星
等 级:贵宾
威 望:49
帖 子:1296
专家分:2746
注 册:2008-7-13
收藏
得分:0 
磨磨刀最好了。 win32汇编 反汇编调试 PE文件知识 这些是必备的。

估计你没源码 要用到反汇编调试
进程空间是隔离的,又要有进程间通信的问题
有可能要修改EXE或者DLL文件,又要用到PE文件的知识。
你的知识结构如果仅仅在高级语言的源码之上,弄这个还是有点困难的。

小妹,哥哥看你骨骼清奇,绝非凡人,将来必成大业,不如这样,你先把裤裤脱了,待哥哥为你开启灵窍,然后我们一起努力钻研如何
2010-08-01 12:15
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
以下是引用ioriliao在2010-8-1 12:15:25的发言:

Hook API已经觉得没意思了,现在想搞明白如何Call 另外一个进程的API 或者用户函数。
吁,想先听听你的看法,你认为要调用另外一个进程中的函数,首先应该如何做?
做不做得到先不谈,先说想法。

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-01 12:22
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用东海一鱼在2010-8-1 12:22:44的发言:

吁,想先听听你的看法,你认为要调用另外一个进程中的函数,首先应该如何做?
做不做得到先不谈,先说想法。
我最开始想到的就是找到目标进程ID,然后打开这个进程,然后读取这个进程的内存数据进行分析,找出函数的地址,然后就可以Call了。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-08-01 12:29
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用你们都要疼我哦在2010-8-1 12:15:43的发言:

磨磨刀最好了。 win32汇编 反汇编调试 PE文件知识 这些是必备的。

估计你没源码 要用到反汇编调试
进程空间是隔离的,又要有进程间通信的问题
有可能要修改EXE或者DLL文件,又要用到PE文件的知识。
你的知识结构如果仅仅在高级语言的源码之上,弄这个还是有点困难的。
这些也在磨当中了,有困难的去弄才有意思。话说回来不要老停在语言层面上的东西。我在论坛里看到的都是语言层面上的问题,算法另当别论啦。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-08-01 12:31
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
不错,确实是这样,首先找出函数地址并分析其传参方式及参数个数和含义。

但是具体的CALL方式你还没说啊?直接在你的程序里调用这个地址吗?好像不妥吧?

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-01 12:34
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用东海一鱼在2010-8-1 12:34:34的发言:

不错,确实是这样,首先找出函数地址并分析其传参方式及参数个数和含义。

但是具体的CALL方式你还没说啊?直接在你的程序里调用这个地址吗?好像不妥吧?
这个我觉得应该要把call的代码写在dll里,用注入的方式。写在本进程是不可能的。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-08-01 12:36
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
好,既然你明白用注入dll来把你的代码映射到目标进程空间,是实现你的目标的头一步。
那你能告诉我怎么把你的dll注入目标进程吗?

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-01 12:41
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用东海一鱼在2010-8-1 12:41:45的发言:

好,既然你明白用注入dll来把你的代码映射到目标进程空间,是实现你的目标的头一步。
那你能告诉我怎么把你的dll注入目标进程吗?
我只会用全局钩子的方式,全局钩子会把DLL附到每一个受钩子影响的进程。

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-08-01 12:45
东海一鱼
Rank: 13Rank: 13Rank: 13Rank: 13
等 级:贵宾
威 望:48
帖 子:757
专家分:4760
注 册:2009-8-10
收藏
得分:0 
好,先不谈这种注入方式的优劣,既然已经注入了。你的迷惑又在哪里?不知道如何调用??

举世而誉之而不加劝,举世而非之而不加沮,定乎内外之分,辩乎荣辱之境,斯已矣。彼其于世未数数然也。
2010-08-01 12:50
ioriliao
Rank: 7Rank: 7Rank: 7
来 自:广东
等 级:贵宾
威 望:32
帖 子:2829
专家分:647
注 册:2006-11-30
收藏
得分:0 
以下是引用东海一鱼在2010-8-1 12:50:54的发言:

好,先不谈这种注入方式的优劣,既然已经注入了。你的迷惑又在哪里?不知道如何调用??
就是操作细节上不知道如何入手,想找些系统点的教程来看下,即是说我现在是需要知道实现的技术细节,系统地讲解的技术细节。带上些简单的Demo。
类似我博客上的几篇文章:http://

/images/2011/147787/2011051411021524.jpg" border="0" />
2010-08-01 12:58
快速回复:如果使用一个程序去执行另外一个程序的函数
数据加载中...
 
   



关于我们 | 广告合作 | 编程中国 | 清除Cookies | TOP | 手机版

编程中国 版权所有,并保留所有权利。
Powered by Discuz, Processed in 0.033181 second(s), 7 queries.
Copyright©2004-2024, BCCN.NET, All Rights Reserved