首页 > 其他分享 >APP开班

APP开班

时间:2023-04-09 19:23:13浏览次数:50  
标签:逆向 exe APP py 开班 虚拟环境 pip requests

爬虫&APP逆向开发课程

讲师:武沛齐

欢迎各位小伙伴,接下来正式进入我们第二阶段,逆向开发课程。

  • 第一阶段:爬虫开发 (小鹅通 + 录播)
  • 第二阶段:安卓APP逆向(腾讯会议 + 录制 + 转码MP4 + 运营 + 路飞学城)

课堂随笔

Hook框架


1.逆向APP
    - app安装到你手机
    - 运行(登录,账号+密码)  -> Java写的函数
    - 登录

2.Hook框架
    - 去内存中把你运行那个app的函数替换成自己的函数
      类.xx = function(){
        console.log("执行了")
      }

3.意义何在?验证和定位代码。
    - 逆向某个APP:apk文件
    - 运行
        - 安装手机 & 运行
        - apk文件 -> classes.dex
            - 安卓工程师:Java代码   -> 编译  -> classes.dex
            - 逆向工程师:classes.dex ->反编译 ->Java代码
    - 寻找?登录时运行的是那个函数?Hook框架
        var ADFilterTool = Java.user("com.yltx.oil.partner.utils.ADFilterTool")
        ADFilterTool.hasNotAd = function(){
          console.log("执行了")
        }
关于逆向和设备

1.关于安卓app逆向
    正向:安卓开发工程师  ->Java语法+安卓框架  -> 功能代码(Java+C) ->  APK(资源文件/.dex/.so)
    逆向:安卓逆向工程师  -> APK  -> 反编译  ->  Java+C代码 + Hook -> Python代码还原

2.设备
    2.1 模拟器,电脑软件模拟手机
        - win:网易mumu、夜神...(注意事项电脑开启vt-x)
               https://mumu.163.com/include/16v1/2016/06/27/21967_625825.html
        - mac:网易mumu(m1和m2不支持)

    2.2 真机(推荐)
        - 谷歌Pixel
            - Pixel 2XL,400【推荐】
            - Pixel 4,  900
            注意:解OEM锁的版本(欧版);

        - 小米手机(官方解BL锁)
            - arm32,红米8A、红米9A
            - arm64,小米6789、红米Note789


        只要逆向,一定要把手机ROOT。
            - 手机必须解BL锁 或 解OEM锁
            - 其他方式进行ROOT

3.设备ROOT
    3.1 模拟器

    3.2 Pixel手机ROOT
        参考:6期视频(蔡徐坤 + 我)

    3.3 小米手机
        - 解BL锁,官方申请(7天)
            - 注册小米账号; 手机登录账号+SIM绑定;
            注意:网上找秒解BL锁(不推荐)

        - ROOT
            https://www.bilibili.com/video/BV1er4y1C7wU/
            https://magiskcn.com/

        - ROOT(淘宝)
            - 30/50

        注意:华为、三星手机

问题:ROOT在干啥?手机有影响?
    - ROOT,获取手机的最高权限。【逆向必备】
    - 刷其他框架

问题:电脑配置(内存)
     - 16G内存 ~ 32G内存
Python的虚拟环境

1.系统解释器
    C:\python38\
        - python.exe
        - Scripts
            - pip.exe
            - pip3.exe
            - pip3.8.exe
        - Lib
            - random.py
            - re.py
            - json.py
            - site-packages
                - 第三方模块
                - requests
    C:\python39\
        - python.exe
        - Scripts
            - pip.exe
            - pip3.exe
            - pip3.9.exe
        - Lib
            - random.py
            - re.py
            - json.py
            - site-packages
                - 第三方模块
                - requests
    C:\python310\
        - python.exe
        - Scripts
            - pip.exe
            - pip3.exe
            - pip3.10.exe
        - Lib
            - random.py
            - re.py
            - json.py
            - site-packages
                - 第三方模块
                - requests

2.环境变量的配置
    C:\python39\
    C:\python39\Scripts\

    >>>python
    >>>pip install ...

3.开发项目(浩贤)
    C:\python39\
        - python.exe
        - Scripts
            - pip.exe
            - pip3.exe
            - pip3.9.exe
        - Lib
            - random.py
            - re.py
            - json.py
            - site-packages
                - requests==2.1
                - bs4==2.9
                - flask==0.9

    >>>pip install requests==2.1
    >>>pip install bs4==2.9
    >>>pip install flask==0.9

    >>>python code.py


    3.1 接项目:京东抢茅塔(20w+5w)
        - 写代码
        - pip install requests==2.1
        - 系统解释器运行

    3.2 接项目:天猫抢茅台(10w)
        - 拿过来,发现requests模块发送请求 requests 的1.3版本
        - pip install requests==1.3
        - python 天猫.py

    ...

    ...

4.虚拟环境(根据系统解释器,虚拟出来一个python解释器)

    4.1 开发项目
        D:\projecs\jd
            - app.py
            - utils.py
            - venv
                - python.exe
                - Scripts
                    - pip.exe
                - Lib
                    - 无内置模块
                    - site-pckages
                        - requests==2.1

        >>>D:\projecs\jd\venv\Scripts\pip.exe install requests==2.1
        >>>D:\projects\jd\venv\python  D:\projecs\jd\app.py

    4.2 其他项目
        D:\projecs\tm
            - app.py
            - utils.py
            - venv
                - python.exe
                - Scripts
                    - pip.exe
                - Lib
                    - 无内置模块
                    - site-pckages
                        - requests==1.3

        >>>D:\projecs\tm\venv\Scripts\pip.exe install requests==1.3
        >>>D:\projects\tm\venv\python  D:\projecs\tm\app.py

    4.3 实战(Pycharm)
        - 项目 + 环境绑定关系
        - 终端自动激活
            >>>pip3
            >>>python
        - 常见错误:
            - 路径一定不能有中文
            - power shell + cmd


            >>>/Users/wupeiqi/WebstormProjects/v001/venv/bin/pip3.9 install requests
            >>>Pycharm自动激活虚拟环境
            >>>pip3.9 install requests

    4.4 第三方包收集和安装
        - 龙王,开发
            - 代码
            - 所有第三方包名字+版本
                - 激活虚拟环境
                - pip freeze > requirements.txt

            >>>代码+requirements.txt

         - 浩贤,运营
            - 代码
            - requirements.txt
            - venv
                ..
                ...

            - pip install -r requirements.txt

    答疑:文档中体现 + 口头体现(python3.7、python3.6)

5.约定
    - s701
        - venv
        - day01
        - day02
        - day03
        - day04
        ...

    - s702
        - venv
        - day05
        - day06
        - day07
        ...


    - 项目1 + 虚拟环境
    - 项目2 + 虚拟环境
    - 项目3 + 虚拟环境
    
问题:..
# 总结

1.开班相关(群公告,连接)

2.设备+ROOT
    - 推荐:Pixel(OEM锁 + 强调自主刷系统 + 气密 + 屏幕)
    - 其他:小米手机

3.虚拟环境
    - 为什么要有虚拟环境?【浩贤】
    - 传递代码【龙王+浩贤】
    - Pycharm实操

    注意:要不要有中文路径; cmd

4.APP逆向阶段
    - 答疑:蔡徐坤 + 我(不要玻璃心)
    - APP逆向资源
    - 其他资源
        - django: https://www.bilibili.com/video/BV1rT4y1v7uQ
        - 小程序开发:https://www.bilibili.com/video/BV1jC4y1s7QD/
        - 其他资源:
            https://space.bilibili.com/336469068?spm_id_from=333.1007.0.0
            https://space.bilibili.com/283478842/video?tid=0&page=2&keyword=&order=pubdate
        - 其他资源

1.开班

1.1 课程内容概要

欢迎大家来到app逆向课程,课程会包含如下几部分:

image-20221227151756642

https://www.processon.com/view/link/6399a2f851757002840c1d4a#map

1.2 关于直播

  • 直播工具:腾讯会议

  • 上课时间:每周 3 / 5 晚8:00 (或周1/3/5)

  • 直播链接:见群公告

1.3 课件和视频

  • 关于课件

    授课相关的课件、工具、资料等都会放在此 百度网盘 链接(请订阅)
    
    群公告
    
  • 关于录播视频

    录播视频会同步更新到 路飞学城 平台,请联系各自 课程顾问 开通相关权限(已开通请忽略)。
    

image-20230329194659694

1.4 关于设备和ROOT

  • 电脑安卓模拟器(网易mumu)

    win: 网易mumu、逍遥、夜神、雷电(推荐3版本,不要用4版,以后抓包会有问题)
    mac: 网易mumu(暂不支持m1)
    
    win同学安装模拟器时,开启vt-x:
    	https://mumu.163.com/include/16v1/2016/06/27/21967_625825.html
    
  • 安卓真机

    推荐:Pixel谷歌手机【逆向+刷自定义安卓系统+脱壳机】
         注意:购买时,必须要买解OEM锁的版本(欧版)
    
    其他:小米手机(官方支持解BL锁)
    

在逆向时,你的安卓设备必须获取ROOT权限,一般想要获取ROOT的权限,必须:

  • 手机解BL锁或OEM锁
  • 刷官方系统 + 基于Magisk面具对手机进行ROOT

1.4.1 谷歌pixel手机

参考视频:刷机 + ROOT

1.4.2 小米手机

正常拿到一部手机后需要做:

  • 第1步:申请解BL锁

    注册小米账号、手机和账号绑定、申请解锁,申请后一般需等7天才能成功解锁。
    
    注:淘宝上有人可以秒解,曾有同学新手机被搞的无法开机,又去返厂(请谨慎)。
    
  • 第2步:root,手机root就是获得最高权限,app逆向必备,一般现在的手机root有2种方式:

    • FastBoot刷Magisk,一般分区无法挂载(system目录)【推荐】

      https://www.bilibili.com/video/BV1er4y1C7wU/
      https://magiskcn.com/
      
    • 淘宝找人代刷(30-50左右)

注意:其他机型,请自行解决root问题。

2.虚拟环境

2.1 Pycharm+虚拟环境

image-20220111205817956

  • 虚拟环境的目录:/Users/wupeiqi/envs/day01_spider
  • 项目目录:/Users/wupeiqi/PycharmProjects/day01_spider

2.2 切记

  • 虚拟环境的路径,不能包含中文
  • win系统+Pycharm终端会自动激活虚拟环境,请替换切换 powershellcmd

标签:逆向,exe,APP,py,开班,虚拟环境,pip,requests
From: https://www.cnblogs.com/fuminer/p/17300842.html

相关文章

  • C# WinForm操作配置文件AppSettings获取、增加、删除、修改
    在C#WinForm开发中,如果想要修改AppSettings中的值,发现用下面这个代码并没有成功。ConfigurationManager.AppSettings.Set(key,value);//修改值,但是没有成功下面提供可以用的获取、增加、删除、修改appSettings的方法。publicclassWinConfigHelper{///<summary>......
  • Content type 'application/json' not supported] (已解决)
    今天在用postman发请求时,以Json的形式发送一个POJO参数,结果一直报错:WARNING]Resolved[org.springframework.web.HttpMediaTypeNotSupportedException:Contenttype'application/json'notsupported],如下图所示:经过检查各方面都没有问题,最发现是在SpringMVC配置类中没有加 ......
  • uniapp如何支持npm下载
    首先一个正常的Nodejs项目都会有package.json简单的说,在早期的前端领域中其实没有组件化,模块化这种概念,直到nodejs中引入了模块,它认为一个模块就是一个库或者一个框架(比如文件处理模块fs模块),当模块化出现之后,为了管理这些模块,或者说为了描述这个模块,package.json应运而生,至于......
  • Appium-capability进阶用法
    官方解释:http://appium.io/docs/en/writing-running-appium/caps/ 高级用法:newCommandTimeout:命令开始到命令结束的时间(秒)如设置5分钟:desired_caps['newCommandTimeout']=300udid:满足appium多设备时使用,默认使用第一个设置,adbdevices查看多个设备如使用设备......
  • uniapp如何下载video.js
    在uni-app中引入video.js有两种方式1.通过cdn的方式引入(不建议,当这个cdn失效时,你的业务可能就崩了)<linkhref="https://cdnjs.cloudflare.com/ajax/libs/video.js/7.3.0/video-js.min.css"rel="stylesheet"><scriptsrc="https://cdnjs.cloudflare.com/ajax/libs/vide......
  • cnpm安装appium出现cannot find module xxx
    背景,我的电脑MacBookproM1芯片,brew安装了npm,再通过npm安装了cnpm,但是通过cnpm安装appium时候总会出现cannotfindmodulexxx,然后又对xxx再cnpm安装,再安装appium又出现新的xxx,网上找了很多方法,都没有对症下药的办法,最后像一个法子,直接干脆通过npm指定阿里镜......
  • Vue进阶(四十九):在Webapp上使用input:file, 指定capture属性调用默认相机,摄像,录音功能
    在webapp上使用input:file,指定capture属性调用默许相机,摄像,录音功能。在webapp上使用input:file,指定capture属性调用默认相机,摄像,录音功能在iOS6下开发webapp,使用input之file,很有用<inputtype="file"accept="image/*"capture="camera"><inputtype="file"acce......
  • 一个简单的 rust项目 flappy bird
    一个非常简单的小项目。看到了杨旭大佬的教学视频,自己跟着实现了一下,完善了一下游戏逻辑。通过空格键进行控制。游戏中可按P键暂停/恢复游戏项目结构·├──Cargo.lock├──Cargo.toml├──src/│  ├──main.rs│  ├──bird/│  │ ├──......
  • uniapp生命周期
    应用生命周期(onLaunch等)页面生命周期(onLoad,onShow等)组件生命周期(组件生命周期是vue的生命周期,没有onLoad,onShow这些页面生命周期)......
  • Mac Apple 芯片运行 Vue 项目中 node-sass 转为 sass 遇到的问题记录,node-sass 替换成
    背景:前段时间因为某些原因将window笔记本换成MacM1pro,然后运行项目的时候发现高于node12版本的项目中不支持node-sass。记录下解决相关问题之后的记录......