BubblePig 发表于 2018-1-15 17:29

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


# 0x00 前言
##1.起因
使用二进制文件进行分析的时候,不知道cp_info的结束部分在哪,虽然有一个javap程序,但是还是很不友好,所以做了一个python脚本来进行辅助分析。
##2.说明
在之前只是粗糙的过了一遍python的基本语言,但是在应用方面还是很少,所以这次通过编写class文件的辅助脚本,对命令行脚本使用进行了学习,还有对缩进等,还有对python语句不同的使用方法的练习。最后,学习语言的最好方式就是做东西,这样理解就会方便的很多。
# 0x01 主函数
##1.程序结构图
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/AL7R%29KOIL9WTVUD5R7L_36G.png-mylove)
##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)       
```
##3.程序说明:
首先调用了一个zhuzhu()函数,来进行logo的载入。

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

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

# 0x02
测试使用文件 first.class
## 1.python class.py -h
难点:对格式进行调整即可。
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/P~UEQ60J574J%7BODSU2OKUD7.png)
## 2.python class.py -v first.class
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/T7%60%5D7PN~A5HA30~I$05Y%5DD6.png-mylove)
## 3.python class.py -V first.class
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%25%253S%5B67UJN0G_%28NSJHO5N~K.png-mylove)
## 4.python class.py -c first.class
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%7BBSSOK2UD$%5DM5%28L26AS%295DG.png-mylove)
## 5.python class.py -C first.class
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/7$XXIOD2R3%25JHI%60XY@K$$1S.png-mylove)
## 6.python class.py -a first.class
![这里写图片描述](http://otufvq0ew.bkt.clouddn.com/%5B9Q3%7DA%28ZU6A~%285832Q8G%5BFL.png-mylove)

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

OOP 发表于 2018-1-16 00:43

冥界3大法王 发表于 2018-1-15 19:06
@BubblePig
这效果怎么做到的?

用markdown写的,用了``的效果

冥界3大法王 发表于 2018-1-15 19:06

@BubblePig
这效果怎么做到的?

BubblePig 发表于 2018-1-15 22:32

冥界3大法王 发表于 2018-1-15 19:06
@BubblePig
这效果怎么做到的?

MD编辑器,toc添加目录

chenjingyes 发表于 2018-1-16 00:52

哈哈哈谢谢楼主分享{:1_921:}

SJ13794874992 发表于 2018-1-16 01:15

看不太懂啊哈哈哈哈

康铎严 发表于 2018-1-16 10:26

python用的很6{:1_921:}{:1_921:}{:1_921:}

xjh88232259 发表于 2018-1-16 16:35

看不太懂啊哈哈哈哈

少女爱上蕾米 发表于 2018-1-16 19:33

太厉害了啊~~~~~

生如上善若水 发表于 2018-1-17 12:46

先收藏,再学习,谢谢楼主分享
页: [1] 2
查看完整版本: Android逆向-python写一个.class分析辅助脚本