刚和网友聊天,分享了下自己怎么得到的烧饼修改器的实现代码。这里发个文章分享下这个小技巧,linux系统提供了一个
/proc文件系统,相应的每个linux进程都有一个/proc/[pid]目录,该
目录下保存着有关该进程的各类信息,其中有个文件名为exe,这个文件是一个链接指向该进程的实际可执行文件。
首先,跑adb shell 进入到安卓机子,使用ps | grep gamehacker 获得烧饼修改器的进程id。
cd /proc/7733 , ls -al 可以看到烧饼修改器的可执行文件已经被删除了。
l inux系统删除文件是使用了unlink这个函数,这个函数只会减少某个文件的硬连接数,当某个文件被打开后,并调用unlink删除该文件时,使用ls命令是不能查看到该文件了的,但这个文件实际上还是存在在磁盘上的,当使用该文件的进程结束时或者调用close关闭该文件描述符时,这个文件才真正的从磁盘上消失。
执行 cat exe > /data/local/tmp/sbhack 获得烧饼修改器的可执行文件。
adb pull 出刚才获得可执行文件,拉到ida下即可分析了。
首先,跑adb shell 进入到安卓机子,使用ps | grep gamehacker 获得烧饼修改器的进程id。
cd /proc/7733 , ls -al 可以看到烧饼修改器的可执行文件已经被删除了。
l inux系统删除文件是使用了unlink这个函数,这个函数只会减少某个文件的硬连接数,当某个文件被打开后,并调用unlink删除该文件时,使用ls命令是不能查看到该文件了的,但这个文件实际上还是存在在磁盘上的,当使用该文件的进程结束时或者调用close关闭该文件描述符时,这个文件才真正的从磁盘上消失。
执行 cat exe > /data/local/tmp/sbhack 获得烧饼修改器的可执行文件。
adb pull 出刚才获得可执行文件,拉到ida下即可分析了。