欢迎来到 嗅灵易学

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

答复

答复

这么修复很慢,
克隆一份代码patch CRC那里,然后可以直接修改patch IAT。
并且试试delphi程序,有个表被抽走了。
给你个参考代码,写得很乱:
          ; clone decoder to fuck crc
          pusha
          mov  ebx, s_size[ebp]
          push  4
          push  3000h
          push  ebx

          push  0
          callX  VirtualAlloc
          mov  s_clone[ebp], eax
          xchg  edi, eax
          mov  esi, s_start[ebp]
          xchg  ecx, ebx
          rep  movsb
          popa
          ; find CRC patch
          ; 00374351    2B848D 143B0000 SUB     EAX, [EBP+ECX*4+3B14]
          ; 2B 84 8D 14 3B 00 00
          .while  b [eax] != 2Bh || \
            d [eax+1] != 3B148D84h || \
            w [eax+5] != 0
            inc  eax
          .endw
          ; save the addr to decide is last exception
          mov  iatproc[ebp], eax
          ; patch CRC
          add  eax, 3
          mov  ecx, s_clone[ebp]
          sub  ecx, s_start[ebp]
          add  ecx, [eax]
          mov  [eax], ecx
          ; patch IAT encrypt
          ; 00374661    8919            MOV     [ECX], EBX
          ; 00374663    EB 03           JMP     SHORT 00374668
          ; 8919EB03
          .while  d [eax] != 03EB1989h
            inc  eax
          .endw
          inc  eax
          mov  b [eax], 01h  ; mov [ecx], eax
          ; wait alloc mem to fuck Codereplace
          mov  eax, za[ebp]
          call  _bp

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

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

0 0 0 举报
复制成功