• 博客园logo
  • 会员
  • 众包
  • 新闻
  • 博问
  • 闪存
  • 赞助商
  • HarmonyOS
  • Chat2DB
    • 搜索
      所有博客
    • 搜索
      当前博客
  • 写随笔 我的博客 短消息 简洁模式
    用户头像
    我的博客 我的园子 账号设置 会员中心 简洁模式 ... 退出登录
    注册 登录
 






jenesor's home

 
 

Powered by 博客园
博客园 | 首页 | 新随笔 | 联系 | 订阅 订阅 | 管理

2011年12月8日

脱壳之附加数据段的提取
摘要: 附加数据段不属于如何一个区块,由于PE文件被映射到内存是按照区块映射的,所以附加数据段是不能被映射到内存的。 附加数据段是在所有区块的最后,用PEiD观察可以发现它有一个OVerload的数据段,如下图:从这个数据可以看出,他的附加数据段在文件位置的的3800处, 同时也可以看出这个PE文件是用UPX加壳了的,脱壳之后会发现,其附加的数据段没有被dump下来,这个时候就需要用十六进制文件去手动去添加。用修正读取附加数据段的指针。 阅读全文
posted @ 2011-12-08 11:18 jenesor 阅读(1173) 评论(0) 推荐(0)
 
CreateFileA 用法
摘要: Creates or opens a file or I/O device. The most commonly used I/O devices are as follows: file, file stream, directory, physical disk, volume, console buffer, tape drive, communications resource, mailslot, and pipe. The function returns a handle that can be used to access the file or device for var. 阅读全文
posted @ 2011-12-08 10:52 jenesor 阅读(10597) 评论(0) 推荐(0)
 

2011年11月23日

硬盘安装ubuntu(转)
摘要: 设置iso文件 说明:以下内容均为假设情况,在实际操作中需要灵活掌握 假如我们把iso文件放在挂载磁盘下进行安装 ,挂载磁盘的位置为/media/disk/,其中/media/disk/的分区格式为vfat,也即FAT32 .其中/media/disk/的具体情况视各自具体情况而定.一个重要的前提是必须保证该挂载磁盘被fstab有效挂载 接下来我们要把该iso和其中的.disk和casper下的vmlinuz和initrd.lz释放出来,保存至/media/disk/ 在转移到/media/disk/下前请检查下/media/disk/的剩馀空间,剩馀空间至少要有750M。如果剩馀空间不多可. 阅读全文
posted @ 2011-11-23 23:59 jenesor 阅读(592) 评论(0) 推荐(1)
 
ubuntu10.10和windows双系统启动顺序的修改(转)
摘要: 我想大部分童鞋装ubuntu的时候,硬盘上的windows肯定还是保留着的,启动电 脑时可以选择,想进windows就进windows,想进ubuntu就进ubuntu。但装完ubuntu后,它默认启动的是ubuntu,这对于使 用ubuntu作为系统的童鞋来说没什么,但对那些经常要进windows的童鞋,每次开机都得按几次向下的箭头,再敲回车,非常不方便,有没有方法,让 电脑开机时默认启动windows呢?这个是可以有的,而且这个也真的有。^_^说到启动就不得不说GRUB,Linux下大名鼎鼎的启动管理工具(曾经的LILO已经风光不再),当然现在已经是GRUB2了,GRUB2和 GRUB最重 阅读全文
posted @ 2011-11-23 23:50 jenesor 阅读(374) 评论(0) 推荐(0)
 

2011年11月21日

C++ 异常处理
摘要: 严格的说,每条语句都有可能产生运行错误(异常),即便是一条简单的赋值语句,如 int a = 5;当堆栈分配完毕,这样的语句就会造成程序崩溃,(这种情况是非常少的,呵呵)严格讲,需要对每一条语句进行异常检测,但是这也是不切实际的,上面所说的情况只可能在一个极端的情况下才会产生。 目前的程序只是尽可能的对错误进行捕获处理,或在底层通过硬件借口的状态寄存器等判断是否发生错误,或通过调用函数的返回值进行错误的处理。常用的一种方式是try,catch模块来处理, try:用于判断执行的语言是否有异常发生。 catch用于对捕获的异常进行处理。 throw:可以人为的抛出异常,主要用于人为定义异常。i. 阅读全文
posted @ 2011-11-21 23:27 jenesor 阅读(236) 评论(0) 推荐(0)
 
友元函数
摘要: 在大多是的时候,大家都说一般情况下不要使用友元函数,因为它破坏了类的封装,但是有时候用友元函数也是一种不错的选择。1,当需要比较两个不同类的大小(肯定是比较类的一个成员变量),这个时候就需要用友元函数效率就比较高,代码如下:class B; //class B implementclass A{private: int x;public: A(int n) { x = n; } friend int check(A a, B b);};class B{private: int x;public: B(int n) { ... 阅读全文
posted @ 2011-11-21 22:47 jenesor 阅读(342) 评论(0) 推荐(0)
 

2011年11月18日

setsockopt ioctlsocket 设置非阻塞SOCKET函数
摘要: 1,ioctlsocket()#include <winsock.h>This function controls the I/O mode of a socket.int ioctlsocket( SOCKET s, long cmd, u_long FAR* argp);Parameterss[in] Descriptor identifying a socket.cmd[in] Command to perform on socket s.argp[in, out] Pointer to a parameter for cmd.Return ValuesIf no error 阅读全文
posted @ 2011-11-18 09:39 jenesor 阅读(32557) 评论(0) 推荐(0)
 
用PEiD找出动态库的导出函数
摘要: 1:用PEiD加载动态库,如下图:点击最上一排的按钮选择加载的动态库2,点击Subsystem右边的按钮查看更加详细的信息,其中包含有动态库的资源,导入和导出库,如下图:3,点红色的方框这里就可以查看导出函数了: 阅读全文
posted @ 2011-11-18 09:10 jenesor 阅读(283) 评论(0) 推荐(0)
 

2011年11月17日

windows API 学习(一)
摘要: 1,ShellExecute的作用及用法ShellExecute的功能是运行一个外部程序(或者是打开一个已注册的文件、打开一个目录、打印一个文件等等),并对外部程序有一定的控制。 有几个API函数都可以实现这些功能,但是在大多数情况下ShellExecute是更多的被使用的,同时它并不是太复杂。 ShellExecute函数原型及参数含义如下: ShellExecute( HWND hwnd, //父窗口句柄 (如:NULL,Handle等) LPCSTR lpOperation, //操作类型 (如:"open")*要加英文双引号 LPCSTR lpFile, //要进行 阅读全文
posted @ 2011-11-17 17:34 jenesor 阅读(441) 评论(0) 推荐(0)
 
C++ 内存分配 学习笔记
摘要: 1,C++中有5个内存的分配区:堆,栈,常量存储区,自由存储区,全局\静态存储区。 自由存储区,用malloc和free分配和释放,同堆差不多。 全局\静态存储区:用于存储分配的全局和静态变量。2,堆和栈的区别 主要的区别由以下几点: 1、管理方式不同;堆有编译器管理,栈由程序员管理,比较容易产生memory leak 2、空间大小不同;在32位中,堆理论的大小是4G,所以没有什么限制,但是栈的默认大小是1M,可以设置,但是如果长度过大,会增加内存的开销和启动的时间。 3、能否产生碎片不同;堆用new和delete分配,肯定会造成空间不连续,比较容易产生碎片,栈是按照严格的先进后出的,所... 阅读全文
posted @ 2011-11-17 13:48 jenesor 阅读(249) 评论(0) 推荐(0)
 
下一页