用户名:  密码:   
您当前的位置:首页 > 程序设计 >  汇编与密码学 > 

工具篇1_4

上次修改时间: 2017-12-07 18:21:42      来源:网络总结      作者:钢铁长陈
上一页      路径:DSD\Learn\assembly与反assembly\解密系列\      下一页

第1讲,编写一个PE结构的分析的工具
1. 用三个版本的语言来写,win32,C++,delphi
 显示一个PE文件区块,文件头等。区块表,输入表,输出表。
2. 编程思路,主要是对PE格式各个结构进行定位。
 定义一个MAP_FILE_STRUCT结构存放有关信息
3. 文件格式检查,FileHeader读取。。。
4. 文件格式检查,DOS stub主要是显示这不是一个dos程序,在dos运行时,会显示不是的提示
 dos可执行文件标记,指向PE文件头,
 判断pDH->e...
5. 结构中的结构,检测pNTH->Signature=='PE'
 C++是对C的直接继承,
6. 代码讲解
 &pNtH->FileHeader;  //相当于&(pNtH->FileHeader);
7. wsprintf()函数
 
第2讲
1. 数据目录表的读取,点80h的长度
2. codeblocks,有windows和linux的调试器,开源的
3. 代码讲解,
4. 区块表读取
 WINNT.H中有宏
 在codeblocks/build/vc/include/WinNT.h
5. OptionalHeader的大小通常e0,但也可能被人为的改,系统PE加载器加载PE时也是用SizeOfOptionalHeader字段的值来定位区块表
 PE进阶版,软件自动化安装,exe加锁器,PE病毒,
 
第3讲
1. 输出表信息读取,也叫导出表,Export Table,内函数名称,输出序数,是目录表的第一个成员,
2. ied结构,用UE查看dll
3. dll输出表的写法,
 如果地址为0不管它,不是0才显示
4. 代码讲解

第4讲
1. 输入表信息读取
2. GetFirstImportDesc自定义函数,见PEFuncs.cpp
 找到输入表的位置,返回指向输入表的指针,
3. ShowImportDescInfo,
 CB可把所有函数折叠起来
 写好让windows来管理对话框的函数,叫回调函数
4. 发送消息,来分列,
 0x8000,第31位为0,转为二进制每个0表8个0