2

[下载] AheadLib修改 支持x64支持类/命名空间

yeyeshun 2018-1-31 17:26 1431

2018/2/14 : 感谢 csjwaman 提交的bug,一个WIN64宏范围不对影响到了32位生成的代码。

                                               年前不再更新了,祝大家新年快乐!

                   更新了附件,请遇到问题的朋友重新下载。

*****************************************************************************************

2018/2/13: 对于数据与函数的区分,多加了一种判断方式。

                   更新了附件,有需要的朋友请重新下载。

*****************************************************************************************

2018/2/12: 支持x64
                   更新了附件,有需要的朋友请重新下载。
*****************************************************************************************
2018/2/9 : 最近重新熟悉了代码,按照我理解的程序逻辑重新把功能完善了一下。
            感谢 hackbs 提交的bug。
                   更新了附件,请遇到问题的朋友重新下载。
*****************************************************************************************
2018/2/7 : 感谢 csjwaman 提交的bug,我解析函数名的时候不严谨,导致某些情况下崩溃。
                   更新了附件,请遇到问题的朋友重新下载。
*****************************************************************************************
在此版本的基础上修改的:
https://bbs.pediy.com/thread-196111.htm
感谢前人的努力与分享。

前一段帮朋友做一个劫持,发现该dll含有导出类,手边的aheadlib版本不支持,凑合着手动改了改应付过去了。
后来觉得每次手动也不是事,于是下载了一份ysoni修改过的源码,做了一些修改,支持了。
最后于 5天前 被yeyeshun编辑 ,原因:
上传的附件:
最新回复 (43)
sjh_pediy 2018-1-31 18:19
2
好样的
ytmrgw 2018-2-1 09:30
3
谢谢分享
hzqst 2018-2-5 16:38
4
谢谢分享
2
KevinsBobo 2018-2-5 17:48
5
感谢分享
聖blue 2018-2-5 19:56
6
deadlydk 2018-2-6 10:40
7
谢谢分享
kakasasa 2018-2-6 17:07
8
感谢分享
jgs 2018-2-6 19:14
9
感谢分享 
jgs 2018-2-6 19:17
10
悲剧了,XP下不能用,楼主编译时没有选择兼容XP。
24
csjwaman 2018-2-6 21:31
11
源码编译通不过
2
yeyeshun 2018-2-7 10:26
12
jgs 悲剧了,XP下不能用,楼主编译时没有选择兼容XP。[em_16]
有源码,大哥自己重新编译下就好了
2
yeyeshun 2018-2-7 10:26
13
csjwaman 源码编译通不过
这个是原版的问题,有一个函数没声明,我不清楚那部分的逻辑不敢乱改,自己注释掉就好了
24
csjwaman 2018-2-7 13:48
14
yeyeshun 这个是原版的问题,有一个函数没声明,我不清楚那部分的逻辑不敢乱改,自己注释掉就好了
加载这个DLL时异常退出。请楼主看看是什么原因。
上传的附件:
2
yeyeshun 2018-2-7 14:28
15
csjwaman 加载这个DLL时异常退出。请楼主看看是什么原因。
额,这个是我解析的时候出错。我当时测试的时候思路不够广,这个样本很好。马上更新
xiaohucode 2018-2-7 19:56
16
感谢分享
StriveXjun 2018-2-7 22:52
17
https://github.com/strivexjun/AheadLib-x86-x64
yes师傅可以看看我写的这个,可以识别导出数据函数、中转函数。
rescuo 2018-2-8 08:29
18
厉害啊,都是大神级别的
2
yeyeshun 2018-2-8 10:28
19
StriveXjun https://github.com/strivexjun/AheadLib-x86-x64 yes师傅可以看看我写的这个,可以识别导出数据函数、中转函数。
小俊师傅666啊
早说你有我就不费这脑子了哈哈哈
24
csjwaman 2018-2-8 15:59
20
StriveXjun https://github.com/strivexjun/AheadLib-x86-x64 yes师傅可以看看我写的这个,可以识别导出数据函数、中转函数。
生成的CPP文件貌似不能编译:(
24
csjwaman 2018-2-8 16:00
21
yeyeshun 额,这个是我解析的时候出错。我当时测试的时候思路不够广,这个样本很好。马上更新
修改后的可以正常编译了,赞!
hackbs 2018-2-8 16:45
22
导出这个DLL的源码不能正常编译

上传的附件:
2
yeyeshun 2018-2-9 16:31
23
hackbs 导出这个DLL的源码不能正常编译
好的,在改
改完了,请重新下载附件测试。只保证能编译通过,具体能不能正常使用请回帖反馈,谢谢。
jgs 2018-2-9 20:58
24
感谢楼主重新修改编译后的版本支持了XP
24
csjwaman 2018-2-10 20:36
25
yeyeshun hackbs 导出这个DLL的源码不能正常编译 好的,在改改完了,请重新下载附件测试。只保证能编译通过,具体能不能正常使用请回帖反馈,谢谢。
VC++60下貌似还是编译不了。
qqsunqiang 2018-2-10 22:30
26
谢谢楼主的分享。
2
yeyeshun 2018-2-11 10:10
27
csjwaman VC++60下貌似还是编译不了。
我用的2013,不清楚vc6是不是有问题。可以把错误提示发上来我看看能不能解决,我自己测试2013是可以编译的
24
csjwaman 2018-2-11 12:17
28
yeyeshun 我用的2013,不清楚vc6是不是有问题。可以把错误提示发上来我看看能不能解决,我自己测试2013是可以编译的
Deleting  intermediate  files  and  output  files  for  project  'AdbWinApi  -  Win32  Release'.
--------------------Configuration:  AdbWinApi  -  Win32  Release--------------------
Compiling...
StdAfx.cpp
AdbWinApi.cpp
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2039:  'basic_string'  :  is  not  a  member  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2143:  syntax  error  :  missing  ';'  before  '<'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2079:  'basic_string'  uses  undefined  class  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2059:  syntax  error  :  '<'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2027:  use  of  undefined  type  'stlp_std'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  warning  C4099:  'stlp_std'  :  type  name  first  seen  using  'class'  now  seen  using  'struct'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2027:  use  of  undefined  type  'stlp_std'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  error  C2238:  unexpected  token(s)  preceding  ';'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2027:  use  of  undefined  type  'stlp_std'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2143:  syntax  error  :  missing  ';'  before  '<'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2079:  'basic_string'  uses  undefined  class  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2488:  'basic_string'  :  'naked'  can  only  be  applied  to  function  definitions
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2143:  syntax  error  :  missing  ';'  before  '<'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2027:  use  of  undefined  type  'stlp_std'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  warning  C4099:  'stlp_std'  :  type  name  first  seen  using  'class'  now  seen  using  'struct'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2027:  use  of  undefined  type  'stlp_std'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(687)  :  see  declaration  of  'stlp_std'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(725)  :  error  C2039:  'interface_name'  :  is  not  a  member  of  'AdbInterfaceObject'
                C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(678)  :  see  declaration  of  'AdbInterfaceObject'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(726)  :  error  C2143:  syntax  error  :  missing  ';'  before  '{'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(726)  :  error  C2447:  missing  function  header  (old-style  formal  list?)
Error  executing  xicl6.exe.

AdbWinApi.dll  -  17  error(s),  2  warning(s)
2
yeyeshun 2018-2-11 17:59
29
csjwaman Deleting intermediate files and output files for project 'AdbWinApi - Win32 Release'. ------------- ...
#include  <string>
using  namespace  std;
这个加上了没?
24
csjwaman 2018-2-11 21:02
30
yeyeshun #include using namespace std; 这个加上了没?
加上后错误少了些,但还是出错:
Deleting  intermediate  files  and  output  files  for  project  'AdbWinApi  -  Win32  Release'.
--------------------Configuration:  AdbWinApi  -  Win32  Release--------------------
Compiling...
StdAfx.cpp
AdbWinApi.cpp
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(700)  :  warning  C4099:  'char_traits<unsigned  short>'  :  type  name  first  seen  using  'class'  now  seen  using  'struct'
                C:\VC++6.xPro\sdk\stl\stlport\stlport\stl/char_traits.h(244)  :  see  declaration  of  'char_traits<unsigned  short>'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(700)  :  error  C2908:  explicit  specialization;  'char_traits<unsigned  short>'  has  already  been  instantiated  from  the  primary  template
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(700)  :  error  C2908:  explicit  specialization;  'allocator<unsigned  short>'  has  already  been  instantiated  from  the  primary  template
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(700)  :  error  C2908:  explicit  specialization;  'basic_string<unsigned  short,class  stlp_std::char_traits<unsigned  short>,class  stlp_std::allocator<unsigned  short>  >'  has  already  been  instantiated  from  th
e  primary  template
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(738)  :  warning  C4099:  'char_traits<unsigned  short>'  :  type  name  first  seen  using  'class'  now  seen  using  'struct'
                C:\VC++6.xPro\sdk\stl\stlport\stlport\stl/char_traits.h(244)  :  see  declaration  of  'char_traits<unsigned  short>'
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(738)  :  error  C2908:  explicit  specialization;  'char_traits<unsigned  short>'  has  already  been  instantiated  from  the  primary  template
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(738)  :  error  C2908:  explicit  specialization;  'allocator<unsigned  short>'  has  already  been  instantiated  from  the  primary  template
C:\VC++6.xPro\MyProjects\AdbWinApi\AdbWinApi.cpp(738)  :  error  C2908:  explicit  specialization;  'basic_string<unsigned  short,class  stlp_std::char_traits<unsigned  short>,class  stlp_std::allocator<unsigned  short>  >'  has  already  been  instantiated  from  th
e  primary  template
Error  executing  xicl6.exe.

AdbWinApi.dll  -  6  error(s),  2  warning(s)

2
yeyeshun 2018-2-12 10:11
31
csjwaman 加上后错误少了些,但还是出错: Deleting intermediate files and output files for project 'AdbWinApi - Win32 Release ...
可能是sdk版本的问题吧,我用2013是可以编译的。可能是一些语法不被识别,我没有vc6,没办法测试
五德转移 2018-2-12 11:13
32
clear()  改成empty()  重定义变量改个名字(vc6)。
2
yeyeshun 2018-2-12 15:23
33
支持x64了。有需求的朋友们就吃点亏当小白鼠了,有问题请回帖反馈,谢谢!
24
csjwaman 2018-2-12 16:53
34
貌似单引号错了:
namespace  AdbObjectHandle
{
       ALCPP  const  `vftable'
       {
               __asm  JMP  pfn___7AdbObjectHandle__6B_;
       }
}
2
yeyeshun 2018-2-12 17:19
35
csjwaman 貌似单引号错了: namespace AdbObjectHandle { ALCPP const `vftable' { __asm JMP pfn___7AdbObjectHand ...
你试试新版本吧,这个我之前的代码没处理好,这个虚函数表识别错误,新版本应该没有这个错误了
24
csjwaman 2018-2-12 21:06
36
yeyeshun 你试试新版本吧,这个我之前的代码没处理好,这个虚函数表识别错误,新版本应该没有这个错误了
新版仍然  ALCPP    const    `vftable'错误:()
2
yeyeshun 6天前
37
csjwaman 新版仍然 ALCPP const `vftable'错误:()
这个说来话长。。中间修复的代码使用了更通用的一种方式去识别数据与函数,然后随便在本机找了一个AdbWinApi.dll能通过我就直接发布了。
今天重新下载了楼上附件的AdbWinApi.dll,发现确实不一样,之前那种方法无法识别出来虚函数表,所以加了一种判断方式,这次应该能过了。
麻烦重新下载测试,有劳,多谢!
24
csjwaman 6天前
38
yeyeshun 这个说来话长。。中间修复的代码使用了更通用的一种方式去识别数据与函数,然后随便在本机找了一个AdbWinApi.dll能通过我就直接发布了。 今天重新下载了楼上附件的AdbWinApi.dll,发现 ...
楼主的敬业精神值得敬佩,赞一个!
2
yeyeshun 6天前
39
csjwaman 楼主的敬业精神值得敬佩,赞一个!
谬赞了,谢谢。
也非常感谢各位帮忙测试,如果是到后面我自己在使用过程中才测试出来,代码早就忘光了改起来就非常麻烦了,谢谢大家了!
AperOdry 6天前
40
感谢分享,很适合我这种懒人 
24
csjwaman 6天前
41
yeyeshun 谬赞了,谢谢。 也非常感谢各位帮忙测试,如果是到后面我自己在使用过程中才测试出来,代码早就忘光了改起来就非常麻烦了,谢谢大家了!
新版貌似对这个DLL编译不了:(
上传的附件:
24
csjwaman 6天前
42
五德转移 clear() 改成empty() 重定义变量改个名字(vc6)。
没明白意思
2
yeyeshun 5天前
43
csjwaman 新版貌似对这个DLL编译不了:(
尴尬了,一个低级错误。最近一直在搞64位dll的导出测试,结果32位的有一个WIN64宏范围不对,留了一点在32位上导致编译失败。现已修复。
另外这个dll是加过壳的,只能使用直接转发。“即时调用函数”也许可以,但是可能存在问题,并且对现有代码逻辑还要做不少修改,所以放弃了
最后于 5天前 被yeyeshun编辑 ,原因:
24
csjwaman 5天前
44
yeyeshun csjwaman 新版貌似对这个DLL编译不了:( 尴尬了,一个低级错误。最近一直在搞64位dll的导出测试,结果32位的有一个WIN64宏范围不对,留 ...
现在的版本还是不能“即时调用函数”,2月7日的反而可以,而且功能正常。
返回