Android逆向-python写一个.class分析辅助脚本

0x00 前言

1.起因

使用二进制文件进行分析的时候,不知道cp_info的结束部分在哪,虽然有一个javap程序,但是还是很不友好,所以做了一个python脚本来进行辅助分析。

2.说明

在之前只是粗糙的过了一遍python的基本语言,但是在应用方面还是很少,所以这次通过编写class文件的辅助脚本,对命令行脚本使用进行了学习,还有对缩进等,还有对python语句不同的使用方法的练习。最后,学习语言的最好方式就是做东西,这样理解就会方便的很多。

0x01 主函数

1.程序结构图

这里写图片描述

2.程序main函数

def main(argv):
    inputfile=''
    outputfile=''
    try:
        opts,args=getopt.getopt(argv,"hm:i:o:v:V:c:C:a:")
    except getopt.GetoptError:
        print "This is bad!"
        print "You can enter -h for help."      
        sys.exit()
    for opt,arg in opts:
        if opt=='-h':
            help()
            sys.exit()
        elif opt in ("-v"):
            minor_version(arg)
        elif opt in ("-V"):
            major_version(arg)
        elif opt in ("-m"):
            moshu(arg)
        elif opt in ("-c"):
            constant_pool_count(arg)
        elif opt in ("-C"):
            cp_info(arg)
        elif opt in ("-a"):
            access_flags(arg)
zhuzhu()
if __name__=="__main__":
    main(sys.argv[1:])  

3.程序说明:

首先调用了一个zhuzhu()函数,来进行logo的载入。

def zhuzhu():
    print '---------------------------'
    print '|    class analysis 1.0    |'
    print '|    -------love zhuzhu    |'
    print '|               HAI_ZHU    |'
    print '---------------------------' 

然后通过import sys,getopt
main(sys.argv[1:]) 载入命令行。

0x02

测试使用文件 first.class

1.python class.py -h

难点:对格式进行调整即可。
这里写图片描述

2.python class.py -v first.class

这里写图片描述

3.python class.py -V first.class

这里写图片描述

4.python class.py -c first.class

这里写图片描述

5.python class.py -C first.class

这里写图片描述

6.python class.py -a first.class

这里写图片描述

源程序分享:链接:https://pan.baidu.com/s/1mj4UIG4 密码:k4vv

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

王嘟嘟_

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值