频 道 直 达 - 新闻 - 读书 - 培训 - 教程 - 前沿 - 组网 - 系统应用 - 安全 - 编程 - 存储 - 操作系统 - 数据库 - 服务器 - 专题 - 产品 - 案例库 - 技术圈 - 博客 - BBS
51CTO.COM_中国领先的IT技术网站
找资料:

黑客老鸟讲逆向分析:逆向分析技术全揭秘(1)

作者: 子明 出处:51CTO.com 2008-02-25 15:23    砖    好    评论   进入论坛
阅读提示:讲到逆向,更多的人都是考虑到既然是逆向那就应该反着来推或者相反,其实则不然,这里我们要讲的是为了更深入的研究windows编写机制,更好的研究他们的安全,谁让微软这么保守虽然曾经流出过windows的部分代码.....

【51CTO.com 专家特稿】经过前几课的学习,我们现在开始正式开讲逆向分析。逆向分析技术是指通过分析反汇编代码来理解其代码功能,如各接口的数据结构等,然后用高级语言重新描述这段代码,逆向推出原软件的思路。下面从函数的调用、循环、控制语句等方面分析。

在高级语言中,子程序依懒于堆栈来传递参数。
例如test1(Par1,Par2,Par3:integer),按C,Psacal和StdCall的调用约定汇编代码如下:

函数调用

按StdCall约定调用函数test2(par1,par2),其堆栈建立情况如下:
Push  ebp ;保护现场原先的EBP指针
Mov ebp,esp ;设置新的EBP指针,指向栈顶
Sub esp,xxx ;堆栈中留出点空间放局部变量
… …
Add esp,xxx ;释放局部变量占用的堆栈
Pop ebp  ;恢复现场的ebp指针
Ret 8  ;返回 

循环

如果确定某段代码是循环,就可以分析其计数器,一般是用ecx寄存器做计数器。

下面的汇编代码:

xor ecx,ecx;ecx清零
:00440000
inc ecx;计数
… …
cmp ecx,05;循环4次
jbe 00440000;重复

上面的汇编代码用C语言描述有以下3种形式:

While(i<5){… …}
For(i=0;i<5;i++){… …}
i=0
Repeat
i++;
…
Unitl(i>=5)

控制语句

If …else语句:
Cmp byte prt[00221450],bl
Jne 00221590
Case语句:

汇编代码

高级语句

Mov eax,edi          ;

Sub eax,00000002 ;

Je    00401            ;

Sub eax,0000000E ;

Jne 0040114E

Swith(K)

{

    case’0x2’:…;break;

    case’0x10’:…;break;

Default:  

}


共3页: 1 [2] [3] 下一页
【内容导航】
 第 1 页:函数调用  第 2 页:静态分析/OD动态分析
 第 3 页:结构化异常处理
专题
新网百度黑客事件
我是黑客我怕谁——讲述黑客的故事
安全防范与策略
网络技术经典基础教程
CISSP认证成长之路
我也说两句

匿名发表

(如果看不清请点击图片进行更换)


中 国 领 先 的 IT 技 术 网 站 ·
技 术 成 就 梦 想
订阅技术快讯
电子杂志下载
名称:2007路由技术大全
简介:《2007路由技术大全》由51CTO.com网站特别策划制作,该书包括路由器技术、路由器产品、路由器配置、安全设置、路由器故障处理、路由器密码恢复,以及广大网友在实践使用中的心得经验和技巧文章,内容注重实用性,适用于初学者入门,也适合多年从业者提高,是一本实践和理论完
名称:网络安全精品应用黄皮书
简介:《2007精品网络安全黄皮书》包括了9个大类24个小类, 800余篇文章,内容包含了熊猫烧香病毒、DDOS攻击、ARP病等热点问题的介绍及解决方案。从病毒查杀、防范、系统、数据等各方面的安全设置到黑客技术的了解、防范,涉及到了安全应用的全部领域, 由浅至深内容全面。
名称:Vista精品应用黄皮书
简介:《Vista精品应用黄皮书》囊括了Vista的各方面内容。此次的精简版,是将里面的内容做了提取,便于用户下载和使用。内容包含了各种Vista的安装与实施、技巧与解析以及各种Vista相关学习文档和相关软件的安全下载。该电子书是了解和应用Vista人员必备的工具手册,并且也是第一本