首页
社区
课程
招聘
[原创]qq反汇编日志(1,2,3,4)
发表于: 2006-6-15 18:20 15747

[原创]qq反汇编日志(1,2,3,4)

2006-6-15 18:20
15747
收藏
免费 7
支持
分享
最新回复 (29)
雪    币: 339
活跃值: (1510)
能力值: ( LV13,RANK:970 )
在线值:
发帖
回帖
粉丝
26
你那个逻辑二叉树,可以直接用goto,我不知道你看到的什么2叉树,如果代码不超过9行,那就是编译器产生的,应该是个mapping。

另外问一下你贴的这些VC代码都编译过了么?

你从登陆密码错误提示开始跟,相当于略过了前期的初始化,后期跟踪可能会有影响,想问一下现在感觉到么?

你跟的QQ哪个版本?再往下就是登陆算法,再过去就会加载其他的DLL,你怎么处理这些DLL?是分析这些DLL还是直接调用?

谢谢!
2006-6-21 19:16
0
雪    币: 200
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
27
强烈支持!好好学习了。
2006-6-21 21:36
0
雪    币: 0
能力值: (RANK:10 )
在线值:
发帖
回帖
粉丝
28
2006-6-22 02:18
0
雪    币: 418
活跃值: (1404)
能力值: ( LV5,RANK:60 )
在线值:
发帖
回帖
粉丝
29
出现严重错误 误将[ebp-10] lpVar1 看作了 [ebp+10] lpIntArg3
        if(!(lpIntArg3==0))
        {
                *(*lpIntArg3+8)(lpIntArg3);-------------------------------------------code9
        }
应该为:
        if(!(lpVar1==0))
        {
                *(*lpVar1+8)(lpVar1);-------------------------------------------code
        }
下面的事情就是来分析函数的功能,如果不是想完全彻底的分析函数功能,就不用分析所有调用的函数,只分析感兴趣的就ok了。

好了,现在来总结一下:分析一个函数的一般步骤

<1>找到函数的入口点和函数尾
<2>找出函数中的参数个数
<3>识别函数中的参数和局部变量
<4>去掉编译器自己添加的或与函数功能无关的,异常处理,加上函数头
<5>分析调用的函数,得到被调用函数原型
<6>识别参数类型和局部变量类型
<7>找出函数的返回值
<8>将汇编语言指令还原成高级语言的表达式
<9>还原控制语句
<10>递归分析子函数
<11>得出函数功能

在分析函数参数类型,和局部变量类型时,可能分析的类型不正确,在以后的步骤中可以把错误纠正过来
上面的11步,有可能有问题,让实践来检验她吧,并来逐步修正和完善她,使她越来越成熟越来越美丽......。
2006-6-23 11:29
0
雪    币: 213
活跃值: (10)
能力值: ( LV2,RANK:10 )
在线值:
发帖
回帖
粉丝
30
学习一下!!
2006-6-23 18:03
0
游客
登录 | 注册 方可回帖
返回
//