• EV剪辑分析


    EV剪辑分析

     

    点击‘充值开通VIP’打开网页http://svip.ieway.cn/personalPay?product_type=2000

     

    字符串搜索定位到

     

    调用栈

     

    根据调用栈回溯到上层调用66A3B190

    ZN14OutVideoDialog8check_okEv处理‘导出’按钮

     

    这里有创建消息框,点击‘充值开通VIP’对应的处理:

    那么上层if则应该是判断是否为VIP:

     

    看到了明晃晃的“UserLevel”,调试获得此方法位于evBridge492.dll  67A0CE60;推测为通过获取某全局map中UserLevel的值

     

    调试发现其值为“m4mdQA==”,后面的方法则应该是对其解密,evbridge492.67A0C860

     

    ZN2bg5Value4readEPKc方法负责解析xor后的数据

     

    base64encode str: m4mdQA==

    base64decode data: 0x9b, 0x89, 0x9d, 0x40

    xordecrypto data: [i]0

    最终this偏移+8处设置为UserLevel的值,0;后续与1比较,小于等于1则会弹出提示框,视频带水印。

     

    测试将此处比较nop掉,没有提示框,但无法去除水印,推测后续仍会检测UserLevel,尝试在必经之路evbridge492.67A0C860解密方法处下断,回溯。

    在第二次调用evbridge492.67A0C860解密方法时,在上层发现调用

    ZN3eva16GraphicsBaseView12setWatermarkEbRK7QStringd

     

    此处patch修改eax值为0则可实现去水印。

     

    同样的方法跟踪‘高级’按钮

     

    此处patch修改eax值为1,则可实现高级设置。

    修改这两处虽然可以使用,但不够优雅,向上寻找userlevel设置的地方才可一劳永逸;

    Userlevel的值经过base64编码,以此为突破点跟踪;

    evbridge492.67A0C860解密方法中有调用base64解码,转到此类的虚表,在其周围寻找编码函数。同理找到xor加密的函数。

     

    通过下断,重启程序,回溯来到TimeView.dll 66A4F7D0 _ZN8AsModule4initEv

     

    evbridge492.67A0C9C0:

     

    evbridge492._ZNK2bg5Value5writeEv;设置userlevel的数据格式

     

    Patch设置userlevel值大于1则可实现vip功能。

     

    need str: [i]4

    xorencrypto data: 0x9b, 0x89, 0x9d, 0x44

    base64encode: b'm4mdRA=='

     

     

  • 相关阅读:
    mvc中压缩html
    简单瀑布流
    MVC4 WebAPI
    css实现隔行换色
    网站变黑白
    reset.css
    选择文本改变浏览器默认的背景色和前景色
    DataBinder.Eval用法范例
    精妙SQL語句
    asp.net面试题收集
  • 原文地址:https://www.cnblogs.com/DirWang/p/14586399.html
Copyright © 2020-2023  润新知