File选项中找到script command
//单行也需要用{}括起来
//IDC
static main()
{
auto i,fp;
fp = fopen("d:\\dump","wb");
auto start = 0x47e060;
auto size = 90000;
for(i=start;i<start+size;i++)
{
fputc(Byte(i),fp);
}
fp.close();
}
//python
import idaapi
start_address = 0x47e060
data_length = 90000
data = idaapi.dbg_read_memory(start_address , data_length)
fp = open('d:\\dump1', 'wb')
fp.write(data)
fp.close()
dump出来得到是一个odex文件,通过下面的命令可以转成对应的smali文件:
java -jar baksmali.jar -x dump.odex -d .
如何dump内存,生成的文件为odex格式,需要进一步反编译才能查阅。先是通过baksmali工具转成smali格式文件,然后再通过smali工具把smali格式逆向dex。
通过java命令运行baksmali包把odex格式逆向输出到随意命名out文件夹下
java -jar baksmali-2.2.2.jar d dump.odex -o out
同样命令把out下内容转成dex
java -jar smali-2.2.2.jar a out -o classes.dex
这时候就可以把classes.dex通过工具直接查看反编译内容了。