IOS逆向--使用IDA的Patch更改汇编或二进制码并写入项目和deb重新打包
来源:互联网 发布:湖南软件测试 编辑:程序博客网 时间:2024/06/01 22:39
本次遇到一个项目,因为是逆向 不能拿到项目的源码,需要改的也是很简单的判断语句,但是也把我这个菜逼弄懵逼了。还好有个如师长的逆向大佬指导,我才去了解这个Patch的功能。接下来我以一个小案例来实现。
小案例需求
加我们有这样一个判断
int i = 4;if(i == 3){ // 做一些事情}
我们想要把 ==
号换为 >=
号。当然如果你有源码的话改起来很方便,但是可惜我们没有源码。我写了一个实例deb 进行这样的操作。
//上面的省略CMP x1 #4; // 比较 B.NQ Local_1658 //不相等的话跳到对应地址块 不反回
那么我们会要做的就是讲B.NQ
改为B.CC
让他做大于等于操作,接下来我们介绍如何进行修改。
- . 第一步:
我们需要了解Patch是如何进行使用的。Edit —> Patch program 如下所示
- . 我看看他们都有什么
- change byte … 就是直接修改二进制数值
- change word.. 就是直接改地址
- Assemble 没用过: 欢迎补充
Apply patches to input file: 使我们patch 成功并修改后要写回原文件中此处是我的dylib
- 如何进行改数值呢?好 我们现在开始
点击你定位的程序位置,如图 此处是我修改后的内容。 点击这段地址后可以点击Edit —> Patch program –> Change byte 进行更改当前的内容 如图:
可以看到我画框的8位数就是我们需要修改的 汇编指令。更改为你想要操作的指令的16进制数值 即可。
- 如何进行改数值呢?好 我们现在开始
当你修改成功后,就可以按之前介绍的内容进行写入文件中。 后面会讲到如何进行重新打包。
Debian 进行重新打包
Debian Linux系统解压和重新打包.deb文件方法,iplaypy.com在网络上搜索问题的答案,找到了类似这样解释:
mkdir -p extract/DEBIANdpkg-deb -x package.deb extract/dpkg-deb -e package.deb extract/DEBIAN [...do something, e.g. edit the control file...]mkdir builddpkg-deb -b extract/ build/
以上这五打命令的解释如下:
第一条命令创建了一个名为“extract”文件夹和一个名为“DEBIAN”的子文件夹;
第二条命令会从你的.deb包提取一些文件到“extract”文件夹;
第三条命令会解压.deb包的内容到“DEBIAN”子文件夹,在那里你就可以修改/补丁你想要的文件;
第四条命令建立一个名为“build”的文件夹;
而第五条命令会将修改后的文件重新构建到一个新的.deb包中,并在 “build” 文件夹中生成。
在你执行第三条命令后,可以通过你的默认文件管理器,用一个图形化的文本编辑器可视化地修改文件。
阅读全文
0 0
- IOS逆向--使用IDA的Patch更改汇编或二进制码并写入项目和deb重新打包
- ELF文件逆向IDA的使用
- 如何在Debian和Ubuntu下重新打包Deb文件
- 打包IPA 和DEB的方法
- IOS逆向--进行dylib的重新签名
- 使用IDA逆向Android的.so动态库文件
- 使用IDA逆向Android的.so动态库文件
- 格雷码和二进制码的转换
- 170516 逆向-IDA的FLIRT技术和总结
- iOS 逆向 汇编指令
- iOS 逆向--ARM汇编
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 对一个deb包的解压、修改、重新打包全过程方法
- 反汇编中关于IDA与OLLYDBG的使用
- IDA Pro的使用(1)反汇编
- 如何利用IDA反汇编逆向bin文件
- Solr(四)——Java使用solrj管理solr集群
- Java8学习总结
- 大整数模板
- sleep() 和 wait() 有什么区别?
- Spring boot简单常用的注解
- IOS逆向--使用IDA的Patch更改汇编或二进制码并写入项目和deb重新打包
- 五、Spring Cloud系列:Eureka服务端与客户端常用配置
- 计算机内存不足
- Week2 215. Kth Largest Element in an Array
- Android源码之路(三.配置Android.mk文件)
- 洛谷 P1865 A % B Problem
- 并发框架类及其功能(2)
- jssdk的图像接口
- Webpack配置方法