首页
社区
课程
招聘
请教TLS table的处理
发表于: 2004-5-17 20:41 7037

请教TLS table的处理

2004-5-17 20:41
7037
是不是只要把tls table copy出来然后修正data dir的指针就可以了,loader要不要做什么工作?

[培训]科锐逆向工程师培训第53期2025年7月8日开班!

收藏
免费 6
支持
分享
最新回复 (6)
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
2
看 upx 源码
2004-5-18 11:05
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
3
upx有源码么?能不能麻烦兄弟传上来:)
2004-5-18 13:17
0
雪    币: 274
活跃值: (165)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
4
最初由 cyclotron 发布
是不是只要把tls table copy出来然后修正data dir的指针就可以了,loader要不要做什么工作?


你说的基本上差不多,就是把原TLS table复制到新的PE中来,修正数据目录,最后注意重建重定位项。   ----------我记得好象是这样的,一年前弄过,现在忘了。
2004-5-18 13:44
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
5
最初由 老王 发布


你说的基本上差不多,就是把原TLS table复制到新的PE中来,修正数据目录,最后注意重建重定位项。 ----------我记得好象是这样的,一年前弄过,现在忘了。


谢谢!重建重定位项是什么意思,不会是reloc吧,loader处理tls的时候还有什么要注意的,我看到yoda源码中的loader把Address of Index
清零了,不明白是什么意思。
2004-5-18 13:56
0
雪    币: 274
活跃值: (165)
能力值: ( LV4,RANK:50 )
在线值:
发帖
回帖
粉丝
6
Peditor之TLS Table Viewer:
TLS Infos
Directory Table: DWORD
TLS Data: DWORD
Index Variable: DWORD
Callback Addresses: DWORD

刚才看了看以前的代码,我的做法是:
数据目录之TLS项RVA指向新建的TLS Table,TLS Table中前两项重新生成,绝对地址,需在新PE中预留出空间(尺寸忘了),后两项照搬。
这四项均加在重定位项中,也就是说数据目录中的重定位也需要你来定置,对EXE应该是可以忽略的。

我也是自己试验出来的,并没有真正查看有关TLS的文档,建议你找找PE中有关TLS的文档好好看看再下手。
2004-5-18 20:51
0
雪    币: 392
活跃值: (909)
能力值: ( LV9,RANK:690 )
在线值:
发帖
回帖
粉丝
7
谢谢您的指点:)
2004-5-18 21:30
0
游客
登录 | 注册 方可回帖
返回