一通操作猛如虎 合并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 讨论下。


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



相关文章
|
前端开发 测试技术
【前端验证】记录将发包量作为传参以加速debug的环境优化记录
【前端验证】记录将发包量作为传参以加速debug的环境优化记录
111 0
Labview在循环的每次迭代中将数据写入Excel文件
Labview在循环的每次迭代中将数据写入Excel文件
138 0
|
5月前
|
C++
Tiled的qbs方式编译记录
本文记录了使用qbs编译Tiled项目的过程,包括编译成功截图、解决moc_donationpopup.cpp缺失问题的方法,以及相关参考链接。文章还提到了格式问题修正和删除libtilededitor文件夹以重新编译的步骤。
Tiled的qbs方式编译记录
|
6月前
|
缓存 前端开发 JavaScript
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
Webpack 模块解析:打包原理、构造形式、扣代码补参数和全局导出
317 1
|
7月前
|
存储 监控 JavaScript
函数计算产品使用问题之如何保持环境变量在每次发布后不被清空
函数计算产品作为一种事件驱动的全托管计算服务,让用户能够专注于业务逻辑的编写,而无需关心底层服务器的管理与运维。你可以有效地利用函数计算产品来支撑各类应用场景,从简单的数据处理到复杂的业务逻辑,实现快速、高效、低成本的云上部署与运维。以下是一些关于使用函数计算产品的合集和要点,帮助你更好地理解和应用这一服务。
分页列表数据不出来,初始化页面数据不出来的原因,Create中传一个参数1,解决bug的方法,学习敲代码的时候仔细与原项目比对,从上比到下
分页列表数据不出来,初始化页面数据不出来的原因,Create中传一个参数1,解决bug的方法,学习敲代码的时候仔细与原项目比对,从上比到下
|
9月前
|
SQL 算法
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
基于若依的ruoyi-nbcio流程管理系统修改代码生成的sql菜单id修改成递增id(谨慎修改,大并发分布式有弊端)
146 1
|
9月前
|
运维 Serverless 文件存储
函数计算FC安装插件问题之反推报错如何解决
函数计算(Function Compute,FC)是一个事件驱动的全托管计算服务,允许用户编写并上传代码,而无需管理服务器运行和维护;在使用过程中,可能会遇到各种报错,本合集聚焦于函数计算FC常见的报错问题,提供一系列的故障排查指导和解决建议,帮助用户优化云端函数执行
184 0
|
人工智能 自然语言处理 语音技术
pull错代码,恢复到pull之前 ---本地代码回退
pull错代码,恢复到pull之前 ---本地代码回退
199 0
|
前端开发 vr&ar
【前端验证】fork-join_none线程立即执行的一次代码优化记录
【前端验证】fork-join_none线程立即执行的一次代码优化记录
104 0