10.14-汇编
今天主要看的是第一章和2.1-2.10,第一章是对硬件的一些介绍,总体上没什么可说的,第二章讲的是寄存器,比较值得记录的是物理地址=段地址*16+偏移地址和CS代码段寄存器,和IP指令指针寄存器。
…open-source
打开获得一个C源文件
if (argc != 4) {
printf("what?\n");
exit(1);
}
这里说明要有4个参数(包括程序名在内)
unsigned int first = atoi(argv[1]);
if (first != 0xcafe) {
printf("you are wrong, sorry.\n");
exit(2);
}
这里说明第二个参数的十六进制形式为cafe,十进制形式是51966。(atoi()是字符转整数的意思,是直接转,即"134213"转到134213)
…
Hello, CTF
下载附件得到一个应用程序,shell里面跑一下

用IDA打开,按F5反编译

这里可以看到,flag就是437261636b4d654a757374466f7246756e,不过这是16进制的表示,转成字符就是
…