2009-10-08 21:10
网上很多类似的文章,其中很多示例程序都是在比较老的内核版本上测试过,很多在新的内核下根本无法运行,我收集了一些相关的资料,并给出一个在linux内核2.6.28(ubuntu9.04)上可以运行的程序代码.相比其他一些文章,修改如下:
1.增加了两个函数,清CR0的第20位,不然在替换sys_call_table的时候会报段错误.
unsigned int clear_and_return_cr0(void);
void setback_cr0(unsigned int val);
2.针对ubuntu9.04中,ps命令用的系统调用是sys_getdents,不是sys_getdents64(在suse系统里面用的是sys_getdents64),所以程序中 |
2009-09-22 23:35
2009-09-22 23:34
2009-09-22 23:33
花了点时间,大概整理了,比较马虎.本表主要是针对使用gdb逆向调试的时候作为一个命令索引表。
万恶的百度,好好的一个表一定要我拆成3份,很无奈...
|
2009-09-03 03:21
#define IRP_MJ_CREATE 0x00 // 0x38
#define IRP_MJ_CREATE_NAMED_PIPE 0x01 // 0x3c
#define IRP_MJ_CLOSE 0x02 // 0x40
#define IRP_MJ_READ |
2009-08-22 11:51
程序接受用户输入的5个字符, 每个字符空格分开;
允许字符为 ( 1 2 3 4 5 6 7 8 9 10 J Q K ) 其中任意5个 可以重复;
如果输入字符中包含有 ( J Q K ) 一律当成 '10'
比如 [ Q Q K 9 1 ] 等价于 [10 10 10 9 1]
算法:
字符例子 [ 7 5 3 Q 10 ]
1: 取出5个字符中的任意3个字符,进行加法运算.
要求: 能跟10进行取模,余数为 '0' , 或者通俗点就是10的倍数 .. 如果算法有好几种,则取有最小的数的算法
(比如: 上面例子中 , '7+3+10==20' , 但是又因为 'Q'=='10', 所以 '7+3+Q==20' |
2009-08-20 02:22
请试着编译、运行调试以下代码,在后面的叙述中可
能帮助你理解那些晦涩的反汇编代码.
#include <windows.h>
#include <stdio.h>
class ClassX
{
public :
ClassX(int n);
~ClassX();
static void Output (char * pszMsg);
public:
int GetValu |
2009-08-14 22:33
//VC-Console
#include <windows.h>
#include <stdio.h>
class X
{
public :
X () {printf ("X::X()\n"); x1 = 0xff ;}
~X() {printf ("X::X()\n"); x1 = 0xaa ;}
int x1 ;
};
X xobj ;
int main()
{
xobj.x1 = 3 ;
printf ("%d\n" , xobj.x1);
return 0 ;
}
很简单的一段代码,修改自逆向C++一文 |
2009-07-27 23:03
前言: W & H+ &x*
一直以来,国内对于一些技术的关注远落后与国外,国内互联网信息也少的可怜,而反病毒更是由于其商业价值所在,许多技术被国外先进商业公司束之高阁。我在初接触Symbian平台病毒分析的时候,几乎找不到相关文档,更找不到交流的人,所以借本次XCON撰写本文,与大家交流共勉。 s `/&8Z m
H1q+ h@Z
4i ]*@Q |
2009-07-23 22:38
在某些特殊的情况下需要修改当前EIP,一般在反汇编窗口中选中指定地址,
右键执行"此处为新 EIP"就可以了.由于OD这个菜单选项OD是动态插入的,
比如在当前指令地址OD是不会显示的,或者当进程结束状态下也不会显示,
这时需要将OD稍微修改下便可显示了.
下图显示了修改的位置,在这个位置往上还有不少判断,可根据实际需求自己
动手吧..
|
2009-07-04 20:08
2009-07-03 18:18
作者写得很好。
每一天你都在使用大量的命令行程序,是不是感觉那些命令行参数用起来比较方便,他们都是使用getopt来实现的。
在Linux下使用getopt写程序是一种比较cool的事情,下面来简单的介绍一下getopt的使用。
=== getopt使用 ===
在讨论参数处理之前,我们先明确两个概念:选项、选项参数
gcc -g -o test test.c
我们经常使用上面的命令来编译程序,这里g和o就是选项,其中test就是o的选项参数
下面我们来看一下getopt:
首先是函数声明:
#include <unist |
2009-06-28 07:30
本来想打算再实现数据提交的功能,由于这段时间事情比较杂,
目前没打算继续升级,以下地址为CSDN的下载地址,对于在
CSDN没有帐户的朋友可能不太方便,赚点积分而已..-_-#
本程序主要是用来在大批量扫射,执行shellcode反弹的时候,
能同时处理每台溢出成功反弹回来的cmdshell。如去年流行
一时的ms08067漏洞.能很好的处理mac os X / linux 系统反
弹过来的shell。除了win及以上,其它为测试,逻辑上来讲,任
何系统只要遵循tcp/ip协议就没问题..- -
|
2009-06-24 01:03
CSDN下了份类似的代码,测试效果很不理想,于是自己写了个,很好很完美..-_-#
.386
.model flat,stdcall
Option CaseMap:none
Include windows.inc
include kernel32.inc
includelib kernel32.lib
include user32.inc
includelib user32.lib
includelib SHELL32.lib
.data
CommandLineToArgvW PROTO :DWORD, :DWORD
g_szCaption db "命令行参数", 0
|
2009-06-20 08:09
标题有点挂羊头卖狗肉之嫌,只是实现了nc -l -p port 的功能,
叫做微型不知道算不算"标题党" :)
本程序唯一与NC监听端口不同之处在于可以同时处理多个反弹连接,
最大64个.有时候在比较特殊的情况下还是有需求的。。-_-#
|
|
|
|