dy28.9 arm32位--------------六神篇

根据以往的libmetasec_ml.so来看在此之前的入口位置都差不多,但是这一次的位置却有些变化了

不过还是跟踪到了,但是还是有些异常。

直接上代码吧
 

def get_sign(url, header_str):
    g_vfs_path = "%s/vfs" % os.path.dirname(os.path.abspath(__file__))
    emulator = Emulator(vfs_root=posixpath.join(posixpath.dirname(__file__), g_vfs_path), muti_task=True)
    vfs_path = emulator.get_vfs_root()
    libcm = emulator.load_library("%s/system/lib/libc.so" % vfs_path)
    libml = emulator.load_library("%s/data/data/com.ss.android.ugc.aweme/libmetasec_ml.so" % vfs_path, do_init=False)
    emulator.java_classloader.add_class(ms_bd_c_k)
    emulator.java_classloader.add_class(ms_bd_c_a0)
    emulator.java_classloader.add_class(MS)
    emulator.java_classloader.add_class(java_lang_Thread)
    emulator.call_symbol(libml, 'JNI_OnLoad', emulator.java_vm.address_ptr, 0x00)
    url_addr = emulator.call_symbol(libcm, 'malloc', len(url) + 1)
    header_str_addr = emulator.call_symbol(libcm, 'malloc', len(header_str) + 1)
    memory_helpers.write_utf8(emulator.mu, url_addr, url)
    memory_helpers.write_utf8(emulator.mu, header_str_addr, header_str)
    result_addr = emulator.call_native(libml.base + 隐藏+ 1, url_addr, header_str_addr)
    result = memory_helpers.read_utf8(emulator.mu, result_addr)
    sign = result.replace('\n', '@@@@').replace('\r', '')
    sign_list = sign.split('@@@@')
    json_sign = {
        sign_list[0]: sign_list[1],
        sign_list[2]: sign_list[3],
        sign_list[4]: sign_list[5],
        sign_list[6]: sign_list[7],
        sign_list[8]: sign_list[9],
        sign_list[10]: sign_list[11],
    }
    return json_sign

结果是

这里我们的入参是头条的url和headers
 

经测头条极速版9.7.1和红果短剧 6.1.4.32以及dy28.9的hook位置大差不差 估计是新本版都用的是一套??(未知)

声明本文章中所有内容仅供学习交流使用,不用于其他任何目的,不提供完整代码,抓包内容、敏感网址、数据接口等均已做脱敏处理,严禁用于商业用途和非法用途,否则由此产生的一切后果均与作者无关! 本文章未经许可禁止转载,禁止任何修改后二次传播,擅自使用本文讲解的技术而导致的任何意外,作者均不负责,若有侵权,请联系作者立即删除!

  • 4
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值