曲式分析?编曲指南?

开头

现在是音乐系的学生了!

设备也到了,

开个新贴,整理些这部分的心得。

mixo-Lydian

适合中世纪,异族风情

走向是I-VII-IV

Lydian

未知,但又明亮。适合让人探索的感觉

重点强调I IV和III V这几个音。和弦一般用I II都行,还可以插入个VII

Tags: 音乐

HOOK 技术

详解各种奇淫绝技。

部分手写部分搬运。

重在自己的理解,或者找个时间,武器化这部分程序。

最终目标: 实现一个带有各种HOOK的汇总工具包

遇到的坑

pragma comment 只对微软编译器有效,GCC没用,得用-l来连接

IAT HOOK

内存版本

这个需要进入到宿主文件的内存空间,所以一般用DLL注入到宿主文件

原理就是普通的计算IMAGE_IMPORT_DESCRIPTOR在内存空间的地址。

然后修改IMAGE_IMPORT_DESCRIPTOR.FirstThunk.u1.Function的地址为我们的函数地址

其中几个重点:

GetModuleHandle(NULL);
// 获取主模块(EXE)的地址

PVOID WINAPI ImageDirectoryEntryToData( 
__in   PVOID Base, 
__in   BOOLEAN MappedAsImage, 
__in   USHORT DirectoryEntry, 
__out  PULONG Size );

获取内存中IAT导入表的虚拟地址。

//Base为要获得导入段所在模块的基地址。它一般是GetModuleHandle的返回值。

//MappedAsImage,它为true时,系统将该模块以映像文件的形式映射,否则以数据文件的形式映射。

//DirectoryEntry,要获得的段的索引。此函数不仅仅能够获得导入段的地址,根据此索引的不同,该函数返回对应段的地址。此处我们使用 IMAGE_DIRECTORY_ENTRY_IMPORT表示我们要获得导入段的地址。

//Size返回表项的大小

目录文件

  • iat/memory/target.c 实例,直接封装在代码中的HOOK,没使用装载器
  • iat/memory/dll.c dll封装版本(纯搬运)

代码参考:

文件区块修改版本

直接操作PE文件,修改IAT导入表导入DLL的地址。

这样的好处是在程序最初的加载就已经执行我们的代码,

并且不需要使用注入等容易被检测的敏感动作。

缺点是不能针对单独函数hook,

或者说与其是hook。完全是无中生有添加了一个DLL引用。

未完待续。。。

Tags: none

近况

博客越来越长草了。但是咱也实在没什么可以写的啊_(:з)∠)_

现在感觉就是,明明没在学啥,却越来越累了。

游戏也不想打,代码也不想写,课也不想上,琴也不想练。

一切都没意思。也许是五月病来了的症状吧.

虽说话是这样说,但是还是会断断续续的摸鱼一些东西的。

不过果然,对于一个理科生,突然去读文科的东西实在还是痛苦啊。

目前担心的就是中国民族民间音乐外国名族民间音乐心理学,这三科会不会挂科了。中国民乐还好,进了现代,好歹还是会了解些的。后面两个就真的恐怖了,都是背。

Tags: none
文章总数:134篇 分类总数:3个