(注:我在402B40跟踪分析了很久,里面还递归, 一直不得要领,浪费了大量时间,
最后看了几个小时小说,回来跳过了这部分分析,
经过几次对比字串,猜测结构体的结构,反过来很快能看出函数的意思 .....)
402B40 是把字串添加到结构体中//先猜出结构体再猜出本函数的意思
struct myStru //原始的结构体,只给出大小就可以了
{
int data[68];
};
----------------------------
struct myStruX
{
int x1;
myStru *x2;
};
把00407E48结构体展开 ("kx" 0,1 表示字符串是kx,子项数为0,"kx"数目为1)
"" 2,0
"kx" 0,1
"c" 2,0
"7" 1,1
"M" 1,2
"k" 0,1
"t" 2,1
"9" 0,1
"f" 0,1
---------------------------
就是如下: (还是猜测)
字串 数目
kx 1
c7 1
c7M 2
c7Mk 1
ct9 1
ctf 1
ct 1
总数目=2+2+3*2+4+3+3+2=22 和前面输入的一样
ida看整体结构
401c40 函数,通过OD跟参数,发现参数为 输入字符串,成功文字,失败文字
int __cdecl funCalc_401C40(char *a1Input, int strOK, int strError)
这里输入的时候会分成8个字符串的
如: 0123456789abcdefghijkl 分成了: 01 23 456 78 9abc def ghi jkl
[注意]传递专业知识、拓宽行业人脉——看雪讲师团队等你加入!
最后于 2018-6-20 11:14
被瞧红尘编辑
,原因: