zoukankan      html  css  js  c++  java
  • Obsidium V1.3.0.4 脱壳

    【文章标题】: Obsidium V1.3.0.4

    【文章作者】: 
    【下载地址】: 自己搜索下载
    【加壳方式】: Obsidium 1.3.0.4 -> Obsidium Software [Overlay]
    【编写语言】: VC6.0
    【使用工具】: 一蓑烟雨OllyDbg 等等
    【作者声明】: 只是感兴趣,没有其他目的。失误之处敬请诸位大侠赐教!
    --------------------------------------------------------------------------------
    【详细过程】

    试过了很多的OD都不行,只有一蓑烟雨的OD下  硬件断点才能断下来!

    OD  F9  运行可以 通过  

    OB壳对内存有检查,修改内存属性为  REW

    搜索 00401000   

    搜索VC 的特征码:  随便选择 好用就行

    00496EB8 >/$  55            PUSH EBP                                 ;  (初始 cpu 选择)
    00496EB9  |.  8BEC          MOV EBP,ESP
    00496EBB  |.  6A FF         PUSH -1
    00496EBD  |.  68 40375600   PUSH Screensh.00563740
    00496EC2  |.  68 8CC74900   PUSH Screensh.0049C78C                   ;  SE 处理程序安装
    00496EC7  |.  64:A1 0000000>MOV EAX,DWORD PTR FS:[0]
    00496ECD  |.  50            PUSH EAX
    00496ECE  |.  64:8925 00000>MOV DWORD PTR FS:[0],ESP
    00496ED5  |.  83EC 58       SUB ESP,58

    在程序中搜到:

    0040533B    64:A1 00000000   MOV EAX,DWORD PTR FS:[0]
    00405341    50               PUSH EAX
    00405342    64:8925 00000000 MOV DWORD PTR FS:[0],ESP
    00405349    83EC 68          SUB ESP,0x68
    0040534C    53               PUSH EBX
    0040534D    56               PUSH ESI
    0040534E    57               PUSH EDI
    0040534F    8965 E8          MOV DWORD PTR SS:[EBP-0x18],ESP
    00405352    33DB             XOR EBX,EBX
    00405354    895D FC          MOV DWORD PTR SS:[EBP-0x4],EBX
    00405357    6A 02            PUSH 0x2
    上面几行被偷了

    还有IAT  没有显示:

    00406000  009F0414
    00406004  009F0420
    00406008  009F0000

    ··························这里省略
    00406168  009F0294
    0040616C  009F02A0
    00406170  009F02AC

    调向  009F0414

    有很多jmp   当 看到  je判断时   je过去 下断  然后继续

    知道看到显示  函数地址IAT


    知道IAT的流程后  写脚本:

    var fi
    var fix
    var oep
    var tmpesp


    mov oep,eip
    mov tmpesp,esp
    mov fi,405ffc
    loop:
    mov esp,tmpesp
    add fi,4
    cmp fi,00406174
    jae exit
    mov fix,[fi]
    cmp fix,10000000
    jae loop
    mov eip,fix
    esto
    cmp eip,00995003 //此处为 显示函数地址的 左边的地址
    jnz loop
    mov [fi],eax
    jmp loop

    exit:
    mov eip,oep
    mov esp,tmpesp
    ret

    得到IAT后    复制二进制

    重来

    粘贴二进制  IAT

    修复  代码头

    LOADPE  IMPORT  (注意  import  要切除无用指针)








  • 相关阅读:
    Rabbit官方文档翻译之Publish Subscribe(三)
    Maven项目导入本地Jar包
    位运算实现整数的加减乘数运算
    SpringMVC通过工具类获取Request域
    终止线程的2种方法。标记法和中断
    Spring 下默认事务机制中@Transactional 无效的原因
    java泛型 泛型的内部原理:类型擦除以及类型擦除带来的问题
    java.lang.Object.clone()分析
    我的Node.js学习历程
    setTimeout的妙用2——防止循环超时
  • 原文地址:https://www.cnblogs.com/zcc1414/p/3982468.html
Copyright © 2011-2022 走看看