• 手脱ACProtect v1.35(无Stolen Code)


    1.载入PEID

    ACProtect v1.35 -> risco software Inc. & Anticrack Soft
    

    2.载入OD,需要注意的是,异常选项除了[内存访问异常]外其他全部勾选上,然后shift+F9运行至最后一次异常,是1次之后。第二次程序就跑飞了

    00436000 >  60              pushad                            ; //入口
    00436001    7C 03           jl short QQ个性签.00436006
    00436003    7D 01           jge short QQ个性签.00436006
    00436005    71 0B           jno short QQ个性签.00436012
    00436007    C2 66C1         retn 0xC166
    0043600A    D29E FC4566D3   rcr byte ptr ds:[esi-0x2C99BA04],>
    00436010    D27403 75       sal byte ptr ds:[ebx+eax+0x75],cl
    00436014    0177 66         add dword ptr ds:[edi+0x66],esi
     

    3.落脚点,落脚后右键点堆栈窗口SE句柄—数据窗口跟随—数据窗口第一行下内存访问断点然后shift+F9

    00447B1F    CD 01           int 0x1                           ; //落脚点
    00447B21    40              inc eax
    00447B22    40              inc eax
    00447B23    0BC0            or eax,eax
    00447B25    75 05           jnz short QQ个性签.00447B2C
    00447B27    90              nop
    00447B28    90              nop
    
    0012FF44   00447B03  SE处理程序     //堆栈窗口
    
    00447B03  0C245C8B                  //数据窗口第一行

    4.落脚点,在落脚点下F2断点,然后shift+F9

    00447B03    8B5C24 0C       mov ebx,dword ptr ss:[esp+0xC]    ; //落脚点
    00447B07    8383 B8000000 0>add dword ptr ds:[ebx+0xB8],0x2
    00447B0E    33C0            xor eax,eax
    00447B10    C3              retn
    00447B11    64:67:FF36 0000 push dword ptr fs:[0]
    00447B17    64:67:8926 0000 mov dword ptr fs:[0],esp
     

    5.落脚点,继续在这里下F2断点,然后shift+F9运行

    00447B53    8B048E          mov eax,dword ptr ds:[esi+ecx*4]  ; //落脚点
    00447B56    8B5C8E 04       mov ebx,dword ptr ds:[esi+ecx*4+0>
    00447B5A    2BC3            sub eax,ebx
    00447B5C    C1C0 07         rol eax,0x7
    00447B5F    33C2            xor eax,edx
    00447B61    81C2 4B3DF129   add edx,0x29F13D4B
     

    6.落脚点,先清除刚刚下的2个F2断点和1个内存访问断点,然后在最近的retn处F4

    00447B67    89048E          mov dword ptr ds:[esi+ecx*4],eax    ; //落脚点
    00447B6A    49              dec ecx
    00447B6B  ^ EB E1           jmp short QQ个性签.00447B4E
    00447B6D    61              popad
    00447B6E    61              popad
    00447B6F    C3              retn                                ; //F4
    00447B70    0000            add byte ptr ds:[eax],al
     

    7.接下来到显示内存窗口,在00401000处下F2断点然后shift+F9运行,这个时候加壳程序就跑起来了,弹出那个ACProtect的提示窗,不用管,直接点确定

    Memory map, 条目 14
     地址=00401000
     大小=0002B000 (176128.)
     属主=QQ个性签 00400000
     区段=.text
     包含=代码
     类型=Imag 01001002
     访问=R
     初始访问=RWE
     

    8.直接来到OEP,可以脱壳了,使用LoadPE+ImportREC脱壳即可

    004012D4    68 54474000     push QQ个性签.00404754               ; //OEP
    004012D9    E8 F0FFFFFF     call QQ个性签.004012CE               ; jmp 到 msvbvm60.ThunRTMain
    004012DE    0000            add byte ptr ds:[eax],al
    004012E0    0000            add byte ptr ds:[eax],al
    004012E2    0000            add byte ptr ds:[eax],al
    004012E4    3000            xor byte ptr ds:[eax],al
    004012E6    0000            add byte ptr ds:[eax],al
    004012E8    48              dec eax                           ; kernel32.BaseThreadInitThunk
    004012E9    0000            add byte ptr ds:[eax],al

    9.运行查壳

    运行OK,查壳:Microsoft Visual Basic v5.0/v6.0
    
  • 相关阅读:
    PHP为fopen,file_get_contents等函数请求web地址时增加Http头的方法
    php一些技术要点连接地址
    PHP之open_ssl
    加密解密知识 php非对称加密
    python摸爬滚打之day17----类与类之间的关系
    python摸爬滚打之day16----类的成员
    python摸爬滚打之day15----初识类
    python摸爬滚打之day14----内置函数,递归函数
    python摸爬滚打之day12----生成器, 各种生成式
    python摸爬滚打之day11----函数闭包,迭代器
  • 原文地址:https://www.cnblogs.com/JianXu/p/5158372.html
Copyright © 2020-2023  润新知