首页
社区
课程
招聘
翻译 TLS 处理
发表于: 2005-10-23 12:19 10389

翻译 TLS 处理

2005-10-23 12:19
10389

英语又退步了唉,不准就不准吧凑或看。

支持 TLS

原文:Writing Your Own Packer - by BigBoote

TLS(Thread Local Storage,线程局部存储)是一种便利的编程机制。我们通常不使用,因此并不太关心。但是要压缩的原程序可能会用到它。事实上,Delphi 总是使用它,如果我们打算支持 Delphi 程序,最好兼容它。

TLS 基本上是通过 API 实现。大致过程是,你分配一个“ Index(索引)”并存储在一个全局变量中。通过这个 Index 获得针对每个线程的一个双字值。通常使用这个值保存一个为每个线程分配好的内存块的指针。人们认为这样很乏味,一个特殊机制的出现使得实现它更容易些。因此,你可以这样写代码:

__declspec ( thread ) int tls_int_value = 0;
origdirinfo[IMAGE_DIRECTORY_ENTRY_TLS].VirtualAddress
GlobalExternVars
{
//(other stuff we previously described)
IMAGE_TLS_DIRECTORY tls_original;
IMAGE_TLS_DIRECTORY tls_proxy;
};
tls_proxy.AddressOfIndex
tls_proxy.AddressOfCallBacks
DWORD TLS_slot_index;

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

收藏
免费 7
支持
分享
最新回复 (7)
雪    币: 61
活跃值: (160)
能力值: ( LV9,RANK:170 )
在线值:
发帖
回帖
粉丝
2
不懂!
2005-10-23 13:50
0
雪    币: 343
活跃值: (611)
能力值: ( LV9,RANK:810 )
在线值:
发帖
回帖
粉丝
3
good!
2005-10-23 18:45
0
雪    币: 233
活跃值: (130)
能力值: ( LV8,RANK:130 )
在线值:
发帖
回帖
粉丝
4
曰:强贴必留名, 我顶
2005-10-24 08:52
0
雪    币: 207
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
5
支持下!
2005-10-24 21:52
0
雪    币: 238
活跃值: (326)
能力值: ( LV12,RANK:450 )
在线值:
发帖
回帖
粉丝
6
forgot 版主为何不将全文翻译,本站外文翻译区有此文前部的部分翻译,但译文不太准确,远不如版主的水平,从译文看译者计算机基本知识或习惯用语不太熟悉,所以有些地方用词不当。
例如:
* Support for code relocation fixups in dlls if you care about packing dlls. Recall ActiveX controls are dlls too, as are other common things you might be interested in packing
支持DLLs加壳,要对代码的偏移修正。同样ActiveX也是DLLs, 假如你感兴趣的话还有其他一般性的东西你需要考虑。
(这里relocation fixups 应该是指重定位表)
* Support for some stuff that must be available even in the compressed form. This includes some of your resources and export names in dlls
支持压缩形式的数据,包括一些资源和DLLs里的输出名。
(这里 export 应该是指输出表)
* Dealing with bound imports
处理被限制的输入。
(这里 imports 应该指输入表)
* Support for stripping out directory entries that will confuse the Windows loader since the decompression won't have happened and they will point to nothing useful, like the IAT and debug info
支持剥除可能使Windows载入器出错的目录项,使解压呈现可以执行,防止代码指向无用的数据,比如图象注释带还有调试信息。
(这里directory entries 应该指 ImageDataDirectoryEntry 表,即节表的地址索引表;这里 IAT 应该指‘输入地址表’(Import Address Table))
2005-10-26 16:16
0
雪    币: 6075
活跃值: (2236)
能力值: (RANK:1060 )
在线值:
发帖
回帖
粉丝
7
好文章不过太长了,我没耐心译完啊。

看这篇文章还是用金山词霸比较好,哈哈。
2005-10-26 17:34
0
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
8
牛x阿。学习
2005-10-26 21:08
0
游客
登录 | 注册 方可回帖
返回
//