倒不是说这题目有多难,是我太菜,从中学到了点东西,发出来理清下思路,记录下
先贴上主函数代码
int __cdecl main(int argc, const char **argv, const char **envp)
{
__gid_t rgid; // ST04_4@1
char *v4; // rbx@5
char *dest; // ST08_8@5
__int64 v7[8]; // [sp+10h] [bp-70h]@5
char *v8; // [sp+50h] [bp-30h]@1
unsigned int v9; // [sp+58h] [bp-28h]@1
__int64 v10; // [sp+68h] [bp-18h]@1
v10 = *MK_FP(__FS__, 40LL);
rgid = getegid();
setresgid(rgid, rgid, rgid);
setbuf(stdout, 0LL);
v9 = 0;
v8 = (char *)malloc(0x20uLL);
puts("Commands:\n A <name> - Add a team member\n F - Fight the monster\n Q - Quit");
while ( 1 )
{
while ( 1 )
{
while ( 1 )
{
gets(&input, 2