尝试使用系统调用 gettimeofday() 在 armv7l 上的汇编中获取伪随机数,但寄存器在系统调用上变为 0?

问题描述

一旦 SWI #0 执行,r0 和由标签“time”表示的地址没有任何非空或垃圾的值。我试图从 gettimeofday(2) 系统调用给出的毫秒时间值中获取一个十进制数。这并不是为了加密安全,而且我在无法使用 urandom 文件方面受到限制。

 timeofday:

    MOV r7,#78         @gettimeofday returns time
    LDR r0,=time       @address of holder for time_t
    MOV r1,#0          @timezone not needed
    SWI #0

_exit:
    MOV r7,#1         @exit syscall
    SWI #0

.data
time:   .space 8

解决方法

暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!

如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。

小编邮箱:dio#foxmail.com (将#修改为@)