首页
社区
课程
招聘
新人提问:反汇编后的动态库函数能否把函数加到VC工程?
发表于: 2007-1-9 22:56 7308

新人提问:反汇编后的动态库函数能否把函数加到VC工程?

2007-1-9 22:56
7308
各位大侠好,本人初来乍到,有个问题要请教:

从动态库反汇编的函数,怎么样才能添加到自己的VC工程重新编译?
或者是不可能实现的?这个dll导出函数的输入参数是6个short 型矩阵指针。
怎么才能把代码段和这6个参数的数据段找到并添加到工程呢?
恳请做过类似工作的大哥们帮忙回答。
如果这里的高手说不行,我就不去尝试了。
非常感谢!

[课程]FART 脱壳王!加量不加价!FART作者讲授!

收藏
免费 0
支持
分享
最新回复 (16)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
貌似要写这个的动态链接库的导入库(.lib),再写个头文件(.h)加入到工程就 可以了吧
2007-1-9 23:22
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
3
可以用楼上的方法+dll2lib:
http://www.pediy.com/tools/Editors/Dll2lib/dll2lib.rar
2007-1-10 12:18
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
4
非常感谢楼上两位的回复!来这个论坛真是倍感亲切啊!
我下了那个DLL2Lib,但是没太看懂:好像是把动态库转化成静态库调用的?
我的目的是把动态库中的某一个(不是几个)函数汇编代码单独提取出来,嵌入到我的VC代码中作为一个函数重新编译。一定不能再带原来的头文件和lib文件。
具体怎么提取,谁有好的办法?具体指点一下子,多谢!
2007-1-10 14:39
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
5
反汇编该函数,分析出入口和出口参数,再拷贝修改移植。
2007-1-10 15:21
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
6
楼上的兄弟能具体点吗?我今天等了一天了,就在线等这里的回复。非常感谢你!我要反汇编的那个函数有8个输入参数,都是unsigned short 型二维数组矩阵,静态声明的,大小都是[256][256],其中6个输入,2个作为返回输出。反汇编后看的好晕啊!就是数据段的参数怎么传到函数里面,怎么返回的看不懂。push和pop太多了。
在线等,谢谢!
2007-1-10 17:39
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
7
dll2lib怎么用啊,大侠们给个例子啊
2007-1-10 19:55
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
8
楼上的签名档照片是谁啊?靓得让人晕啊!ZZ
2007-1-10 21:19
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
9
另外一个问题:
对于 以静态二维数组为输入参数的动态库函数:
  int intFuncABC(a1[256][256],a2[256][256],a3[256][256],a4[256][256],a5[256][256],a6[256][256],x[256][256],y[256][256]);
上面的库函数8个参数都是静态二维数组,在调用之前,我生成输入参数的时候,要静态申请8个同样的二维数组,结果运行就出错了!
经查是因为调用这个函数之前,静态申请的内存太大。
我想问一下:能否用二维指针动态生成二维数组来做为参数传递给intFuncABC()?

如下:

a1=new short* [256];
VERIFY(r0!=NULL);
for(int  k=0;k<256;k++)
{
  r0[k]=new short [256];
  VERIFY(a1!=NULL);
  
}

for(int m=0;m<256;m++)
{
  for(int n=0;n<256;n++)
  {

a1[m][n]=0;

}
}

从a1,a2,...a6,x,y都这样申请,
问题是怎么调用intFuncABC呢?
编译出错:

error C2664: 'intFuncABC' : cannot convert parameter 1 from 'short ** ' to 'short [][256]'
怎么解决呢?不要告诉我把intFuncABC的输入数组参数改成二级指针就行了,因为这是个dll库函数,只能用不能改。再次谢谢这里的每一位!
急急急!
2007-1-10 21:35
0
雪    币: 242
活跃值: (14)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
10
看LZ的反汇编功底了。
2007-1-10 22:07
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
11
再顶一下!
继续等答案!
类似这样的反汇编代码重新使用的问题,应该是来这里的大侠们经常遇到的吧?
是不是我问的太肤浅了人家懒得理?
2007-1-11 08:42
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
12
问题还是没有解决,有人可以帮忙吗?
2007-1-15 19:20
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
13
顶自己不违规吧?
呵呵,继续等答案!
2007-1-16 10:13
0
雪    币: 214
活跃值: (10)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
14
我也帮你顶
2007-1-16 10:14
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
15
难道我遇到的问题,都是别人遇不到的?
郁闷啊!
2007-1-17 15:36
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
16
继续问!继续等!继续顶!
2007-1-31 15:39
0
雪    币: 603
活跃值: (617)
能力值: ( LV12,RANK:660 )
在线值:
发帖
回帖
粉丝
17
我比较笨,通常是读懂反汇编代码,然后再移植修改。
2007-1-31 17:17
0
游客
登录 | 注册 方可回帖
返回
//