V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
推荐学习书目
Learn Python the Hard Way
Python Sites
PyPI - Python Package Index
http://diveintopython.org/toc/index.html
Pocoo
值得关注的项目
PyPy
Celery
Jinja2
Read the Docs
gevent
pyenv
virtualenv
Stackless Python
Beautiful Soup
结巴中文分词
Green Unicorn
Sentry
Shovel
Pyflakes
pytest
Python 编程
pep8 Checker
Styles
PEP 8
Google Python Style Guide
Code Style from The Hitchhiker's Guide
kevinmissu
V2EX  ›  Python

正则正则正则 求求求大佬

  •  
  •   kevinmissu ·
    YangHuaidong · 2019-06-14 16:45:56 +08:00 · 3586 次点击
    这是一个创建于 1750 天前的主题,其中的信息可能已经有所发展或是发生改变。

    有个这样的文件全是这样的格式 我需要把这样的规格提出来 用正则怎么写 求助大神!!!

    rule fire2013 : webshell { meta: xxx strings: XXX{XXXXXXX}XXXXX condition: all of them }

    35 条回复    2019-06-19 16:42:42 +08:00
    Yggdroot
        1
    Yggdroot  
       2019-06-14 17:15:46 +08:00   ❤️ 6
    你这个提问要能问到答案才怪。
    kevinmissu
        2
    kevinmissu  
    OP
       2019-06-14 17:49:21 +08:00
    rule Trojan_Malware_Win32_NSAnti_C
    {
    meta:
    judge = "black"
    threatname = "Trojan[Malware]/Win32.NSAnti.C"
    threattype = "Malware"
    family = "NSAnti"
    hacker = "None"
    refer = "5c64e6879a9746a0d65226706e0edc7a"
    comment = "None"
    description = "Chinese Hacktool Set - file svu.exe"
    author = "Florian Roth -lz"
    date = "2015-06-13"

    strings:
    $s0 = "MZKERNEL32.DLL" fullword ascii
    $s1 = "UpackByDwing@" fullword ascii
    $s2 = "GetProcAddress" fullword ascii
    $s3 = "WriteFile" fullword ascii
    condition:
    $s0 at 0 and filesize < 50KB and all of them
    }
    kevinmissu
        3
    kevinmissu  
    OP
       2019-06-14 17:49:36 +08:00
    里面全是这种
    kevinmissu
        4
    kevinmissu  
    OP
       2019-06-14 17:50:00 +08:00
    怎么把一条一条的提取出来呢
    kevinmissu
        5
    kevinmissu  
    OP
       2019-06-14 17:50:13 +08:00
    求求求大佬
    Loner233
        6
    Loner233  
       2019-06-14 17:55:10 +08:00 via Android
    括号,空格,引号
    zdnyp
        7
    zdnyp  
       2019-06-14 17:57:02 +08:00
    看不懂...
    index90
        8
    index90  
       2019-06-14 17:59:02 +08:00
    如果没有嵌套大括号的话:
    /^rule\s\w+.\{.+\}$/m

    测试地址:
    https://rubular.com/
    linyinma
        9
    linyinma  
       2019-06-14 18:00:45 +08:00
    描述个问题都表达不清楚~~ 文件格式是什么,需要提取什么,好好表达很困难吗?
    index90
        10
    index90  
       2019-06-14 18:12:40 +08:00
    仔细看题目应该是有嵌套大括号的:
    /^rule\s\w+.{0,1}\{.{0,1}meta:.+strings:.+condition:.+all of them.{0,1}\}$/m

    PS: /m 是正则 options,代表允许以“.”匹配换行
    Cooky
        12
    Cooky  
       2019-06-14 18:24:08 +08:00 via Android
    [以下内容 vip 用户可见]
    limuyan44
        13
    limuyan44  
       2019-06-14 18:49:51 +08:00 via Android
    《提问的艺术》
    weixiangzhe
        14
    weixiangzhe  
       2019-06-14 18:50:07 +08:00 via iPhone
    没看懂 问啥子
    andy1ee11o2
        15
    andy1ee11o2  
       2019-06-14 20:03:10 +08:00
    这不是 yara 规则吗
    HatMatrix
        16
    HatMatrix  
       2019-06-14 20:43:03 +08:00
    这样写
    pkookp8
        17
    pkookp8  
       2019-06-14 20:58:17 +08:00 via Android
    正则是表达了一种规则
    只有一个例子,没有额外说明
    我直接把原文贴一遍,特殊的字符加个转义,x 的地方我改成.*,你肯定又不高兴
    hoyixi
        18
    hoyixi  
       2019-06-14 21:01:38 +08:00
    原来都是这样的格式啊,简单,好写,就用那样的正则
    IsaacYoung
        19
    IsaacYoung  
       2019-06-14 21:03:23 +08:00
    Hilong
        20
    Hilong  
       2019-06-14 21:07:11 +08:00 via Android
    以下内容仅回复后可见
    vinew
        21
    vinew  
       2019-06-14 21:16:17 +08:00 via iPhone
    可以尝试转换成 json 标准格式,然后用 jq 处理
    unicloud
        22
    unicloud  
       2019-06-14 22:12:13 +08:00 via iPhone
    用正则工具试呗
    jdhao
        23
    jdhao  
       2019-06-14 22:35:11 +08:00 via Android
    这样弄一下,然后那样再弄一下,就好了。什么?没听懂?你问的都不清楚,让我怎么回到你
    jdhao
        24
    jdhao  
       2019-06-14 22:35:22 +08:00 via Android
    @jdhao 回答
    saulshao
        25
    saulshao  
       2019-06-15 00:15:23 +08:00
    这东西应该一行行分析,直到你用简单的逻辑无法分析再考虑正则。
    问问题的正确方式应该是:我这个输入是...(你写出来了)
    我想要的结果是:(这个你没写)
    然后再说你尝试过什么方法。
    最后说你想要得到一个什么样的解决办法
    saulshao
        26
    saulshao  
       2019-06-15 00:15:54 +08:00
    还需要知道你用的是什么样的语言。
    sbw
        27
    sbw  
       2019-06-15 00:29:26 +08:00
    你的 xxxx 部分应该是没有标准的吧,如果有符号的话那用正则很麻烦,不如解析 json 或者动手写个 parser
    kingfly
        28
    kingfly  
       2019-06-15 01:11:23 +08:00 via Android
    终于见识了传说中的:提问者把所有人都问蒙了!
    mumbler
        29
    mumbler  
       2019-06-15 01:40:16 +08:00
    你把要处理的文件内容贴一部分出来如何? 再贴一下你想从这部分提取的结果

    很简单就能说清楚的事,别让大家猜,提问也要注意用户体验
    zifangsky
        30
    zifangsky  
       2019-06-15 06:41:45 +08:00
    终于见识了传说中的:提问者把所有人都问蒙了! +1
    senghoo
        31
    senghoo  
       2019-06-15 08:34:54 +08:00 via iPad
    解析这种东西,一般都是直接做词法分析和语法分析。正则表达式很难写出来。就算写出来了也是复杂度太高,没有维护性。
    asadegg
        32
    asadegg  
       2019-06-15 10:41:43 +08:00
    我告诉你吧,先这样,这样,再那样,再这样,就行了
    XxxxD
        33
    XxxxD  
       2019-06-15 12:51:17 +08:00
    《提问的艺术》
    way2create
        34
    way2create  
       2019-06-15 16:54:10 +08:00
    建议描述清楚,或者截个图,这提问...
    kevinmissu
        35
    kevinmissu  
    OP
       2019-06-19 16:42:42 +08:00
    感觉这样正则提不出来 我就换了一种 方法 对 这就是 yara 规则的格式
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   我们的愿景   ·   实用小工具   ·   5240 人在线   最高记录 6543   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 31ms · UTC 09:17 · PVG 17:17 · LAX 02:17 · JFK 05:17
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.