欢迎来到 嗅灵易学

零基础也能上手的脚本技术课,一对一答疑带你入门

我的题目一做法

我的题目一做法

已经过了保密时间,现在公开下我的做题答案,祥见附件。答案缺点是兼容性差,直接使用了LoadLibrary,GetProcAddress.FreeLibrary等函数地址。
优点当然是修改的地方少了。
恐怕函数占用字节数我是最多的了。呵呵,重在参与。这些不重要了。抛砖引玉吧。
1. 数据目录中添加导出表结构    20b0(6B0)
   在pediy.dll文件148h处添加字节:b0 20 00 00 45 00 00 00
2. 添加导出表   
在pediy.dll文件6b0处添加如下字节:用作导出表
    00 00 00 00 34 cf e5 48 00 00 00 00 e2 20 00 00
    01 00 00 00 01 00 00 00 01 00 00 00 d8 20 00 00
    dc 20 00 00 e0 20 00 00 20 11 00 00 ec 20 00 00
    00 00 70 65 64 69 79 2e 64 6c 6c 00 4f 70 65 6e
    55 72 6c 41 00

3. 添加导出函数 
  在pediy.dll文件520h处添加机器码:
53 57 56 E8 00 00 00 00 5B 81 EB 28 11 40 00 
8D B3 00 11 40 00 56 BF 77 1D 80 7C FF D7 50 
5F 8D B3 10 11 40 00 56 57 B8 28 AC 80 7C FF  
D0 6A 01 6A 00 6A 00 8D B3 e0 10 40 00 56 8D  
B3 d0 10 40 00 56 6A 00 FF D0 57 B8 66 AA 80  
7C FF D0 5E 5F 5B C3
  在.text中添加常量字符串。
1) 在pediy.dll文件4e0h处添加:   68 74 74 70 3A 2F 2F 26  62 73 2E 70 65 64 69 79 2E 63 6F 6D 00 
2) 在pediy.dll文件4d0h处添加:   6F 70 65 6E 00 
3)  在pediy.dll文件500h处添加:   73 68 65 6C 6C 33 32 2E  64 6C 6C 00  
4)  在pediy.dll文件510h处添加:   53 68 65 6C 6C 45 78 65  63 75 74 65 41 00 
到这里题目就完成了。

测试代码:
  HMODULE hd = LoadLibrary("pediy.dll");
  GetProcAddress(hd,"OpenUrlA");
  _asm call eax
  FreeLibrary(hd);

上传的附件 TEST.rar

注意:上传附件及图片大小不得大于30M。

⚠️ 版权声明:
本博客所有内容(含教程、源码、工具)仅供个人技术学习与研究交流使用,严禁商用、倒卖、二次分发及非法用途
未经作者书面授权,任何组织或个人不得转载、复制或用于其他平台,违者将追究相关责任。

0 0 0 举报
复制成功