- UID
- 2
注册时间2004-12-1
阅读权限255
最后登录1970-1-1
总坛主
  
TA的每日心情 | 开心 2024-12-1 11:04 |
---|
签到天数: 12 天 [LV.3]偶尔看看II
|
- //
- // main.m
- // debug
- //
- // Created by piao on 15/7/20.
- // Copyright (c) 2015年 piao. All rights reserved.
- //
-
- #import <Foundation/Foundation.h>
-
- __attribute__((naked)) uint64_t getRbp()
- {
- __asm__("mov %rbp, %rax\n\n\r"
- "ret");
- }
-
- // 嘿嘿,shellcode经常用到滴...
- __attribute__((naked)) uint64_t getRip()
- {
- __asm__("call 0f\n\n\r"
- "0:pop %rax\n\n\r"
- //"sub $5, %rax\n\n\r" // 减去指令长度
- "ret");
- }
-
- __attribute__((naked)) uint64_t getRsp()
- {
- __asm__("mov %rsp, %rax\n\n\r"
- "ret");
- }
-
- void piaoyun(){
-
- NSLog(@"[++++]一层返回 = %llx", getRip() - 5);
- NSLog(@"[++++]二层返回 = %llx", *(uint64_t *)(getRbp() + 0x8));
-
- }
-
- int main(int argc, const char * argv[]) {
- @autoreleasepool {
- piaoyun();
- }
- return 0;
- }
复制代码 嘿嘿,至于能干嘛,我就不说了。我经常用到,屡试不爽~~
|
评分
-
查看全部评分
|