安装
ida pro linux
下载地址
下载解压文件,然后linux下直接双击安装 ida7.5demo*******.run这个安装包
然后查找安装目录,一般桌面图标都有对应执行程序的路径
将crack包中的内容覆盖到这个安装目录中
然后双击执行就可以正常运行,new 打开一个执行程序或者动态库查看内部逻辑
注意将一些子窗口打开查看内容更方便
修改so动态库中的判断逻辑以及常量
背景
最近需要用一个库,可是linux下库的设备id是写在库里面的,所以想要改一下库里面的id或者判断逻辑。
通过ida pro分析动态库
打开函数进行逻辑分析,找到需要修改的地方,可以看到下图里面的jnz附近的就是id的逻辑判断。
定位二进制文件位置
选中这个jz的指令,之后对照在Hex View 查看对应的二进制文件代码位置。如下这个 0F 84 就是jz的代码。可以修改为jnz, 对应是0F 85. jz和jnz就是对应编程中的 !=与==。
修改二进制文件
使用ultraedit(windows下)打这个so文件
找到上图中的011F0这一行二进制定位,修改0F 84 为 0F 85。(jz to jnz)
鼠标放上去,直接键入内容修改即可。
注意
注意库里面有偏移量的概念,不要删除二进制内容,可以用等长指令替换指令。
另外:查找修改常量
选中常量
hex view 查看
后续查找位置,在ultraedit中进行修改替换即可。但是也是注意偏移量问题。