修改了一下,增加了对附加数据的判断!
看了一个星期的PE格式,花了点时间写了这个工具以加深对PE结构的印象。
仿着一个现成的工具做的,呵呵!
想试试的,就下载着玩吧!
等自己有空测试一翻后,再放源码吧!
程序运行界面如下:
一个汇编指令:JL,所引发的深思
在RCE论坛上看到,值得学习,所以引用到这里了!
帖子的地址是:[url=http://www.woodmann.com/forum/showthread.php?t=12464]http://www.woodmann.com/forum/showthread.php?t=12464[/url]。
主题全文引用如下(作者是:nezumi-lab ):
帖子的地址是:[url=http://www.woodmann.com/forum/showthread.php?t=12464]http://www.woodmann.com/forum/showthread.php?t=12464[/url]。
主题全文引用如下(作者是:nezumi-lab ):
PE文件格式学习:可选头的大小SizeOfOptionalHeader
在PE头部,在IMAGE_NT_HEADERS结构中的FileHeader成员中指定了后面的OptionalHeader成员的大小!
IMAGE_NT_HEADERS的结构定义如下:
IMAGE_NT_HEADERS的结构定义如下:
typedef struct _IMAGE_NT_HEADERS {
DWORD Signature;
IMAGE_FILE_HEADER FileHeader;
IMAGE_OPTIONAL_HEADER32 OptionalHeader;
} IMAGE_NT_HEADERS32, *PIMAGE_NT_HEADERS32;
没事,写个猜数的小游戏
呵呵!以前做的一课C++程序里一段代码,无事,做成一个GUI界面的!
没什么技术含量。源代码工程与编译后的程序,大家都可以从附件里下载,打包在一起了!
主要是在初始化时,设置一下变量,然后在“生成”时,执行一下随机数的生成,然后在“OK”时,进行一下比较,然后根据设置进行提示信息的输出!
没什么技术含量。源代码工程与编译后的程序,大家都可以从附件里下载,打包在一起了!
主要是在初始化时,设置一下变量,然后在“生成”时,执行一下随机数的生成,然后在“OK”时,进行一下比较,然后根据设置进行提示信息的输出!
研究C++的一个编译开关:-d1reportAllClassLayout
编译开关:-d1reportAllClassLayout
[color=#FF0000]注意:-d1,这里的是数字“1”,而不是小写的“L”。[/color]汗,我自己就犯了这个错误,老是被忽略掉,而不起作用!
另外,不是自己生成一个文件,在控制台编译时,他直接输出在了控制台窗口。所以在控制台编译时,我使用了重定位到文件:
[color=#FF0000]注意:-d1,这里的是数字“1”,而不是小写的“L”。[/color]汗,我自己就犯了这个错误,老是被忽略掉,而不起作用!
另外,不是自己生成一个文件,在控制台编译时,他直接输出在了控制台窗口。所以在控制台编译时,我使用了重定位到文件:
E:\Programming\c_cpp>cl classA.cpp -d1reportAllClassLayout > class.layout
Microsoft (R) 32-bit C/C++ Optimizing Compiler Version 15.00.21022.08 for 80x86
Copyright (C) Microsoft Corporation. All rights reserved.
E:\Programming\c_cpp>
C++类的实例的内存布局-阅《Reverse C++》有获(1)
C++类的实例的内存布局-阅《Reverse C++》有获(2)
一、指向虚函数表的指针(vfptr)是被添加在最前面的,而在虚函数表里面,各个虚函数是按照其声明的顺序排列的。
为了验证,同样的在上面的例子里修改,直接添加一个虚函数进去:
为了验证,同样的在上面的例子里修改,直接添加一个虚函数进去:
类与类之间的关系的发现-阅《Reverse C++》有获(3)
继续利用昨天的那个多继承类的例子,然后在派生类里添加自己的构造函数与析构函数,修改如下:
class C: public A,public B{
private:
int a,b;
public:
void displayC(){
cout<<"function: displayC()\n";
}
C(){
cout<<"Constructor C\n";
}
~C(){
cout<<"Destructor C\n";
}
};
Base64 编码/解码的小工具
今天有空,完善了一下博客的模块,不过好多都是.blog的安装包,里面的代码都是Base64加密的,不能修改,只好在网上搜索了一下Base64编码、解码方面的小工具。GG搜索了一下,出来一大堆,都还不错。于是修改了一下自己需要的,然后重新加密,完善了博客。
[color=#FF0000]修正了对正文字符处理时的一个BUG!
增加了自定义字符参数!编译后的工具已经更新,源码就不再更新了,呵呵[/color]
下午无聊,又想着自己动手做个自己的专用,呵呵!完成界面如下:
[color=#FF0000]修正了对正文字符处理时的一个BUG!
增加了自定义字符参数!编译后的工具已经更新,源码就不再更新了,呵呵[/color]
下午无聊,又想着自己动手做个自己的专用,呵呵!完成界面如下:
Base64算法的资料整理(VC代码与ASM代码)
什么是Base64?
按照RFC2045的定义,Base64被定义为:Base64内容传送编码被设计用来把任意序列的8位字节描述为一种不易被人直接识别的形式。(The Base64 Content-Transfer-Encoding is designed to represent arbitrary sequences of octets in a form that need not be humanly readable.)