2 |
3 |
Backup App Data with ADB
4 |
android:allowBackup
the default value of this attribute is true
5 |
6 |
7 | adb backup -f backup.ab app.package.name
8 |
9 |
10 |
Use Android backup extractor (abe) to extract and repack android backups.
11 |
12 |
13 | abe unpack backup.ab backup.tar
14 |
15 |
16 |
https://developer.android.com/guide/topics/manifest/application-element.html#allowbackup
17 |
18 |
https://github.com/nelenkov/android-backup-extractor
19 |
20 |
APK Decompile
21 |
Download the .apk through the Inspeckage.Download -> APK
22 |
23 |
Use Google Enjarify tool for translating Dalvik bytecode to equivalent Java bytecode.
24 |
25 | enjarify yourapp.apk -o yourapp.jar
26 |
27 |
Use JD-GUI to decompile and analyze Java bytecode.
28 |
29 |
30 | java -jar jd-gui.jar
31 |
32 |
33 |
https://github.com/google/enjarify
34 |
http://jd.benow.ca/
35 |
36 |
monkeyrunner
37 |
38 |
With monkeyrunner, you can write a Python program that run an automated start-to-finish test of an Android application. You provide input values with keystrokes or touch events, and view the results as screenshots.
39 |
40 |
Exemplo: Go to android-sdk-path/tools/
where the monkeyrunner
program there is and save in a file startfox.py :
41 |
42 | from com.android.monkeyrunner import MonkeyRunner, MonkeyDevice
43 | import commands
44 | import sys
45 |
46 | # starting script
47 | print "start"
48 |
49 | # connection to the current device
50 | device = MonkeyRunner.waitForConnection()
51 |
52 | print "launching firefox: Package=org.mozilla.firefox and Main Activity=org.mozilla.gecko.BrowserApp"
53 | device.startActivity(component='org.mozilla.firefox/org.mozilla.gecko.BrowserApp')
54 |
55 | #wait
56 | MonkeyRunner.sleep(3)
57 |
58 | print "end of script"
59 |
60 |
61 |
Now, run: monkeyrunner startfox.py
and the firefox is launched.
62 |
63 |
https://developer.android.com/studio/test/monkeyrunner/index.html
64 |
HTTP Proxy
65 |
66 |
1 - Connect both your device and your computer to the same wireless network;
67 |
2 - Choose your favorite http proxy tool and set up a new proxy listenner -- eg. listener address: 192.168.25.22 (computer ip) and port: 8001 (port number that is not currently in use);
68 |
3 - Go to Inspeckage (Settings -> Add Proxy
) and set up the same address (192.168.25.22) and port (8001) of your proxy tool;
69 |
4 - Now, open the app (in a feature that makes http request) and the request should be intercepted in your proxy tool.
70 |
71 |
OWASP ZAP
72 |
Burp Suite Free Edition
73 |
Fiddler
74 |
75 |
HTTPS
76 |
77 |
If the app use HTTPS, you need install the proxy tool certificate in your device.
78 |
79 |
https://developer.android.com/training/articles/security-ssl.html
80 |
OWASP ZAP allows you to transparently decrypt SSL connections.
81 |
82 |
SSL Pinning
83 |
84 |
If the app use HTTPS and certificate pinning, you need install the proxy tool certificate in your device and bypass the pinning.
85 |
The Inspeckage can disable pinning for some libraries. Settings->SSL uncheck [ON]
86 |
87 |
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/css/32px.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ac-pm/Inspeckage/d8806c9e5f14d44c2e19a331e929d72d6faa4c54/app/src/main/assets/HTMLFiles/css/32px.png
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/css/bootstrap-switch.css:
--------------------------------------------------------------------------------
1 | /* ========================================================================
2 | * bootstrap-switch - v3.3.2
3 | * http://www.bootstrap-switch.org
4 | * ========================================================================
5 | * Copyright 2012-2013 Mattia Larentis
6 | *
7 | * ========================================================================
8 | * Licensed under the Apache License, Version 2.0 (the "License");
9 | * you may not use this file except in compliance with the License.
10 | * You may obtain a copy of the License at
11 | *
12 | * http://www.apache.org/licenses/LICENSE-2.0
13 | *
14 | * Unless required by applicable law or agreed to in writing, software
15 | * distributed under the License is distributed on an "AS IS" BASIS,
16 | * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
17 | * See the License for the specific language governing permissions and
18 | * limitations under the License.
19 | * ========================================================================
20 | */
21 |
22 | .bootstrap-switch {
23 | display: inline-block;
24 | direction: ltr;
25 | cursor: pointer;
26 | border-radius: 4px;
27 | border: 1px solid;
28 | border-color: #cccccc;
29 | position: relative;
30 | text-align: left;
31 | overflow: hidden;
32 | line-height: 8px;
33 | z-index: 0;
34 | -webkit-user-select: none;
35 | -moz-user-select: none;
36 | -ms-user-select: none;
37 | user-select: none;
38 | vertical-align: middle;
39 | -webkit-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
40 | -o-transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
41 | transition: border-color ease-in-out .15s, box-shadow ease-in-out .15s;
42 | }
43 | .bootstrap-switch .bootstrap-switch-container {
44 | display: inline-block;
45 | top: 0;
46 | border-radius: 4px;
47 | -webkit-transform: translate3d(0, 0, 0);
48 | transform: translate3d(0, 0, 0);
49 | }
50 | .bootstrap-switch .bootstrap-switch-handle-on,
51 | .bootstrap-switch .bootstrap-switch-handle-off,
52 | .bootstrap-switch .bootstrap-switch-label {
53 | -webkit-box-sizing: border-box;
54 | -moz-box-sizing: border-box;
55 | box-sizing: border-box;
56 | cursor: pointer;
57 | display: inline-block !important;
58 | height: 100%;
59 | padding: 6px 12px;
60 | font-size: 14px;
61 | line-height: 20px;
62 | }
63 | .bootstrap-switch .bootstrap-switch-handle-on,
64 | .bootstrap-switch .bootstrap-switch-handle-off {
65 | text-align: center;
66 | z-index: 1;
67 | }
68 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-primary,
69 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-primary {
70 | color: #fff;
71 | background: #337ab7;
72 | }
73 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-info,
74 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-info {
75 | color: #fff;
76 | background: #5bc0de;
77 | }
78 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-success,
79 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-success {
80 | color: #fff;
81 | background: #5cb85c;
82 | }
83 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-warning,
84 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-warning {
85 | background: #f0ad4e;
86 | color: #fff;
87 | }
88 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-danger,
89 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-danger {
90 | color: #fff;
91 | background: #d9534f;
92 | }
93 | .bootstrap-switch .bootstrap-switch-handle-on.bootstrap-switch-default,
94 | .bootstrap-switch .bootstrap-switch-handle-off.bootstrap-switch-default {
95 | color: #000;
96 | background: #eeeeee;
97 | }
98 | .bootstrap-switch .bootstrap-switch-label {
99 | text-align: center;
100 | margin-top: -1px;
101 | margin-bottom: -1px;
102 | z-index: 100;
103 | color: #333333;
104 | background: #ffffff;
105 | }
106 | .bootstrap-switch .bootstrap-switch-handle-on {
107 | border-bottom-left-radius: 3px;
108 | border-top-left-radius: 3px;
109 | }
110 | .bootstrap-switch .bootstrap-switch-handle-off {
111 | border-bottom-right-radius: 3px;
112 | border-top-right-radius: 3px;
113 | }
114 | .bootstrap-switch input[type='radio'],
115 | .bootstrap-switch input[type='checkbox'] {
116 | position: absolute !important;
117 | top: 0;
118 | left: 0;
119 | margin: 0;
120 | z-index: -1;
121 | opacity: 0;
122 | filter: alpha(opacity=0);
123 | }
124 | .bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-on,
125 | .bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-handle-off,
126 | .bootstrap-switch.bootstrap-switch-mini .bootstrap-switch-label {
127 | padding: 1px 5px;
128 | font-size: 12px;
129 | line-height: 1.5;
130 | }
131 | .bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-on,
132 | .bootstrap-switch.bootstrap-switch-small .bootstrap-switch-handle-off,
133 | .bootstrap-switch.bootstrap-switch-small .bootstrap-switch-label {
134 | padding: 5px 10px;
135 | font-size: 12px;
136 | line-height: 1.5;
137 | }
138 | .bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-on,
139 | .bootstrap-switch.bootstrap-switch-large .bootstrap-switch-handle-off,
140 | .bootstrap-switch.bootstrap-switch-large .bootstrap-switch-label {
141 | padding: 6px 16px;
142 | font-size: 18px;
143 | line-height: 1.3333333;
144 | }
145 | .bootstrap-switch.bootstrap-switch-disabled,
146 | .bootstrap-switch.bootstrap-switch-readonly,
147 | .bootstrap-switch.bootstrap-switch-indeterminate {
148 | cursor: default !important;
149 | }
150 | .bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-on,
151 | .bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-on,
152 | .bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-on,
153 | .bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-handle-off,
154 | .bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-handle-off,
155 | .bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-handle-off,
156 | .bootstrap-switch.bootstrap-switch-disabled .bootstrap-switch-label,
157 | .bootstrap-switch.bootstrap-switch-readonly .bootstrap-switch-label,
158 | .bootstrap-switch.bootstrap-switch-indeterminate .bootstrap-switch-label {
159 | opacity: 0.5;
160 | filter: alpha(opacity=50);
161 | cursor: default !important;
162 | }
163 | .bootstrap-switch.bootstrap-switch-animate .bootstrap-switch-container {
164 | -webkit-transition: margin-left 0.5s;
165 | -o-transition: margin-left 0.5s;
166 | transition: margin-left 0.5s;
167 | }
168 | .bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-on {
169 | border-bottom-left-radius: 0;
170 | border-top-left-radius: 0;
171 | border-bottom-right-radius: 3px;
172 | border-top-right-radius: 3px;
173 | }
174 | .bootstrap-switch.bootstrap-switch-inverse .bootstrap-switch-handle-off {
175 | border-bottom-right-radius: 0;
176 | border-top-right-radius: 0;
177 | border-bottom-left-radius: 3px;
178 | border-top-left-radius: 3px;
179 | }
180 | .bootstrap-switch.bootstrap-switch-focused {
181 | border-color: #66afe9;
182 | outline: 0;
183 | -webkit-box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
184 | box-shadow: inset 0 1px 1px rgba(0,0,0,.075), 0 0 8px rgba(102, 175, 233, 0.6);
185 | }
186 | .bootstrap-switch.bootstrap-switch-on .bootstrap-switch-label,
187 | .bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-off .bootstrap-switch-label {
188 | border-bottom-right-radius: 3px;
189 | border-top-right-radius: 3px;
190 | }
191 | .bootstrap-switch.bootstrap-switch-off .bootstrap-switch-label,
192 | .bootstrap-switch.bootstrap-switch-inverse.bootstrap-switch-on .bootstrap-switch-label {
193 | border-bottom-left-radius: 3px;
194 | border-top-left-radius: 3px;
195 | }
196 |
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/css/bootstrap-table.min.css:
--------------------------------------------------------------------------------
1 | .fixed-table-container .bs-checkbox,.fixed-table-container .no-records-found{text-align:center}.fixed-table-body thead th .th-inner,.table td,.table th{box-sizing:border-box}.bootstrap-table .table{margin-bottom:0!important;border-bottom:1px solid #ddd;border-collapse:collapse!important;border-radius:1px}.bootstrap-table .table:not(.table-condensed),.bootstrap-table .table:not(.table-condensed)>tbody>tr>td,.bootstrap-table .table:not(.table-condensed)>tbody>tr>th,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>td,.bootstrap-table .table:not(.table-condensed)>tfoot>tr>th,.bootstrap-table .table:not(.table-condensed)>thead>tr>td{padding:8px}.bootstrap-table .table.table-no-bordered>tbody>tr>td,.bootstrap-table .table.table-no-bordered>thead>tr>th{border-right:2px solid transparent}.bootstrap-table .table.table-no-bordered>tbody>tr>td:last-child{border-right:none}.fixed-table-container{position:relative;clear:both;border:1px solid #ddd;border-radius:4px;-webkit-border-radius:4px;-moz-border-radius:4px}.fixed-table-container.table-no-bordered{border:1px solid transparent}.fixed-table-footer,.fixed-table-header{overflow:hidden}.fixed-table-footer{border-top:1px solid #ddd}.fixed-table-body{overflow-x:auto;overflow-y:auto;height:100%}.fixed-table-container table{width:100%}.fixed-table-container thead th{height:0;padding:0;margin:0;border-left:1px solid #ddd}.fixed-table-container thead th:focus{outline:transparent solid 0}.fixed-table-container thead th:first-child{border-left:none;border-top-left-radius:4px;-webkit-border-top-left-radius:4px;-moz-border-radius-topleft:4px}.fixed-table-container tbody td .th-inner,.fixed-table-container thead th .th-inner{padding:8px;line-height:24px;vertical-align:top;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.fixed-table-container thead th .sortable{cursor:pointer;background-position:right;background-repeat:no-repeat;padding-right:30px}.fixed-table-container thead th .both{background-image:url('data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAQAAADYWf5HAAAAkElEQVQoz7X QMQ5AQBCF4dWQSJxC5wwax1Cq1e7BAdxD5SL+Tq/QCM1oNiJidwox0355mXnG/DrEtIQ6azioNZQxI0ykPhTQIwhCR+BmBYtlK7kLJYwWCcJA9M4qdrZrd8pPjZWPtOqdRQy320YSV17OatFC4euts6z39GYMKRPCTKY9UnPQ6P+GtMRfGtPnBCiqhAeJPmkqAAAAAElFTkSuQmCC')}.fixed-table-container thead th .asc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZ0lEQVQ4y2NgGLKgquEuFxBPAGI2ahhWCsS/gDibUoO0gPgxEP8H4ttArEyuQYxAPBdqEAxPBImTY5gjEL9DM+wTENuQahAvEO9DMwiGdwAxOymGJQLxTyD+jgWDxCMZRsEoGAVoAADeemwtPcZI2wAAAABJRU5ErkJggg==)}.fixed-table-container thead th .desc{background-image:url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABMAAAATCAYAAAByUDbMAAAAZUlEQVQ4y2NgGAWjYBSggaqGu5FA/BOIv2PBIPFEUgxjB+IdQPwfC94HxLykus4GiD+hGfQOiB3J8SojEE9EM2wuSJzcsFMG4ttQgx4DsRalkZENxL+AuJQaMcsGxBOAmGvopk8AVz1sLZgg0bsAAAAASUVORK5CYII=)}.fixed-table-container th.detail{width:30px}.fixed-table-container tbody td{border-left:1px solid #ddd}.fixed-table-container tbody tr:first-child td{border-top:none}.fixed-table-container tbody td:first-child{border-left:none}.fixed-table-container tbody .selected td{background-color:#f5f5f5}.fixed-table-container .bs-checkbox .th-inner{padding:8px 0}.fixed-table-container input[type=radio],.fixed-table-container input[type=checkbox]{margin:0 auto!important}.fixed-table-pagination .pagination-detail,.fixed-table-pagination div.pagination{margin-top:10px;margin-bottom:10px}.fixed-table-pagination div.pagination .pagination{margin:0}.fixed-table-pagination .pagination a{padding:6px 12px;line-height:1.428571429}.fixed-table-pagination .pagination-info{line-height:34px;margin-right:5px}.fixed-table-pagination .btn-group{position:relative;display:inline-block;vertical-align:middle}.fixed-table-pagination .dropup .dropdown-menu{margin-bottom:0}.fixed-table-pagination .page-list{display:inline-block}.fixed-table-toolbar .columns-left{margin-right:5px}.fixed-table-toolbar .columns-right{margin-left:5px}.fixed-table-toolbar .columns label{display:block;padding:3px 20px;clear:both;font-weight:400;line-height:1.428571429}.fixed-table-toolbar .bs-bars,.fixed-table-toolbar .columns,.fixed-table-toolbar .search{position:relative;margin-top:10px;margin-bottom:10px;line-height:34px}.fixed-table-pagination li.disabled a{pointer-events:none;cursor:default}.fixed-table-loading{display:none;position:absolute;top:42px;right:0;bottom:0;left:0;z-index:99;background-color:#fff;text-align:center}.fixed-table-body .card-view .title{font-weight:700;display:inline-block;min-width:30%;text-align:left!important}.table td,.table th{vertical-align:middle}.fixed-table-toolbar .dropdown-menu{text-align:left;max-height:300px;overflow:auto}.fixed-table-toolbar .btn-group>.btn-group{display:inline-block;margin-left:-1px!important}.fixed-table-toolbar .btn-group>.btn-group>.btn{border-radius:0}.fixed-table-toolbar .btn-group>.btn-group:first-child>.btn{border-top-left-radius:4px;border-bottom-left-radius:4px}.fixed-table-toolbar .btn-group>.btn-group:last-child>.btn{border-top-right-radius:4px;border-bottom-right-radius:4px}.bootstrap-table .table>thead>tr>th{vertical-align:bottom;border-bottom:1px solid #ddd}.bootstrap-table .table thead>tr>th{padding:0;margin:0}.bootstrap-table .fixed-table-footer tbody>tr>td{padding:0!important}.bootstrap-table .fixed-table-footer .table{border-bottom:none;border-radius:0;padding:0!important}.pull-right .dropdown-menu{right:0;left:auto}p.fixed-table-scroll-inner{width:100%;height:200px}div.fixed-table-scroll-outer{top:0;left:0;visibility:hidden;width:200px;height:150px;overflow:hidden}
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/css/bootstrap-theme.min.css.map:
--------------------------------------------------------------------------------
1 | {"version":3,"sources":["less/theme.less","less/mixins/vendor-prefixes.less","less/mixins/gradients.less","less/mixins/reset-filter.less"],"names":[],"mappings":"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"}
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/css/normalize.css:
--------------------------------------------------------------------------------
1 | /*! normalize.css v4.0.0 | MIT License | github.com/necolas/normalize.css */html{font-family:sans-serif;-ms-text-size-adjust:100%;-webkit-text-size-adjust:100%}body{margin:0}article,aside,details,figcaption,figure,footer,header,main,menu,nav,section,summary{display:block}audio,canvas,progress,video{display:inline-block}audio:not([controls]){display:none;height:0}progress{vertical-align:baseline}template,[hidden]{display:none}a{background-color:transparent}a:active,a:hover{outline-width:0}abbr[title]{border-bottom:none;text-decoration:underline;text-decoration:underline dotted}b,strong{font-weight:inherit}b,strong{font-weight:bolder}dfn{font-style:italic}h1{font-size:2em;margin:0.67em 0}mark{background-color:#ff0;color:#000}small{font-size:80%}sub,sup{font-size:75%;line-height:0;position:relative;vertical-align:baseline}sub{bottom:-0.25em}sup{top:-0.5em}img{border-style:none}svg:not(:root){overflow:hidden}code,kbd,pre,samp{font-family:monospace, monospace;font-size:1em}figure{margin:1em 40px}hr{box-sizing:content-box;height:0;overflow:visible}button,input,select,textarea{font:inherit;margin:0}optgroup{font-weight:bold}button,input,select{overflow:visible}button,select{text-transform:none}button,[type="button"],[type="reset"],[type="submit"]{cursor:pointer}[disabled]{cursor:default}button,html [type="button"],[type="reset"],[type="submit"]{-webkit-appearance:button}button::-moz-focus-inner,input::-moz-focus-inner{border:0;padding:0}button:-moz-focusring,input:-moz-focusring{outline:1px dotted ButtonText}fieldset{border:1px solid #c0c0c0;margin:0 2px;padding:0.35em 0.625em 0.75em}legend{box-sizing:border-box;color:inherit;display:table;max-width:100%;padding:0;white-space:normal}textarea{overflow:auto}[type="checkbox"],[type="radio"]{box-sizing:border-box;padding:0}[type="number"]::-webkit-inner-spin-button,[type="number"]::-webkit-outer-spin-button{height:auto}[type="search"]{-webkit-appearance:textfield}[type="search"]::-webkit-search-cancel-button,[type="search"]::-webkit-search-decoration{-webkit-appearance:none}
2 |
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/css/throbber.gif:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ac-pm/Inspeckage/d8806c9e5f14d44c2e19a331e929d72d6faa4c54/app/src/main/assets/HTMLFiles/css/throbber.gif
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/img/favicon-16.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ac-pm/Inspeckage/d8806c9e5f14d44c2e19a331e929d72d6faa4c54/app/src/main/assets/HTMLFiles/img/favicon-16.png
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/img/favicon-32.png:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ac-pm/Inspeckage/d8806c9e5f14d44c2e19a331e929d72d6faa4c54/app/src/main/assets/HTMLFiles/img/favicon-32.png
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/img/favicon.ico:
--------------------------------------------------------------------------------
https://raw.githubusercontent.com/ac-pm/Inspeckage/d8806c9e5f14d44c2e19a331e929d72d6faa4c54/app/src/main/assets/HTMLFiles/img/favicon.ico
--------------------------------------------------------------------------------
/app/src/main/assets/HTMLFiles/js/CollapsibleLists.compressed.js:
--------------------------------------------------------------------------------
1 | /*
2 |
3 | CollapsibleLists.js
4 |
5 | An object allowing lists to dynamically expand and collapse
6 |
7 | Created by Stephen Morley - http://code.stephenmorley.org/ - and released under
8 | the terms of the CC0 1.0 Universal legal code:
9 |
10 | http://creativecommons.org/publicdomain/zero/1.0/legalcode
11 |
12 | */
13 |
14 | var CollapsibleLists=new function(){
15 | this.apply=function(_1){
16 | var _2=document.getElementsByTagName("ul");
17 | for(var _3=0;_3<_2.length;_3++){
18 | if(_2[_3].className.match(/(^| )collapsibleList( |$)/)){
19 | this.applyTo(_2[_3],true);
20 | if(!_1){
21 | var _4=_2[_3].getElementsByTagName("ul");
22 | for(var _5=0;_5<_4.length;_5++){
23 | _4[_5].className+=" collapsibleList";
24 | }
25 | }
26 | }
27 | }
28 | };
29 | this.applyTo=function(_6,_7){
30 | var _8=_6.getElementsByTagName("li");
31 | for(var _9=0;_9<_8.length;_9++){
32 | if(!_7||_6==_8[_9].parentNode){
33 | if(_8[_9].addEventListener){
34 | _8[_9].addEventListener("mousedown",function(e){
35 | e.preventDefault();
36 | },false);
37 | }else{
38 | _8[_9].attachEvent("onselectstart",function(){
39 | event.returnValue=false;
40 | });
41 | }
42 | if(_8[_9].addEventListener){
43 | _8[_9].addEventListener("click",_a(_8[_9]),false);
44 | }else{
45 | _8[_9].attachEvent("onclick",_a(_8[_9]));
46 | }
47 | _b(_8[_9]);
48 | }
49 | }
50 | };
51 | function _a(_c){
52 | return function(e){
53 | if(!e){
54 | e=window.event;
55 | }
56 | var _d=(e.target?e.target:e.srcElement);
57 | while(_d.nodeName!="LI"){
58 | _d=_d.parentNode;
59 | }
60 | if(_d==_c){
61 | _b(_c);
62 | }
63 | };
64 | };
65 | function _b(_e){
66 | var _f=_e.className.match(/(^| )collapsibleListClosed( |$)/);
67 | var uls=_e.getElementsByTagName("ul");
68 | for(var _10=0;_10