一通操作猛如虎 合并Unidbg的更新,继续跑sign

简介: 一通操作猛如虎 合并Unidbg的更新,继续跑sign

一、目标


Unidbg的作者最近更新挺频繁,我们得跟上大佬的脚步,这样才不会被落下


二、分析

代码对比


先把最新的代码拉回来

git pull

然后和我们之前的代码对比下,看上去改动挺多。我手工合并了3-5个文件,吐了一口老血…… 卒

git


作为一个有证的高级程序员,居然还用手工合并代码,差点都被李老板怀疑我的高程证书是中关村办的了。


我们之前fork的版本在

github.com/fenfei331/u…


现在我们的目标是要把 github.com/zhkl0228/un… 里面最新的更新合并过来。


首先

fenfeiMac:unidbg fenfei$ git remote -v   // 查看远程状态
origin  https://github.com/fenfei331/unidbg.git (fetch)
origin  https://github.com/fenfei331/unidbg.git (push)


然后 加入要同步的 远程仓库

git remote add upstream https://github.com/zhkl0228/unidbg


再查看一下状态

fenfeiMac:unidbg fenfei$ git remote -v
origin  https://github.com/fenfei331/unidbg.git (fetch)
origin  https://github.com/fenfei331/unidbg.git (push)
upstream  https://github.com/zhkl0228/unidbg (fetch)
upstream  https://github.com/zhkl0228/unidbg (push)


没问题,添加成功


那就开始合并吧


先将远程所有的分支fetch下来,存在本地

fenfeiMac:unidbg fenfei$ git fetch upstream
remote: Enumerating objects: 6513, done.
remote: Counting objects: 100% (1205/1205), done.
remote: Compressing objects: 100% (269/269), done.
remote: Total 6513 (delta 870), reused 1123 (delta 814), pack-reused 5308
Receiving objects: 100% (6513/6513), 30.48 MiB | 6.00 MiB/s, done.
Resolving deltas: 100% (2852/2852), completed with 206 local objects.
From https://github.com/zhkl0228/unidbg
 * [new branch]        master     -> upstream/master
 * [new tag]           v0.9.2     -> v0.9.2
 * [new tag]           v0.9.3     -> v0.9.3


然后正式开始合并

git merge upstream/master


出来个类 vi的界面,需要我们填 日志,


按 I 键,然后 输入 update 然后 esc -> shift+: ->  wq  保存退出

fenfeiMac:unidbg fenfei$ git merge upstream/master
Removing unidbg-dynarmic/src/test/java/com/github/unidbg/arm/backend/dynarmic/DynarmicTest.java
Removing unidbg-dynarmic/src/test/java/com/github/unidbg/arm/backend/DynarmicBackendTest.java
Removing unidbg-dynarmic/src/main/java/com/github/unidbg/arm/backend/dynarmic/DynarmicLoader.java
Removing unidbg-api/src/main/java/com/github/unidbg/arm/backend/dynarmic/EventMemHookNotifier.java
Auto-merging unidbg-android/src/main/java/com/github/unidbg/linux/android/dvm/DalvikVM.java
Auto-merging unidbg-android/src/main/java/com/github/unidbg/linux/android/dvm/AbstractJni.java
Merge made by the 'recursive' strategy.
 .gitignore                                                |    4 +-
 README.md                                                 |   14 +-
 backend/dynarmic/README.md                                |    3 +
 {unidbg-dynarmic => backend/dynarmic}/pom.xml             |    7 +-
 .../com/github/unidbg/arm/backend/DynarmicBackend.java    |  138 +--
 .../com/github/unidbg/arm/backend/DynarmicFactory.java    |   29 +
 .../com/github/unidbg/arm/backend/dynarmic/Dynarmic.java  |   21 +-
 .../unidbg/arm/backend/dynarmic/DynarmicBackend32.java    |    2 +-
 .../unidbg/arm/backend/dynarmic/DynarmicBackend64.java    |    2 +-
......

好像,真的比较顺利耶,这就合并了?


跑一下试试


我就知道不会这么顺利,


创建Emulator的函数变了

private static AndroidEmulator createARMEmulator() {
        return AndroidEmulatorBuilder
                .for32Bit()
                .build();
        // return new AndroidARMEmulator("test");
    }


再跑一下

st=1606701201628&sign=59039230dc2e1ea27a4f250d9ec81b8c&sv=111
destroy
run


这个值很眼熟哦。


最后更新到我们的GitHub的fork上,直接 git push origin master 就好了。


三、总结


git比svn的功能还是要复杂一些些,熟练使用版本控制工具,才能避免体力劳动68.png

你要心甘情愿地接受失败,你要想出很多办法,然后非常努力地工作,结果却发现这些办法都不管用。接下来你还要反复这样做,直到找到一个管用的方法为止


TIP: 本文的目的只有一个就是学习更多的逆向技巧和思路,如果有人利用本文技术去进行非法商业获取利益带来的法律责任都是操作者自己承担,和本文以及作者没关系,本文涉及到的代码项目可以去 奋飞的朋友们 知识星球自取,欢迎加入知识星球一起学习探讨技术。有问题可以加我wx: fenfei331 讨论下。


关注微信公众号 奋飞安全,最新技术干货实时推送



相关文章
|
算法 数据安全/隐私保护 索引
App逆向百例|09|某App hkey分析还原
App逆向百例|09|某App hkey分析还原
784 0
|
存储 弹性计算 人工智能
2024阿里云开年采购优惠活动,云服务器99计划可领上云代金券
2024阿里云开年采购优惠活动,云服务器99计划可领上云代金券,2024年阿里云3月优惠「开年采购季」云服务器价格表和优惠券领取,99计划云服务器99元一年起、免费领取上云扶持优惠券,不只是云服务器、云数据库、存储、云电脑、域名等均有活动
|
Java Spring
Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!
Spring Boot 提供的自动配置非常强大,某些情况下,自动配置的功能可能不符合我们的需求,需要我们自定义配置,这个时候就需要排除/禁用 Spring Boot 某些类的自动化配置了。
Spring Boot 排除自动配置的 4 种方法,关键时刻很有用!
|
存储 算法 数据安全/隐私保护
【密码学】一文读懂白盒AES(Chow方案)(一)
本文主要参考了文献^[1], 代码参考了^[2], 这里感谢文献作者和代码作者,如果有能力的大佬,可以自行查看原文献,个人水平有限,有哪里写的不对的地方,也欢迎读者指正。
4797 0
【密码学】一文读懂白盒AES(Chow方案)(一)
|
监控 网络协议 Linux
网络管理:基本的网络配置与管理指南
网络管理:基本的网络配置与管理指南
619 2
|
Ubuntu JavaScript 开发工具
Ubuntu上编译多个版本的frida
【7月更文挑战第16天】在Ubuntu上编译多个版本的Frida(如15.1.28和16.1.4),首先确保系统为Ubuntu 20(WSL)或其他版本,并安装`build-essential`, `git`, `lib32stdc++-9-dev`, `libc6-dev-i386`等依赖。还需安装Node.js(例如20.15.1版)。通过`git clone`获取Frida源码,并根据所需版本进入对应分支。设置环境变量以指向正确的NDK和Node.js路径,可通过脚本如`env15.sh`来避免污染全局环境。
529 2
一款非常棒的十六进制编辑器 —— 010 Editor
一款非常棒的十六进制编辑器 —— 010 Editor
|
存储 监控 安全
【深度】2023年磁带市场迎来“二级存储”的新时代
磁带是最环保的存储技术,可以显著降低数据中心运营的碳排放和电子废物。结合改进的访问时间、更快的数据速率、50年的介质寿命、最低的TCO、最高的设备可靠性以及巨大的可持续性优势,现代磁带有望在走向ZB时代的巨大需求中发挥最大潜力。磁带已经明确地成为二级存储的首选。
1148 0
【深度】2023年磁带市场迎来“二级存储”的新时代
|
前端开发
网页设计02网站的九大类型分类,营销,咨询门户类网站,代表新浪
网页设计02网站的九大类型分类,营销,咨询门户类网站,代表新浪
|
机器学习/深度学习 数据采集 算法
机器学习赋能乳腺癌预测:如何使用贝叶斯分级进行精确诊断?
机器学习赋能乳腺癌预测:如何使用贝叶斯分级进行精确诊断?
366 0