V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
yhm2046
V2EX  ›  程序员

evernote 加密后的文件如何一次性永久解密?

  •  
  •   yhm2046 · 2023-06-10 20:30:33 +08:00 · 922 次点击
    这是一个创建于 531 天前的主题,其中的信息可能已经有所发展或是发生改变。
    原来用 evernote,最近准备转到 obsidian,网上查到用 joplin 批量把 enex 文件转成 md 文件.
    目前遇到一个问题,有二百多个加密过的文件,查了一下没办法批量解密, 目前只能手动一个个点击解密
    问了下 chatgpt 使用 AES-128 加密后的字符串解密需要 密钥 和 初始化向量, 这两个怎么搞, 本来是计划用 gpt 写一个程序自动批量解密, 目前卡壳了, 有没有老哥指点一下给个思路谢谢!
    rekulas
        1
    rekulas  
       2023-06-10 21:23:57 +08:00
    按常理推断秘钥一般是用户提供的,或者基于用户的密码作为种子生成一个秘钥
    iv 的话看情况,因为这个不需要保密,有些是放密文里的,有些是不需要初始 iv 第一个块丢弃第二个块开始也可以解
    yhm2046
        2
    yhm2046  
    OP
       2023-06-10 23:09:25 +08:00
    @rekulas iv 是啥?
    hs0000t
        3
    hs0000t  
       2023-06-11 01:25:34 +08:00 via Android
    如果找不到批量解密的方法,建议写个脚本模拟鼠标键盘操作,用 pyautogui quicker 按键精灵或者易语言都能搞,哪个顺手用哪个,两百多个不多,写好脚本开着电脑睡一觉,起来就搞定了
    yhm2046
        4
    yhm2046  
    OP
       2023-06-12 15:04:14 +08:00
    @hs0000t 请问我通过 chatgpt 用 python 脚本写了一个自动点击操作的代码,需要如何修改达到循环遍历每一条笔记的自动操作?

    ```python
    import pyautogui
    import time
    import ctypes

    # 设置鼠标移动和点击的延迟时间,根据需要进行调整
    pyautogui.PAUSE = 0.5

    # 打开 Evernote 应用程序(需要根据您的操作系统和应用程序位置进行调整)
    pyautogui.press('win') # 模拟按下 Windows 键
    pyautogui.typewrite('Evernote Legacy.exe') # 输入 Evernote 应用程序的名称
    pyautogui.press('enter') # 模拟按下回车键

    # 等待 Evernote 打开
    time.sleep(5)

    # 移动鼠标到 Evernote 笔记列表的位置并点击
    # 这里需要根据您的屏幕分辨率和 Evernote 窗口大小进行调整
    note_list_x = 300
    note_list_y = 200
    pyautogui.moveTo(note_list_x, note_list_y)
    pyautogui.click()

    # 循环处理所有笔记
    while True:
    # 移动鼠标到笔记内容区域并点击
    note_content_x = 500
    note_content_y = 400
    pyautogui.moveTo(note_content_x, note_content_y)
    pyautogui.click()

    # 等待笔记内容加载完成
    time.sleep(2)

    # 判断是否有加密按钮,如果没有则认为笔记已取消加密
    encrypt_button_pos = pyautogui.locateOnScreen('encrypt_button.png')
    if encrypt_button_pos is None:
    print("未找到加密按钮")
    # 进行相关处理或跳出循环
    break

    # 移动鼠标到加密按钮位置
    encrypt_button_x = encrypt_button_pos.left + encrypt_button_pos.width / 2
    encrypt_button_y = encrypt_button_pos.top + encrypt_button_pos.height / 2
    pyautogui.moveTo(encrypt_button_x, encrypt_button_y)

    # 右键点击加密按钮并选择"永久解密文件"
    ctypes.windll.user32.mouse_event(0x0008, 0, 0, 0, 0) # 模拟按下右键
    ctypes.windll.user32.mouse_event(0x0010, 0, 0, 0, 0) # 模拟释放右键
    pyautogui.typewrite(['down', 'down', 'enter']) # 使用键盘模拟向下键和回车键选择"永久解密文件"

    # 等待解密完成
    time.sleep(2)

    # 输出取消加密完成的提示信息
    print("已取消所有笔记的加密")

    ```
    hs0000t
        5
    hs0000t  
       2023-06-13 14:52:17 +08:00
    不建议用 chatgpt 写,其实就几个 pyautogui 的基本操作,掌握了以后手撸就可以,类似这种:
    x = 100
    y = 100
    pyautogui.click(x,y)
    pyautogui.rightClick(x,y)
    pyautogui.press('enter')
    pyautogui.hotkey('ctrl','a')

    再配合上 time.sleep(),然后直接上手操作是怎么做的,就怎么写,流程输进去写个循环自动跑就行
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   2654 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 24ms · UTC 05:23 · PVG 13:23 · LAX 21:23 · JFK 00:23
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.