惯性聚合 高效追踪和阅读你感兴趣的博客、新闻、科技资讯
阅读原文 在惯性聚合中打开

推荐订阅源

The Cloudflare Blog
U
Unit 42
F
Fortinet All Blogs
雷峰网
雷峰网
OSCHINA 社区最新新闻
OSCHINA 社区最新新闻
月光博客
月光博客
Y
Y Combinator Blog
罗磊的独立博客
V
Visual Studio Blog
大猫的无限游戏
大猫的无限游戏
J
Java Code Geeks
量子位
奇客Solidot–传递最新科技情报
奇客Solidot–传递最新科技情报
爱范儿
爱范儿
B
Blog RSS Feed
aimingoo的专栏
aimingoo的专栏
有赞技术团队
有赞技术团队
T
Tailwind CSS Blog
Microsoft Security Blog
Microsoft Security Blog
L
LangChain Blog
I
InfoQ
博客园 - 叶小钗
博客园 - 聂微东
Last Week in AI
Last Week in AI

博客园 - Jason.NET

请不要为了自己的商业目地不择手段 DOTNET 32位下的程序在64位下真的可以运行吗? - Jason.NET - 博客园 加密狗保护的VFP软件破解 (朋友之作,代发) 使 Framework 2.0 的程序集不用安装 Framework 就可以运行的工具免费发布了 怎样给没有源代码的.net程序添加修改功能 谁不需要赚钱 -- 想,还要敢想 - Jason.NET 发布一个武汉的.net程序员招骋信息 中国软件业的混乱,观总价值2亿项目后的感叹 - Jason.NET - 博客园 刚刚收到来至 Reliasoft Corporation 的一封版权申明信 我想列出一个保护类软件的黑名单 排名和积分都大大降低了?怎么回事? 一款非混淆软件 for .net 保护 各种Web脚本下,日历的实现方法 为什么浏览器有这么多标准??? 由浅至深,谈谈.NET混淆原理 -- 五(MaxtoCode原理),六(其它保护方法) QQ有漏洞??? 由浅至深 谈谈.NET混淆原理 (四) -- 反混淆(原理 + 工具篇) WEB程序员,界面美化是你心中永远的痛吗? 由浅至深 谈谈.NET混淆原理(三)-- 流程混淆(续)
Thinstall 包装 Dotnet 程序分析
Jason.NET · 2005-11-02 · via 博客园 - Jason.NET

首先,非常抱歉之前的文章中说 Thinstall 对Dotnet 压缩会生成一个本地的文件,然后再调用.

这是我的失误,一直都以为是这样,今天在 Pediy 上看到有人问,我才光掉点时间去研究了 Thinstall的原理,由于太忙,所以分析的时候没有做笔记,现在把大至的原理给大家讲一讲.希望大家原谅我之前的不负责任. :)

好久没在 Pediy 上转了,今天上去转了转,下了点新版本的调试器和反汇编工具,充实了一下自己的弹药库。然后上论坛转转,看到有人问:“为什么有的Dotnet没有CLR Header?”。

Codelib Resource 是目标程序,我下载下来,用 Ildasm 一看,报错,没有 Clr header。ok。

开始分析。 我习惯使用  ODBG

目标中断在程序入口处。

还好 Thinstall 没有 Anit , 一路跟下去,一开始是自动生成asm,然后是有许多花指令。最后解压原 Assembly ,并将执行权交给 mscoree 执行

他利用了 Mscoree!_CorExeMain 来调用 Dotnet Assembly

因为一个标准的 Dotnet Application 的入口其实都是一段本地代码,即 Mscoree!_CorExeMain

而 Thinstall 把原 Assembly 解压后,存在的位置就是 BaseAddress + 0x2000左右.所以,只需要 dump BaseAddress 手工修复PE文件头,就可以得到原 Assembly,得到 Assembly 后,你可以使用任何反编译工具打开它.

以上是非常简单的说明,由于分析时没有做笔记,所以就不Post过程了.