把so库的exit函数替换成其他函数就完成破解。
小黄鸟HttpCanary是一款功能强大、并主打安卓手机抓包功能的应用软件,你可以把他看成是移动端的Fiddler或者Charles,但是HttpCanary使用起来更加地简单容易,因为它是专门为移动端设计的!HttpCanary抓包精灵支持静态和动态两种注入方式,同时支持多维度的数据搜索功能,界面设计十分简洁,最重要的是该无需root权限!它可以帮助用户快速查询手机上大幅度消耗网络设备资源的大流量数据文件,实时拦截红色代码、Nimda、冲击波以及震荡波等著名网络杀手,让您的手机优化更加顺畅。可实时抓取手机上的数据报文,以及对抓取到的报文进行解析,且解析功能不需要ROOT权限,可以解析任意工具抓取的pcap格式报文,支持HTTP1.0、HTTP1.1、HTTP2、HTTPS和WebSocket等协议抓包,并自动的保存http和https请求。同时,HttpCanary还可以通过SpyNet设置抓包的类型,比如是要捕获IP包还是ARP包,还可以根据目的地址的不同,设置更详细的过滤参数,列出了抓到数据包的序号、时间、源目的MAC地址、源目的IP地址、协议类型、源目的端口号等内容。
java语言很容易返编译
但是我们通常会做一些保持,例如代码混淆
android就支持的,只要你在
project.properties文件中
去掉这行的注释就可以混淆了,混淆了的代码反编译后,全是a b c d ,很难看的明白
proguard.config=${sdk.dir}/tools/proguard/proguard-android.txt:proguard-project.txt
这个文件中有说明
另外,如果涉及安全的东西,建议用jni编写,打包成so库供java调用,这样就增加了反编译的难度
(1).AndroidManifest.xml
该文件是每个应用都必须定义和包含的,它描述了应用的名字、版本、权限、引用的库文件等等信息,如要把apk上传到Google Market上,也要对这个xml做一些配置。在apk中的AndroidManifest.xml是经过压缩的,可以通过AXMLPrinter2工具解开,具体命令为:java -jar AXMLPrinter2.jar AndroidManifest.xml
(2).META-INF目录
META-INF目录下存放的是签名信息,用来保证apk包的完整性和系统的安全。在eclipse编译生成一个apk包时,会对所有要打包的文件做一个校验计算,并把计算结果放在META-INF目录下。这就保证了apk包里的文件不能被随意替换。比如拿到一个apk包后,如果想要替换里面的一幅图片,一段代码, 或一段版权信息,想直接解压缩、替换再重新打包,基本是不可能的。如此一来就给病毒感染和恶意修改增加了难度,有助于保护系统的安全。软件修改后需要将里面的证书文件删除(***.RSA、***.SF、***.MF三个文件)再重新签名,否则软件无法安装。
ttpCanary还可以通过SpyNet设置抓包的类型,比如是要捕获IP包还是ARP包,还可以根据目的地址的不同,设置更详细的过滤参数,列出了抓到数据包的序号、时间、