#include <iostream>
#include <atlbase.h>
using namespace std;
interface IX : public IUnknown
{
virtual void _stdcall Fx() = 0;
};
interface IY : public IUnknown
{
virtual void _stdcall Fy() = 0;
};
interface IZ : public IUnknown
{
virtual void _stdcall Fz() = 0;
};
static const IID IID_IX = {0xff5ba880, 0xa371, 0x4a42, {0x87, 0x20, 0x96, 0xe0, 0x4d, 0x68, 0xd, 0x76}}; // {FF5...
阅读全文
#include <iostream>
#include <atlbase.h>
using namespace std;
interface IX : public IUnknown
{
virtual void _stdcall Fx() = 0;
};
interface IY : public IUnknown
{
virtual void _stdcall Fy() = 0;
};
interface IZ : public IUnknown
{
virtual void _stdcall Fz() = 0;
};
static const IID IID_IX = {0xec53e1de, 0x37d, 0x48f5, {0xa1, 0xee, 0x2d, 0xf5, 0xa5, 0xde, 0xf3, 0x49}}; // {EC53E1...
阅读全文
公共部分:
IFace.h
#pragma once
#include <atlbase.h>
interface IX : public IUnknown
{
virtual void _stdcall Fx() = 0;
};
interface IY : public IUnknown
{
virtual void _stdcall Fy() = 0;
};
interface IZ : public IUnknown
{
virtual void _stdcall Fz() = 0;
};
extern "C"
{
extern const IID IID_IX;
extern const IID IID_IY;
extern const IID IID_IZ;
};
Guids.cpp
#include <atlbase.h...
阅读全文
#include <iostream>
#include <windows.h>
#include <shlwapi.h>
#pragma comment(lib,"shlwapi.lib")
using namespace std;
inline BYTE CharToBin(TCHAR ch)
{
if(ch>='0' && ch<='9')
return ch - '0';
if(ch>='a' && ch<='f')
return ch - 'a' + 10;
if(ch>='A' && ch<= 'F')
return ch - 'A' + 10;
return 0xff;
}
inline bool Hex2Bin(LPCTSTR ...
阅读全文
readv、writev
#include<unistd.h>
#include<sys/uio.h>
#include<fcntl.h>
int main()
{
int fd = open("aaa",O_RDWR);
struct iovec buf[2];
/*
buf[0].iov_base = malloc(3);
buf[0].iov_len = 3;
buf[1].iov_base = malloc(2);
buf[1].iov_len = 2;
readv(fd,buf,2);
printf("%s\n",(char*)buf[0].iov_base);
printf("%s\n",(char*)buf[1].iov_base);
*/
char szbuf[10] = "123";
bu...
阅读全文
fdisk -l
df
du
ps -aux|grep tomcat
ps -ef|grep tomcat
cp 拷贝文件时和拷贝文件夹时有如下几种情况:
目标路径不带文件名和带文件名有什么区别, 如果不带文件名,目录后有/和没有/有什么区别
源目录 /root/d
目标目录 ./d(已存在)
结果
cp -r /root/d ./d (./d/d)
cp -r /root/d ./d/ (./d/d)
cp -r /root/d/ ./d (./d/d)
cp -r /root/d/ ./d/ (./d/d)
如果...
阅读全文
一、分析Core文件
1.1 找到core文件目录,启动mycrash:mycrash
1.2 查看崩溃的堆栈信息:bt
1.3 反汇编崩溃点的代码,10行:dis -l extract_http_info+73 10
二、分析源文件hinfo.ko
2.1 查看源文件信息:objdump -S hinfo.ko > tmp
2.2 从tmp文件中查找1.3中的内容movb $0x0,(%r12,%rax,1),即可确定代码崩溃位置
三、另一种分析方法
3.1 bt查看堆栈
3.2 mod查看模块
3.3 mod -s加载模块
3.4 sym 地址(3.1中蓝...
阅读全文
一、源代码
1.1 temp_main.c
#include <linux/netfilter.h>
#include <linux/netfilter_ipv4.h>
#include <linux/module.h>
#include <linux/moduleparam.h>
#include <linux/kernel.h>
#include <linux/inetdevice.h>
#include <linux/string.h>
#include <net/route.h>
#include <linux/inet.h>
#include <linux/netfilter.h>
#include <linux/netfilter_i...
阅读全文
一、交互式的启动解释器
每次输入一行Python代码来执行。
1.1 Linux
1. 添加python路径到环境变量PATH。
2. 启动python:python。
3. 执行命令:print("hello world")。
1.2 Windows
1. cmd启动命令行,切换到python安装目录:C:\Python33。
2. 启动python:python。
3. 执行命令:print("hello world")。
二、Python脚本
2.1 Linux
1. 写python脚本:test001.py
...
阅读全文