学逆向论坛

找回密码
立即注册

只需一步,快速开始

发新帖

2万

积分

41

好友

1168

主题
发表于 2020-4-3 10:56:46 | 查看: 3068| 回复: 4
整理了一些 shellcode 以及一些有漏洞的程序 , 需要学习的小伙伴如果有兴趣可以参考一下
1. 清空通用寄存器 eax
;=========================================
; 方案一
;=========================================
mov eax,0 ; 直接移动
;=========================================
; 方案二
;=========================================
xor eax,eax ; 异或
;=========================================
; 方案三
;=========================================
shr eax,8 ; 右移 8 位
;=========================================
; 方案四
;=========================================
and eax, 0
;=========================================
; 方案五
;=========================================
; 还有一种思路是 : (但是比较占空间)
mov eax, 01010101B
mov ebx, 10101010B
and eax, ebx
2. 获取内存地址 (例如自己写的 "/bin/sh" 的地址)
;=========================================
; 方案一
;=========================================
global _start:
  _start:
    jmp target
  joker : 
    pop eax
    ; Your code
    ; ...
    ; ...
  target:
    call joker
    db "/bin/sh", 0
;=========================================
; 方案二
;=========================================
xor eax, eax
push eax ; 字符串以 0 结尾
; "/bin/sh" -> 0x2f 0x62 0x69 0x6e 0x2f 0x2f 0x73 0x68
push 68732f2fH
push 6e69622fH
mov ebx, esp
3.消除 0 字节
利用低位寄存器例如 al , ah , 进行操作
例如 : 
  mov eax, 0AH
可以写成 : 
  ; 首先清空 eax
  ; 可以用到第一节中的清空寄存器的指令中的任意一个
  shr eax, 8
  mov al, 0AH
4. 获取栈顶指针地址
mov ebx, esp
5. 如何在字符串后添加 \0
首先利用 push [立即数(非0)]
这样得到的机器码只有两位 , 但是真正执行的时候被 push 到栈上的数据是 4 字节
然后再 push 字符串
6. 将 edx 设置为 0
cdq 
; 该指令先把edx的每一位置成eax的最高位
; 若eax>=0x80000000, 则edx=0xFFFFFFFF
; 若eax<0x80000000,则edx=0x00000000
; 再把edx扩展为eax的高位。
7. 消除在 push 较小的数的时候 push 指令中的 0 字节
例如 : 
push 0BH
字节码为 : 68 0B 00 00 00
我们可以使用下面的指令来消除 0 字节 : 
xor eax, eax
mov al, 0BH
push eax
这样得到的字节码为 : 
31 c0
b0 0b
50   
6a 0b
8. 同时清空 RAX, RDX 和 RSI (64位)
xor esi,esi
mul esi


温馨提示:
1.如果您喜欢这篇帖子,请给作者点赞评分,点赞会增加帖子的热度,评分会给作者加学币。(评分不会扣掉您的积分,系统每天都会重置您的评分额度)。
2.回复帖子不仅是对作者的认可,还可以获得学币奖励,请尊重他人的劳动成果,拒绝做伸手党!
3.发广告、灌水回复等违规行为一经发现直接禁言,如果本帖内容涉嫌违规,请点击论坛底部的举报反馈按钮,也可以在【投诉建议】板块发帖举报。
论坛交流群:672619046
发表于 2020-4-3 15:18:41
收藏了,感谢分享

    发表于 2020-4-4 16:55:20
    啥也不说了,楼主就是给力!
    571199520 发表于 2020-4-5 13:54 详情  回复
    啥也不说了,楼主就是给力!

      发表于 2020-4-5 13:54:14
      monkeyman 发表于 2020-4-4 16:55
      啥也不说了,楼主就是给力!

      啥也不说了,楼主就是给力!

        发表于 2020-4-8 12:35:23
        感谢分享,我会认真学习的!

        小黑屋|手机版|站务邮箱|学逆向论坛 ( 粤ICP备2021023307号 )|网站地图

        GMT+8, 2024-11-25 02:08 , Processed in 0.157249 second(s), 58 queries .

        Powered by Discuz! X3.4

        Copyright © 2001-2021, Tencent Cloud.

        快速回复 返回顶部 返回列表