2 views
MG1937/ASC
ASC is a super FAST Android decompiler front-end designed for Agents/Mobile Researchers.
Python★ 1,284+129 that day#7 on trending
4.45%duplicated code · 442 of 9,942 lines
30clones in code
48code files of 68 scanned
4.29%duplicated over all files · 34 clones
The code number leaves out tests, fixtures, docs, examples, data files, styles, translations and vendored code.
Largest clones in the code
- 72 lines in 2 placespython248 tokens
1from enum import IntFlag 2from enum import Enum 3 4# Auth: MG1937 5 6vflags = [ 7 "kVerifyNothing", "kVerifyRegA", "kVerifyRegB", "kVerifyRegAWide", 8 "kVerifyRegBWide", "kVerifyRegBString", "kVerifyRegBType", "kVerifyRegCType", 9 "kVerifyRegBNewInstance", "kVerifyRegCNewArray", "kVerifyRegBFilledNewArray", 10 "kVerifyVarArg", "kVerifyVarArgRange", "kVerifyArrayData", "kVerifyBranchTarget",First 10 of 72 lines.
- 28 lines in 2 placespython144 tokens
188state = "code" 189i = start 190while i < end: 191 ch = text[i] 192 nxt = text[i + 1] if i + 1 < end else "" 193 if state == "code": 194 if ch == "/" and nxt == "/": 195 state = "line_comment" 196 i += 2 197 continueFirst 10 of 28 lines.
- 21 lines in 2 placespython133 tokensdroidasc/asc_core/core/dex/dex_remapper.py:236–256droidasc/asc_core/core/dex/dex_remapper.py:360–380
236method = self.dex.methods[origin_method_idx] 237params = method.prototype.parameters_type 238 239param_count = len(params) 240new_prototype = [short_idx, rettypeidx, param_count] 241 242for param in params: 243 if param.type == Type.TYPES.PRIMITIVE: 244 new_prototype.append(self.typeidx_data_types[param.value]) 245 continueFirst 10 of 21 lines.
7 more
- 20 lines in 2 placespython132 tokens
- 10 lines in 2 placespython121 tokens
- 24 lines in 2 placespython113 tokens
- 10 lines in 2 placespython107 tokens
- 14 lines in 2 placespython103 tokens
- 9 lines in 2 placespython97 tokens
- 22 lines in 2 placespython97 tokens
Largest clones over all files, tests and data included
- 72 lines in 2 placespython248 tokens
1from enum import IntFlag 2from enum import Enum 3 4# Auth: MG1937 5 6vflags = [ 7 "kVerifyNothing", "kVerifyRegA", "kVerifyRegB", "kVerifyRegAWide", 8 "kVerifyRegBWide", "kVerifyRegBString", "kVerifyRegBType", "kVerifyRegCType", 9 "kVerifyRegBNewInstance", "kVerifyRegCNewArray", "kVerifyRegBFilledNewArray", 10 "kVerifyVarArg", "kVerifyVarArgRange", "kVerifyArrayData", "kVerifyBranchTarget",First 10 of 72 lines.
- 28 lines in 2 placespython144 tokens
188state = "code" 189i = start 190while i < end: 191 ch = text[i] 192 nxt = text[i + 1] if i + 1 < end else "" 193 if state == "code": 194 if ch == "/" and nxt == "/": 195 state = "line_comment" 196 i += 2 197 continueFirst 10 of 28 lines.
- 11 lines in 2 placespythontests140 tokens
42struct.pack_into('<IIIIIIII', buf, class_defs, 0, 1, 1, 0, 0xffffffff, 0, class_data, 0) 43buf.extend(b'\0' * (-len(buf) % 4)) 44map_off = len(buf) 45sections.append((0x1000, 1, map_off)) 46buf.extend(struct.pack('<I', len(sections))) 47for kind, count, offset in sections: 48 buf.extend(struct.pack('<HHII', kind, 0, count, offset)) 49buf[:8] = b'dex\n035\0' 50struct.pack_into('<IIIIII', buf, 32, len(buf), 112, 0x12345678, 0, 0, map_off) 51struct.pack_into('<IIIIIIIIIIIIII', buf, 56,91struct.pack_into('<IIIIIIII', buf, class_defs, 0, 1, 1, 0, 0xffffffff, 0, class_data, static_values) 92 93buf.extend(b'\0' * (-len(buf) % 4)) 94map_off = len(buf) 95sections.append((0x1000, 1, map_off)) 96buf.extend(struct.pack('<I', len(sections))) 97for kind, count, offset in sections: 98 buf.extend(struct.pack('<HHII', kind, 0, count, offset)) 99 100buf[:8] = b'dex\n035\0'First 10 of 11 lines, the second copy on the right.
- 14 lines in 2 placespythontests138 tokens
- 21 lines in 2 placespython133 tokens
By format, code only
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 37 | 8,821 | 30 | 442 | 5.01% |
| bash | 9 | 644 | 0 | 0 | 0% |
| c-header | 1 | 303 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
By format, all files
| Format | Files | Lines | Clones | Duplicated lines | Duplication |
|---|---|---|---|---|---|
| python | 47 | 9,738 | 34 | 482 | 4.95% |
| bash | 11 | 655 | 0 | 0 | 0% |
| c-header | 1 | 303 | 0 | 0 | 0% |
| perl | 1 | 174 | 0 | 0 | 0% |
| markdown | 3 | 161 | 0 | 0 | 0% |
| yaml | 2 | 127 | 0 | 0 | 0% |
| json | 1 | 44 | 0 | 0 | 0% |
| toml | 1 | 24 | 0 | 0 | 0% |
| text | 1 | 19 | 0 | 0 | 0% |
Trending appearances
| Day | Rank | Stars | Files | Lines | Clones | All files | Code | Health | Commit |
|---|---|---|---|---|---|---|---|---|---|
| Sep 16, 2026 | #7 | 1,284 (+129) | 68 | 11,245 | 34 | 4.29% | 4.45% | — | ff1df85 |
Want this for your own project? Install jscpd and run jscpd ., or measure it the way the baselines were measured.