飘云阁

 找回密码
 加入我们

QQ登录

只需一步,快速开始

查看: 9138|回复: 12

[分享] ManyCam v5.0.5 简单分析

[复制链接]

该用户从未签到

发表于 2015-10-23 19:31:59 | 显示全部楼层 |阅读模式
2.jpg

群里又在群.P.软件,于是下载一起搞下,加了 Themida 的壳,不过里边的关键代码没有 V 掉,所以还是可以很轻松的定位到关键点 :


  1. 014A1FF0    55              PUSH    EBP
  2. 014A1FF1    8BEC            MOV     EBP, ESP
  3. 014A1FF3    A1 F032F401     MOV     EAX, DWORD PTR DS:[1F432F0]
  4. 014A1FF8    83EC 10         SUB     ESP, 10
  5. 014A1FFB    85C0            TEST    EAX, EAX
  6. 014A1FFD    74 1C           JE      SHORT ManyCam.014A201B
  7. 014A1FFF    8B40 08         MOV     EAX, DWORD PTR DS:[EAX+8]
  8. 014A2002    83F8 02         CMP     EAX, 2                           ; Pro 版本
  9. 014A2005    74 0B           JE      SHORT ManyCam.014A2012
  10. 014A2007    83F8 03         CMP     EAX, 3                           ; Studio 版本
  11. 014A200A    74 06           JE      SHORT ManyCam.014A2012
  12. 014A200C    33C0            XOR     EAX, EAX                         ; 未注册
  13. 014A200E    8BE5            MOV     ESP, EBP
  14. 014A2010    5D              POP     EBP                              ; ntdll.77AB019D
  15. 014A2011    C3              RETN
  16. 014A2012    B8 01000000     MOV     EAX, 1                           ; 注册版
  17. 014A2017    8BE5            MOV     ESP, EBP
  18. 014A2019    5D              POP     EBP                              ; ntdll.77AB019D
  19. 014A201A    C3              RETN

复制代码


看到这个代码,可想而已,整个关键点应该就是这个类对象的枚举成员,是什么类型。但是有 themida 的内存效检,所以如果修改内存代码的话,还需要搞定 themida 的内存效检,这样相对比较麻烦。

a_p 给了以下一些方案,这里简单整理下:

1.  对任意代码下内存读硬件断点,跟到后逐层返回 VM_HANDLE 然后来过效检。
2. SMC 直接去搞掉效检。
3. 找到 themida 数据解密前的数据,并修正为需要Path后的数据。

以上三种体力活,不好搞,于是又有以下一些方案:

1. Dll 进去找到初始化赋值 ,然后修改赋值。
2. 定位到这个全局对象,然后直接赋值为3。
这两个方案都是直接修改内存值来达到过效检的。先说方案一的实现,a_p 哥的实现方案如下:


  1. 67001160 Qt5Core.??0QString@@QAE@ABV0@@Z  // 初始化后会调用这个函数 于是在这个QT DLL的函数尾部Path汇编代码

  2. Path 在函数尾段 ...

  3. 67232B0A      60                       PUSHAD
  4. 67232B0B      9C                       PUSHFD
  5. 67232B0C      E8 0D000000              CALL 67232B1E

  6. // ManyCam.exe
  7. 67232B11      4D                       DEC EBP
  8. 67232B12      61                       POPAD
  9. 67232B13      6E                       OUTSB                                             ;  I/O command
  10. 67232B14      79 43                    JNS SHORT 67232B59
  11. 67232B16      61                       POPAD
  12. 67232B17      6D                       INSD                                              ;  I/O command
  13. 67232B18      2E:                      PREFIX CS:                                        ;  Superfluous prefix
  14. 67232B19      65:78 65                 JS SHORT 67232B81                                 ;  Superfluous prefix
  15. 67232B1C      0000                     ADD BYTE PTR DS:[EAX],AL

  16. 67232B1E      8B0424                   MOV EAX,DWORD PTR SS:[ESP]                        ;  ManyCam.0109439C
  17. 67232B21      FF90 9B060000            CALL DWORD PTR DS:[EAX+0x69B]                        // GetModuleHandleA
  18. 67232B27      83F8 00                  CMP EAX,0x0
  19. 67232B2A      74 07                    JE SHORT 67232B33
  20. 67232B2C      C680 E85FC900 03         MOV BYTE PTR DS:[EAX+0xC95FE8],0x3
  21. 67232B33      9D                       POPFD
  22. 67232B34      61                       POPAD
  23. 67232B35      C2 0400                  RETN 0x4

复制代码

方案2 我是直接下硬件断点,中断后,读取该全局变量地址,直接对其成员赋值。

1.jpg
PYG19周年生日快乐!
  • TA的每日心情
    开心
    2018-7-9 08:20
  • 签到天数: 869 天

    [LV.10]以坛为家III

    发表于 2015-10-23 19:46:19 | 显示全部楼层
    沙发,支持校长
    PYG19周年生日快乐!
  • TA的每日心情

    2023-4-8 22:21
  • 签到天数: 440 天

    [LV.9]以坛为家II

    发表于 2015-10-23 19:55:50 | 显示全部楼层
    看不懂,只知道楼上的很有名

    点评

    同感,看不懂NISY是非常牛的牛人!  详情 回复 发表于 2015-10-23 20:10
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2021-9-9 20:17
  • 签到天数: 53 天

    [LV.5]常住居民I

    发表于 2015-10-23 20:10:51 | 显示全部楼层
    yy11 发表于 2015-10-23 19:55
    看不懂,只知道楼上的很有名

    同感,看不懂NISY是非常牛的牛人!

    点评

    得动手去调试下 这个软件定位关键点不难 难在如何赋值  详情 回复 发表于 2015-10-25 11:04
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2017-10-10 17:24
  • 签到天数: 15 天

    [LV.4]偶尔看看III

    发表于 2015-10-23 20:58:34 | 显示全部楼层
    我系统是winxp,只能跑4.x 然后晚上远程调试 lynx 的电脑操作看了一圈,5.x和4.x代码不一样,标志位地址不是固定的地址,所以补丁地址要多几行代码.判断一下释放解码完毕
    1. 6723F49A    60               PUSHAD
    2. 6723F49B    9C               PUSHFD
    3. 6723F49C    E8 0D000000      CALL 6723F4AE
    4. 6723F4A1    4D               DEC EBP                                 ; // ManyCam.exe
    5. 6723F4A2    61               POPAD
    6. 6723F4A3    6E               OUTSB
    7. 6723F4A4    79 43            JNS SHORT 6723F4E9
    8. 6723F4A6    61               POPAD
    9. 6723F4A7    6D               INSD
    10. 6723F4A8    2E:              PREFIX CS:
    11. 6723F4A9    65:78 65         JS SHORT 6723F511
    12. 6723F4AC    0000             ADD BYTE PTR DS:[EAX],AL
    13. 6723F4AE    8B0424           MOV EAX,DWORD PTR SS:[ESP]
    14. 6723F4B1    FF90 130D0000    CALL DWORD PTR DS:[EAX+0xD13]           ; 获得 ManyCam.exe 内存模块地址
    15. 6723F4B7    83F8 00          CMP EAX,0x0                             ; 判断是否获取到
    16. 6723F4BA    74 07            JE SHORT 6723F4C3
    17. 6723F4BC    8B80 F032C000    MOV EAX,DWORD PTR DS:[EAX+0xC032F0]     ; 获取 标志位内存地址
    18. 6723F4C2    83F8 00          CMP EAX,0x0                             ; 判断是否解码
    19. 6723F4C5    74 04            JE SHORT 6723F4CB
    20. 6723F4C7    C640 08 03       MOV BYTE PTR DS:[EAX+0x8],0x3           ; 根据获取到的标志位地址+偏移 修改成3
    21. 6723F4CB    9D               POPFD                                   ; 0是Free版 1是Studio版 2是Studio版 3是Enterprise版
    22. 6723F4CC    61               POPAD
    23. 6723F4CD    C2 0400          RETN 0x4
    复制代码



    评分

    参与人数 1威望 +40 飘云币 +40 收起 理由
    Nisy + 40 + 40 PYG有你更精彩!

    查看全部评分

    PYG19周年生日快乐!
  • TA的每日心情
    开心
    2024-3-8 19:52
  • 签到天数: 461 天

    [LV.9]以坛为家II

    发表于 2015-10-23 21:01:18 | 显示全部楼层
    太复杂了
    没看懂
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2015-10-23 22:25:01 | 显示全部楼层



    Manycam V5.0.5 破解版 PYG特别版 Cracked By Nisy && a__p

    补丁下载:https://www.chinapyg.com/thread-81208-1-1.html
    PYG19周年生日快乐!
  • TA的每日心情
    擦汗
    2019-3-1 23:51
  • 签到天数: 559 天

    [LV.9]以坛为家II

    发表于 2015-10-24 07:52:27 | 显示全部楼层
    谢谢楼主分享
    PYG19周年生日快乐!
  • TA的每日心情
    开心
    5 小时前
  • 签到天数: 956 天

    [LV.10]以坛为家III

    发表于 2015-10-24 21:28:09 | 显示全部楼层

    小伙伴都说好,不能错过!
    PYG19周年生日快乐!

    该用户从未签到

     楼主| 发表于 2015-10-25 11:04:25 | 显示全部楼层
    cdygr 发表于 2015-10-23 20:10
    同感,看不懂NISY是非常牛的牛人!

    得动手去调试下 这个软件定位关键点不难 难在如何赋值
    PYG19周年生日快乐!
    您需要登录后才可以回帖 登录 | 加入我们

    本版积分规则

    快速回复 返回顶部 返回列表