反编译 源码分析
int __cdecl main(int argc, const char **argv, const char **envp)
{
char *str; // esi@1
char sec; // bl@2
int fst; // eax@2
int result; // eax@13
int arg2; // [sp+8h] [bp-30h]@2
int arg1; // [sp+Ch] [bp-2Ch]@2
char v9; // [sp+10h] [bp-28h]@1 v9的储存大小为 36h-10h=38
char v10; // [sp+36h] [bp-2h]@1
str = &v9;
printf(aInputYourSn); // 输入
scanf(aS, &v9);
v10 = 0;
if ( v9 )
{
do
{
sec = str[1]; // 一次处理两位,两位做一次操作,由于空间最大38,所以最多19次操作
fst = *str - '0'; // sec 用于switch
// fst 用于设置arg1和arg2
//