首页
社区
课程
招聘
[求助]“外壳编写基础”自建输入表代码有疑惑
发表于: 2019-5-23 17:08 4138

[求助]“外壳编写基础”自建输入表代码有疑惑

2019-5-23 17:08
4138
ImportTableBegin:
ImportTable        DD        AddressFirst-ImportTable  
                DD        0,0 
AppImpRVA1        DD        DllName-ImportTable   
AppImpRVA2        DD        AddressFirst-ImportTable 
                DD        0,0,0,0,0
AddressFirst        DD        FirstFunc-ImportTable   
AddressSecond        DD        SecondFunc-ImportTable    
AddressThird        DD        ThirdFunc-ImportTable
                DD        0
DllName                DB        'KERNEL32.dll'
                DW        0
FirstFunc        DW        0        
                DB        'GetProcAddress',0
SecondFunc        DW        0
                DB        'GetModuleHandleA',0
ThirdFunc        DW        0
                DB        'LoadLibraryA',0
ImportTableEnd:

这段汇编里像ImportTable 、AppImpRVA1、AppImpRVA2的值都是如何计算出来的?我在调试的时候看到ImportTable = 0x00000028,
但我怎么都想不通,尤其是 ImportTable        DD        AddressFirst-ImportTable  这种定义是什么意思?

[招生]科锐逆向工程师培训(2024年11月15日实地,远程教学同时开班, 第51期)

收藏
免费 0
支持
分享
最新回复 (3)
雪    币: 1790
活跃值: (3786)
能力值: ( LV6,RANK:90 )
在线值:
发帖
回帖
粉丝
2
这个代码还是很容易懂的。ImportTableBegin到ImportTableEnd之间是壳自己设计的导入表格式。 没看到实际使用这个自定义导入表的代码,只能按结构分析大概格式是ImportTableBegin标识开始(该结构大概如下 +0的4字节(ImportTable)是结构体大小 +C的4字节(AppImpRVA1)存储导入的DLL名称相对于结构首地址的偏移  +10的4字节(AppImpRVA2)存储导入函数名称表的偏移)导入函数
2019-5-24 14:40
0
雪    币: 168
活跃值: (823)
能力值: ( LV10,RANK:173 )
在线值:
发帖
回帖
粉丝
3
abc
最后于 2019-5-27 10:34 被kaoyange编辑 ,原因:
2019-5-27 10:32
0
雪    币: 168
活跃值: (823)
能力值: ( LV10,RANK:173 )
在线值:
发帖
回帖
粉丝
4
拍拖 这个代码还是很容易懂的。ImportTableBegin到ImportTableEnd之间是壳自己设计的导入表格式。 没看到实际使用这个自定义导入表的代码,只能按结构分析大概格式是ImportTabl ...
感谢兄台,我再去补补汇编。
2019-5-27 10:33
0
游客
登录 | 注册 方可回帖
返回
//