安装

ida pro linux
下载地址
下载解压文件,然后linux下直接双击安装 ida7.5demo*******.run这个安装包
然后查找安装目录,一般桌面图标都有对应执行程序的路径
安装 使用 ida pro linux-LMLPHP

将crack包中的内容覆盖到这个安装目录中
然后双击执行就可以正常运行,new 打开一个执行程序或者动态库查看内部逻辑
安装 使用 ida pro linux-LMLPHP

注意将一些子窗口打开查看内容更方便
安装 使用 ida pro linux-LMLPHP

修改so动态库中的判断逻辑以及常量

背景

最近需要用一个库,可是linux下库的设备id是写在库里面的,所以想要改一下库里面的id或者判断逻辑。
通过ida pro分析动态库

打开函数进行逻辑分析,找到需要修改的地方,可以看到下图里面的jnz附近的就是id的逻辑判断。

安装 使用 ida pro linux-LMLPHP

定位二进制文件位置

选中这个jz的指令,之后对照在Hex View 查看对应的二进制文件代码位置。如下这个 0F 84 就是jz的代码。可以修改为jnz, 对应是0F 85. jz和jnz就是对应编程中的 !=与==。
安装 使用 ida pro linux-LMLPHP

修改二进制文件

使用ultraedit(windows下)打这个so文件
找到上图中的011F0这一行二进制定位,修改0F 84 为 0F 85。(jz to jnz)
鼠标放上去,直接键入内容修改即可。
安装 使用 ida pro linux-LMLPHP

注意

注意库里面有偏移量的概念,不要删除二进制内容,可以用等长指令替换指令。

另外:查找修改常量

选中常量
安装 使用 ida pro linux-LMLPHP

hex view 查看
安装 使用 ida pro linux-LMLPHP

后续查找位置,在ultraedit中进行修改替换即可。但是也是注意偏移量问题。

03-29 08:53