小编ed9*_*9er的帖子

为什么switch_to使用push + jmp + ret来改变EIP,而不是直接改变jmp?

linux/arch/x86/include/asm/switch_to.h,有宏的定义,switch_to真正的线程切换奇迹读取的关键线像这样(直到Linux 4.7改变时):

asm volatile("pushfl\n\t"       /* save    flags */ \
              pushl %%ebp\n\t"      /* save    EBP   */ \
              "movl %%esp,%[prev_sp]\n\t"   /* save    ESP   */ \
              "movl %[next_sp],%%esp\n\t"   /* restore ESP   */ \
              "movl $1f,%[prev_ip]\n\t" /* save    EIP   */ \
              "pushl %[next_ip]\n\t"    /* restore EIP   */ \
              __switch_canary                   \
              "jmp __switch_to\n"   /* regparm call  */ \
              "1:\t"                        \
              "popl %%ebp\n\t"      /* restore EBP   */ \
              "popfl\n"         /* restore flags */ \
Run Code Online (Sandbox Code Playgroud)

命名操作数具有内存约束[prev_sp] "=m" (prev->thread.sp). __switch_canary除非CONFIG_CC_STACKPROTECTOR …

x86 assembly linux-kernel

8
推荐指数
1
解决办法
1303
查看次数

如何通过移动网站获取Android广告ID或iOS IDFA?

我已经谷歌搜索了一段时间,无法找到明确的答案.

AAID或IDFA是发布商获利的关键.没有它,出版商必须回归旧式cookie匹配,这是低效的(在延迟和带宽使用方面)和效率低(就数据集而言,因为移动用户行为现在主要与AAID/IDFA相关联,而不是饼干)

可以预期,Android/iOS(Chrome/Safari)中的默认浏览器应为网页提供一些Javascript界面​​,以检索此关键(对于发布者)和不敏感(对于用户)ID.但是,我没有找到这样的事情.也许他们正在推动开发人员进行原生移动应用开发.

那么,有什么方法可以在网页上获得AAID/IDFA吗?或者我可以通过其他方式将访客与AAID/IDFA联系起来吗?

android ads ios idfa google-advertising-id

6
推荐指数
0
解决办法
8857
查看次数

标签 统计

ads ×1

android ×1

assembly ×1

google-advertising-id ×1

idfa ×1

ios ×1

linux-kernel ×1

x86 ×1