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

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

2019-5-23 17:08
3922
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  这种定义是什么意思?

[培训]《安卓高级研修班(网课)》月薪三万计划,掌握调试、分析还原ollvm、vmp的方法,定制art虚拟机自动化脱壳的方法

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