crack流程:
0.找到 GetModuleHandleA 和 GetProcAddress 函数的ptr指针

.data1:10DA723C ?? ?? ?? ??             GetModuleHandleA dd ?
.data1:10DA722C ?? ?? ?? ??             GetProcAddress  dd ? 

记为 (***a)DA723C  (***b)DA722C

1.找到如下代码片段(交叉引用 unknown_libname_125 (call j__free) ; Microsoft VisualC 2-14/net runtime 可找到)

.text1:10CEF47F 50                                      push    eax
.text1:10CEF480 68 D0 BF D2 10                          push    offset sub_10D2BFD0
.text1:10CEF485 68 80 6F D0 10                          push    offset sub_10D06F80
.text1:10CEF48A 68 20 6F D0 10                          push    offset sub_10D06F20
.text1:10CEF48F 68 40 6E D0 10                          push    offset sub_10D06E40
.text1:10CEF494 68 30 9E D2 10                          push    offset sub_10D29E30
.text1:10CEF499 68 30 F1 CE 10                          push    offset sub_10CEF130
.text1:10CEF49E 68 B0 A1 D2 10                          push    offset sub_10D2A1B0
.text1:10CEF4A3 68 80 BF D2 10                          push    offset sub_10D2BF80
.text1:10CEF4A8 68 90 BD D2 10                          push    offset sub_10D2BD90 <<<
.text1:10CEF4AD 68 90 B9 D2 10                          push    offset sub_10D2B990
.text1:10CEF4B2 68 30 B9 D2 10                          push    offset sub_10D2B930
.text1:10CEF4B7 68 10 B9 D2 10                          push    offset unknown_libname_125 ; Microsoft VisualC 2-14/net runtime
.text1:10CEF4BC 68 40 B5 D2 10                          push    offset sub_10D2B540
.text1:10CEF4C1 A1 C0 F3 DB 10                          mov     eax, ds:hInstance
.text1:10CEF4C6 50                                      push    eax
.text1:10CEF4C7 FF 55 C4                                call    [ebp+var_3C]

2.观察 sub_10D2BD90 这个函数,记为 (***c)10D2BD90,并减去基地址10000000,记为(***d)D2BD90

观察 sub_10D2BD90 偏移地址 10CEF4A8,算出 10CEF4A9 的文件偏移,记为(***e)1E34A9

3.找到如下 IMAGE_SECTION_HEADER (紧随 .text1 (rva _DllMain@12) 后面)

HEADER:100002F0                         ; IMAGE_SECTION_HEADER
HEADER:100002F0 2E 61 64 61 74 61 00 00                 db '.adata',0,0         ; Name
HEADER:100002F8 00 00 01 00                             dd 10000h               ; Virtual size
HEADER:100002FC 00 70 D9 00                             dd rva sub_10D97000     ; Virtual address
HEADER:10000300 00 D0 00 00                             dd 0D000h               ; Size of raw data
HEADER:10000304 00 F0 27 00                             dd 27F000h              ; Pointer to raw data
HEADER:10000308 00 00 00 00                             dd 0                    ; Pointer to relocations
HEADER:1000030C 00 00 00 00                             dd 0                    ; Pointer to line numbers
HEADER:10000310 00 00                                   dw 0                    ; Number of relocations
HEADER:10000312 00 00                                   dw 0                    ; Number of linenumbers
HEADER:10000314 20 00 00 60                             dd 60000020h            ; Characteristics

观察 dd rva sub_10D97000 和 dd 27F000h 记为
(***f)10D97000 (***g)D97000 (***h)27F000

使用上述记录的
(***a)DA723C  
(***b)DA722C
(***c)10D2BD90
(***d)D2BD90
(***e)1E34A9
(***f)10D97000
(***g)D97000 
(***h)27F000
按结构

a b c d
01 g e h 0x2200 00

构造 0x20 长度的数据如下
记为(***x)

3C 72 DA 00 2C 72 DA 00 90 BD D2 10 90 BD D2 00
01 00 70 D9 00 A9 34 1E 00 00 F0 27 00 00 22 00

16进制编辑器打开原始 VA_X.dll
跳转到文件偏移 (***h)27F000,Ctrl+B 粘贴 code.bin 的数据
跳转到 (***h)+1E50,Ctrl+B 粘贴 (***x) 的数据
跳转到文件偏移 (***e)1E34A9,修改4字节为 (***f)10D97000 也就是 00 70 D9 10
保存 VA_X.dll

下面是对 10.9.2366.0 的实操,基地址 1ED00000
0.找到

.data1:1FB8B23C ?? ?? ?? ??             GetModuleHandleA dd ?                   ; DATA XREF: sub_1FAD3140+44F↑r
.data1:1FB8B22C ?? ?? ?? ??             GetProcAddress  dd ?                    ; DATA XREF: .text1:1FAD4368↑r

记为 (***a)3C B2 E8 00  (***b)2C B2 E8 00
1.找到

.text1:1FAD34A3 68 80 FF B0 1F                          push    offset sub_1FB0FF80
.text1:1FAD34A8 68 90 FD B0 1F                          push    offset sub_1FB0FD90 <<<
.text1:1FAD34AD 68 90 F9 B0 1F                          push    offset sub_1FB0F990
.text1:1FAD34B2 68 30 F9 B0 1F                          push    offset sub_1FB0F930
.text1:1FAD34B7 68 10 F9 B0 1F                          push    offset unknown_libname_125 ; Microsoft VisualC 2-14/net runtime
.text1:1FAD34BC 68 40 F5 B0 1F                          push    offset sub_1FB0F540
.text1:1FAD34C1 A1 C0 33 BA 1F                          mov     eax, ds:hInstance
.text1:1FAD34C6 50                                      push    eax
.text1:1FAD34C7 FF 55 C4                                call    [ebp+var_3C]

2.记为 (***c)90 FD B0 1F   (***d) 90 FD E0 00  (***e) A9 F4 1E 00
3.找到

HEADER:1ED003B8                         ; IMAGE_SECTION_HEADER
HEADER:1ED003B8 2E 74 65 78 74 31 00 00                 db '.text1',0,0         ; Name
HEADER:1ED003C0 00 00 0B 00                             dd 0B0000h              ; Virtual size
HEADER:1ED003C4 00 B0 DC 00                             dd rva _DllMain@12      ; Virtual address
HEADER:1ED003C8 00 40 0A 00                             dd 0A4000h              ; Size of raw data
HEADER:1ED003CC 00 70 1E 00                             dd 1E7000h              ; Pointer to raw data
HEADER:1ED003D0 00 00 00 00                             dd 0                    ; Pointer to relocations
HEADER:1ED003D4 00 00 00 00                             dd 0                    ; Pointer to line numbers
HEADER:1ED003D8 00 00                                   dw 0                    ; Number of relocations
HEADER:1ED003DA 00 00                                   dw 0                    ; Number of linenumbers
HEADER:1ED003DC 20 00 00 60                             dd 60000020h            ; Characteristics
HEADER:1ED003E0                         ; IMAGE_SECTION_HEADER
HEADER:1ED003E0 2E 61 64 61 74 61 00 00                 db '.adata',0,0         ; Name
HEADER:1ED003E8 00 00 01 00                             dd 10000h               ; Virtual size
HEADER:1ED003EC 00 B0 E7 00                             dd rva dword_1FB7B000   ; Virtual address
HEADER:1ED003F0 00 D0 00 00                             dd 0D000h               ; Size of raw data
HEADER:1ED003F4 00 B0 28 00                             dd 28B000h              ; Pointer to raw data
HEADER:1ED003F8 00 00 00 00                             dd 0                    ; Pointer to relocations
HEADER:1ED003FC 00 00 00 00                             dd 0                    ; Pointer to line numbers
HEADER:1ED00400 00 00                                   dw 0                    ; Number of relocations
HEADER:1ED00402 00 00                                   dw 0                    ; Number of linenumbers
HEADER:1ED00404 20 00 00 60                             dd 60000020h            ; Characteristics

(***f) 00 B0 B7 1F (***g)00 B0 E7 00 (***h)00 B0 28 00

按结构

a b c d
01 g e h 0x2200 00

构造 0x20 长度的数据如下
记为(***x)

3C B2 E8 00 2C B2 E8 00 90 FD B0 1F 90 FD E0 00
01 00 B0 E7 00 A9 F4 1E 00 00 B0 28 00 00 22 00

16进制编辑器打开原始 VA_X.dll
跳转到文件偏移 (***h)28B000,Ctrl+B 粘贴 code.bin 的数据
跳转到 +1E50,Ctrl+B 粘贴 (***x) 的数据
跳转到文件偏移 (***e)1EF4A9,修改4字节为 (***f) 00 B0 B7 1F
保存 VA_X.dll

试了一下,神了~

手工xxoo Visual Assist X 笔记相关推荐

  1. vs 插件小番茄 visual assist x破解版 破解教程下载

    visual assist x是一款非常好用的Microsoft Visual Studio插件,它可以完全集成到您的Microsoft开发环境中,升级了您的IDE,在不改变编程习惯的同时就可以感受到 ...

  2. 如何关闭Visual Assist?

    VAssistX->Enabled/Disable Visual Assixt X 很简单,可能许多人不知道.记录一下. Visual Studio对C++默认的智能提示非常弱,所以安装了Vis ...

  3. Visual Assist使用详细说明

    Visual Assist使用详细说明 <script language=JavaScript> var OsObject = ""; if(navigator.use ...

  4. Visual Assist x 无法自动补全Snippet提示的解决方法

    Visual Assist x 无法自动补全Snippet提示的解决方法 参考文章: (1)Visual Assist x 无法自动补全Snippet提示的解决方法 (2)https://www.cn ...

  5. Visual Assist X 10.8.2036的Crack破解补丁.2014.05.22 (General release.)

    说起来,VA公布上一个Genreal Release版本号已经是过春节那阵子时候的事了,时间过得真快. VA小组又给我们带来了新版本号的Visual Assist编码助手的 2036 版本号, 这个版 ...

  6. [原创]关于在VS2008和VS2010中禁用及卸载Visual Assist X的方法研究

    [原创]关于在VS2008和VS2010中禁用及卸载Visual Assist X的方法研究 禁用和启用   此方法对于VS2008和VS2010 都适用. 在VS2008或VS2010菜单栏中选择& ...

  7. Visual Studio 2008 + Visual Assist X的CUDA2.3编译环境设置[转]

    Visual Studio 2008 + Visual Assist X的CUDA2.3编译环境设置 发表时间:2010-01-21 装了这些可已在VC2008里运行SDK里边的一些例子了,但是编程很 ...

  8. visual assist破解

    VC2017是在 [C:\Users\你自己的用户名\AppData\Local\Microsoft\VisualStudio\15.0_xxxxxx\Extensions]下 你可以看到一个或者多个 ...

  9. Visual Assist X 安装、使用 和 快捷键

    Visual Assist X 安装.使用 和 快捷键 https://blog.csdn.net/freeking101/article/details/54631640 Visual Assist ...

最新文章

  1. Boost filesystem学习笔记
  2. rabbitmq系列问题解决:406, “PRECONDITION_FAILED - inequivalent arg ‘durable‘
  3. css Table布局:基于display:table的CSS布局
  4. 【Java 虚拟机原理】垃圾回收算法 ( Java 虚拟机内存分区 | 垃圾回收机制 | 引用计数器算法 | 引用计数循环引用弊端 )
  5. 用户进程与内核进程通信netlink实例
  6. 【安全漏洞】Easy代码审计
  7. TiKV 在饿了么的大规模应用实践
  8. 倒计时 3 天!1024 程序员节全日程曝光,105 场深度演讲点燃数字经济新时代
  9. C语言系列之自增自减运算符的用法(二)
  10. avd android 5.1,Kotlin开发进阶
  11. 现代数字图像处理作业---对lena.bmp图像转成灰度图后,加入90%强度的椒盐噪声。尝试任何方法去恢复图像。
  12. 8、Azkaban高频面试题
  13. 【RDMA】RDMA SEND/WRITE编程实例(IBV Verbs )
  14. 剖析Linux的守护神
  15. 发挥数字化平台优势,电子元器件采购商城系统助力企业改变固有低效流程
  16. Vue使用axios处理后端数据流,导出excel
  17. NHibernate体系结构概览
  18. 新的 OpenWrt RCE 漏洞曝光,影响数百万台网络设备
  19. java classpath 遍历_Java 读取JAR文件信息
  20. 珍惜在天堂和地狱溜达的每一天

热门文章

  1. 晓庄学院计算机科学分数,2016南京晓庄学院艺术类专业录取分数线
  2. BUUCTF(pwn)jarvisoj_level3_x64
  3. BUUCTF(pwn)mrctf2020_easy_equation
  4. mysql目录权限设置_MySQL文件及目录权限设置分析-爱可生
  5. Python中的驻留机制:小数据池和代码块
  6. python基础教程:强制数据类型转换教程及实例
  7. Python基础入门:endswith() 函数
  8. 【Python教程】装饰器的使用及固定模式
  9. python基础教程:常量 (最全常量解析)
  10. Python中 __init__.py的作用