不知不觉又曩昔了一年,由于一些原因,干了五年多前端的我决定从前端转到逆向了,现在先从安卓逆向入手,比较头铁,由于才开始没几天就准备研究flutter的逆向了,现在是跟着这篇博客在搞,跟到本地部署Dart SDK源项目这部分时遇到了一些坑,由于我是WIN11渠道(许多大佬都是推荐Ubuntu或许Kali作为逆向环境,据说坑会少一些,可是我比较菜,曾经没咋用Linux,暂时也懒得折腾了),所以想记载一下这些坑,根本都是官方文档(github.com/dart-lang/s…) 中没有提到的坑。

装置、运用depot_tools的踩坑记载

  1. 需求设置下git、cmd以及boto的署理,否则在初次履行gclientgclient sync指令时会在cipd相关流程时堵塞,由于cipd相关流程没有发展提示,所以在这里卡死时没有提示,也算是个大坑,或许遇到...NOTICE: You have PROXY values set in...这样的提示。

    首先是设置git的署理:

    ## <proxy_url> example: http://127.0.0.1:1080
    git config --global proxy.http <proxy_url>
    git config --global proxy.https <proxy_url>
    

    然后是cmd的署理,能够在用户变量中添加HTTP_PROXY和HTTPS_PROXY,或许设置一次性的环境变量:

    set HTTP_PROXY=<proxy_url>
    set HTTPS_PROXY=<proxy_url>
    

    最终是boto的署理设置,在某个目录下创立一个文本文件,比方 D:\boto.cfg,文件内容示例如下:

    [Boto]
    proxy=http:://127.0.0.1
    proxy=1080
    

    然后设置环境变量NO_AUTH_BOTO_CONFIG,值就是这个文件的途径。

  2. 在履行fetch dart或在其目录下经过gclient sync进行同步时,或许会遇到 Failed to fetch file gs://chromium-clang-format/c8455d43d052eb79f65d046c6b02c169857b963b ... for xx\xx\xx.ext之类的过错,能够将gs://替换为https://storage.googleapis.com/然后下载到方针目录,并改名为相应的名称(xx.ext),再履行gclient sync即可。

经过Dart SDK源码项目进行构建的踩坑记载

  1. 首先履行指令需求经过python启动,可是python版本有必要是dpot_tools下的,所以dpot_tools的环境变量(Path环境变量中)的位置有必要在你装置的其它Python版本的环境变量之前(假如有装置过其它版本的Python的话)。详细的指令,比方: ./tools/build.py -m product -a simarm gen_snapshot要改成python ./tools/build.py -m product -a simarm gen_snapshotpython3 ./tools/build.py -m product -a simarm gen_snapshot,是用python还是python3能够翻开build.py经过第一行确认。
  2. 关于WIN10 SDK,假如装置WIN10 SDK的目录不确认,能够建一个C++的工程,包括#include "virtdisk.h", 再跳转曩昔即可确认位置。然后需求新建一个环境变量——WINDOWSSDKDIR, 其值为WIN10 SDK的途径。另外,需求留意的是Dart SDK依靠的WIN10 SDK版本需求包括WinDbg(Debugging Tools for Windows),经过VS installer装置WIN10 SDK或许不包括这个工具,此刻需求到官网下载WIN10 SDK然后装置,装置选项中确认有WinDbg选项,装置完后,确认下SDK目录下是否存在Debuggers文件夹。
  3. 经过build.py履行构建时,假如你不是Chromium的开发者,那么应该没有运用goma服务,那么构建指令要加上--no-goma参数,否则会进行goma鉴权,从而构建失利。
  4. 在运用python3 ./tools/build.py -m product -a simarm gen_snapshot构建gen_snapshot工具时,假如你是64位的系统,那么需求将simarm改为simarm64否则会构建失利。

后续研究过程中,有新的发展和心得我或许也会共享一下。现在还是个麻瓜,文中若有不对的地方期望各位给我指出,也期望有志同道合的朋友一同学习、沟通。