能力值:
( LV13,RANK:970 )
|
-
-
26 楼
你那个逻辑二叉树,可以直接用goto,我不知道你看到的什么2叉树,如果代码不超过9行,那就是编译器产生的,应该是个mapping。
另外问一下你贴的这些VC代码都编译过了么?
你从登陆密码错误提示开始跟,相当于略过了前期的初始化,后期跟踪可能会有影响,想问一下现在感觉到么?
你跟的QQ哪个版本?再往下就是登陆算法,再过去就会加载其他的DLL,你怎么处理这些DLL?是分析这些DLL还是直接调用?
谢谢!
|
能力值:
( LV2,RANK:10 )
|
-
-
27 楼
强烈支持!好好学习了。
|
能力值:
(RANK:10 )
|
-
-
28 楼
|
能力值:
( 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步,有可能有问题,让实践来检验她吧,并来逐步修正和完善她,使她越来越成熟越来越美丽......。
|
能力值:
( LV2,RANK:10 )
|
-
-
30 楼
学习一下!!
|
|
|