From 7d2fb76ede7ab82a4d2a61a00cc951105d7f4b0e Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E3=80=82?= Date: Sun, 6 May 2018 03:21:26 +0800 Subject: [PATCH 1/2] Fix MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 主要进行本地化工作及界面调整,部分兼容Android Oreo(v8.1)。 --- cSploit/src/main/AndroidManifest.xml | 6 +- .../org/csploit/android/MainActivity.java | 2 +- .../csploit/android/WifiScannerFragment.java | 3 +- .../java/org/csploit/android/core/System.java | 2 +- .../android/gui/dialogs/AboutDialog.java | 2 +- .../android/gui/dialogs/ChangelogDialog.java | 2 +- .../gui/dialogs/CustomFilterDialog.java | 2 +- .../android/gui/dialogs/ErrorDialog.java | 4 +- .../android/gui/dialogs/FatalDialog.java | 3 +- .../android/gui/dialogs/FinishDialog.java | 3 +- .../android/gui/dialogs/InputDialog.java | 2 +- .../gui/dialogs/RedirectionDialog.java | 2 +- .../android/gui/dialogs/SpinnerDialog.java | 2 +- .../org/csploit/android/plugins/Sessions.java | 2 +- .../csploit/android/plugins/mitm/MITM.java | 2 +- .../plugins/mitm/hijacker/Hijacker.java | 1 + .../res/layout/plugin_mitm_dns_spoofing.xml | 6 +- .../main/res/layout/plugin_mitm_hijacker.xml | 4 +- .../layout/plugin_mitm_password_sniffer.xml | 6 +- cSploit/src/main/res/layout/target_layout.xml | 5 +- .../src/main/res/values-zh-rCN/strings.xml | 357 +++++++++--------- cSploit/src/main/res/values/strings.xml | 3 +- cSploit/src/main/res/xml/preferences.xml | 4 +- 23 files changed, 221 insertions(+), 204 deletions(-) mode change 100644 => 100755 cSploit/src/main/res/values-zh-rCN/strings.xml mode change 100644 => 100755 cSploit/src/main/res/values/strings.xml diff --git a/cSploit/src/main/AndroidManifest.xml b/cSploit/src/main/AndroidManifest.xml index 3c6a33db5d..a2c243cabb 100644 --- a/cSploit/src/main/AndroidManifest.xml +++ b/cSploit/src/main/AndroidManifest.xml @@ -4,13 +4,17 @@ + + + + - + diff --git a/cSploit/src/main/java/org/csploit/android/MainActivity.java b/cSploit/src/main/java/org/csploit/android/MainActivity.java index 89b9ca7a33..89af992f0c 100644 --- a/cSploit/src/main/java/org/csploit/android/MainActivity.java +++ b/cSploit/src/main/java/org/csploit/android/MainActivity.java @@ -72,7 +72,7 @@ public void verifyPerms() { Manifest.permission.READ_PHONE_STATE) != PackageManager.PERMISSION_GRANTED) { ActivityCompat.requestPermissions(this, - new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE}, + new String[] {Manifest.permission.WRITE_EXTERNAL_STORAGE, Manifest.permission.READ_PHONE_STATE, Manifest.permission.ACCESS_FINE_LOCATION, Manifest.permission.ACCESS_COARSE_LOCATION}, MY_PERMISSIONS_WANTED); } } diff --git a/cSploit/src/main/java/org/csploit/android/WifiScannerFragment.java b/cSploit/src/main/java/org/csploit/android/WifiScannerFragment.java index 77aace94d5..a7f0cbd87f 100644 --- a/cSploit/src/main/java/org/csploit/android/WifiScannerFragment.java +++ b/cSploit/src/main/java/org/csploit/android/WifiScannerFragment.java @@ -186,7 +186,8 @@ public void onViewCreated(View v, Bundle savedInstanceState) { getActivity().setTheme(R.style.AppTheme); v.setBackgroundColor(ContextCompat.getColor(getActivity(), R.color.background_window)); } - mWifiManager = (WifiManager) getActivity().getSystemService(Context.WIFI_SERVICE); + /**ADD getApplicationContext(). compatible Android N**/ + mWifiManager = (WifiManager) getActivity().getApplicationContext().getSystemService(Context.WIFI_SERVICE); mClipboard = (ClipboardManager) getActivity().getSystemService(Context.CLIPBOARD_SERVICE); mWifiMatcher = new WirelessMatcher(getResources().openRawResource(R.raw.alice)); mScanReceiver = new ScanReceiver(); diff --git a/cSploit/src/main/java/org/csploit/android/core/System.java b/cSploit/src/main/java/org/csploit/android/core/System.java index be85431054..f1c601989c 100644 --- a/cSploit/src/main/java/org/csploit/android/core/System.java +++ b/cSploit/src/main/java/org/csploit/android/core/System.java @@ -171,7 +171,7 @@ public static void init(Context context) throws Exception { mWifiLock.acquire(); // wake lock if enabled - if (getSettings().getBoolean("PREF_WAKE_LOCK", true)) { + if (getSettings().getBoolean("PREF_WAKE_LOCK", false)) { PowerManager powerManager = (PowerManager) mContext.getSystemService(Context.POWER_SERVICE); if (mWakeLock == null) diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/AboutDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/AboutDialog.java index 334825a4d9..d6baa564b0 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/AboutDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/AboutDialog.java @@ -42,7 +42,7 @@ public AboutDialog(Activity activity){ this.setTitle(activity.getString(R.string.about_csploit_v_) + System.getAppVersionName()); this.setView(view); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener() { + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { dialog.dismiss(); } diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/ChangelogDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/ChangelogDialog.java index d322f49010..ae3aa3e125 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/ChangelogDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/ChangelogDialog.java @@ -67,7 +67,7 @@ public ChangelogDialog(final Activity activity){ mLoader.dismiss(); this.setCancelable(false); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ dialog.dismiss(); } diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/CustomFilterDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/CustomFilterDialog.java index ca5d00eee6..96a417c0d5 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/CustomFilterDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/CustomFilterDialog.java @@ -42,7 +42,7 @@ public CustomFilterDialog(String title, Activity activity, final CustomFilterDia this.setTitle(title); this.setView(view); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ assert view != null; String f0 = ((EditText) view.findViewById(R.id.fromText0)).getText() + "".trim(), diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/ErrorDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/ErrorDialog.java index 1c84e3f0f5..b28d773915 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/ErrorDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/ErrorDialog.java @@ -22,6 +22,8 @@ import android.app.AlertDialog; import android.content.DialogInterface; +import org.csploit.android.R; + public class ErrorDialog extends AlertDialog{ public ErrorDialog(String title, String message, final Activity activity){ super(activity); @@ -29,7 +31,7 @@ public ErrorDialog(String title, String message, final Activity activity){ this.setTitle(title); this.setMessage(message); this.setCancelable(false); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ dialog.dismiss(); } diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/FatalDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/FatalDialog.java index e2dd45d206..0bb4b48664 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/FatalDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/FatalDialog.java @@ -24,6 +24,7 @@ import android.text.Html; import android.text.method.LinkMovementMethod; import android.widget.TextView; +import org.csploit.android.R; public class FatalDialog extends AlertDialog{ public FatalDialog(String title, String message, boolean html, final Activity activity){ @@ -45,7 +46,7 @@ public FatalDialog(String title, String message, boolean html, final Activity ac } this.setCancelable(false); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ activity.finish(); } diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/FinishDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/FinishDialog.java index 6fad70c785..23c98252b1 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/FinishDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/FinishDialog.java @@ -21,6 +21,7 @@ import android.app.Activity; import android.app.AlertDialog; import android.content.DialogInterface; +import org.csploit.android.R; public class FinishDialog extends AlertDialog{ public FinishDialog(String title, String message, final Activity activity){ @@ -29,7 +30,7 @@ public FinishDialog(String title, String message, final Activity activity){ this.setTitle(title); this.setMessage(message); this.setCancelable(false); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ dialog.dismiss(); activity.finish(); diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/InputDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/InputDialog.java index dcf4b39615..a9e74b65a5 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/InputDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/InputDialog.java @@ -57,7 +57,7 @@ public InputDialog(String title, String message, String text, boolean editable, this.setView(mEditText, 40, 0, 40, 0); final InputDialogListener listener = inputDialogListener; - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener() { + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener() { public void onClick(DialogInterface dialog, int id) { if(listener != null) listener.onInputEntered(mEditText.getText() + ""); diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/RedirectionDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/RedirectionDialog.java index 593932cc4d..ab0ce6021e 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/RedirectionDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/RedirectionDialog.java @@ -36,7 +36,7 @@ public RedirectionDialog(String title, Activity activity, final RedirectionDialo this.setTitle(title); this.setView(view); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ assert view != null; String address = ((EditText) view.findViewById(R.id.redirAddress)).getText() + "".trim(), diff --git a/cSploit/src/main/java/org/csploit/android/gui/dialogs/SpinnerDialog.java b/cSploit/src/main/java/org/csploit/android/gui/dialogs/SpinnerDialog.java index 57fca5c69c..c4b221688b 100644 --- a/cSploit/src/main/java/org/csploit/android/gui/dialogs/SpinnerDialog.java +++ b/cSploit/src/main/java/org/csploit/android/gui/dialogs/SpinnerDialog.java @@ -53,7 +53,7 @@ public void onNothingSelected(AdapterView arg0){ this.setMessage(message); this.setView(mSpinner); - this.setButton(BUTTON_POSITIVE, "Ok", new DialogInterface.OnClickListener(){ + this.setButton(BUTTON_POSITIVE, activity.getString(R.string.ok), new DialogInterface.OnClickListener(){ public void onClick(DialogInterface dialog, int id){ listener.onItemSelected(mSelected); } diff --git a/cSploit/src/main/java/org/csploit/android/plugins/Sessions.java b/cSploit/src/main/java/org/csploit/android/plugins/Sessions.java index 584fab63ee..d65dd1bbcc 100644 --- a/cSploit/src/main/java/org/csploit/android/plugins/Sessions.java +++ b/cSploit/src/main/java/org/csploit/android/plugins/Sessions.java @@ -146,7 +146,7 @@ public void onCreate(Bundle savedInstanceState) { UIThread = this; if(System.getMsfRpc()==null) { - new FinishDialog(getString(R.string.error),"MSF RPC not connected",Sessions.this).show(); + new FinishDialog(getString(R.string.error),getString(R.string.msfrpc_notconnect_error),Sessions.this).show(); return; } diff --git a/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java b/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java index 5381b35959..1f17e60282 100644 --- a/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java +++ b/cSploit/src/main/java/org/csploit/android/plugins/mitm/MITM.java @@ -482,7 +482,7 @@ public void onClick(View v){ ( getString(R.string.mitm_dns_spoofing), getString(R.string.mitm_dns_spoofing_desc), - R.drawable.action_redirect, + R.drawable.action_redirectdns, new OnClickListener() { @Override public void onClick(View v) { diff --git a/cSploit/src/main/java/org/csploit/android/plugins/mitm/hijacker/Hijacker.java b/cSploit/src/main/java/org/csploit/android/plugins/mitm/hijacker/Hijacker.java index 1277b8f816..d3038f3540 100644 --- a/cSploit/src/main/java/org/csploit/android/plugins/mitm/hijacker/Hijacker.java +++ b/cSploit/src/main/java/org/csploit/android/plugins/mitm/hijacker/Hijacker.java @@ -520,6 +520,7 @@ private void setStartedState() { mSpoof.start(new OnSessionReadyListener() { @Override public void onSessionReady() { + mHijackToggleButton.setText(R.string.start); Hijacker.this.runOnUiThread(new Runnable() { @Override public void run() { diff --git a/cSploit/src/main/res/layout/plugin_mitm_dns_spoofing.xml b/cSploit/src/main/res/layout/plugin_mitm_dns_spoofing.xml index acfe966f64..bab184e377 100644 --- a/cSploit/src/main/res/layout/plugin_mitm_dns_spoofing.xml +++ b/cSploit/src/main/res/layout/plugin_mitm_dns_spoofing.xml @@ -16,8 +16,8 @@ android:text="@string/toggle_button" android:textAllCaps="true" android:textColor="@android:color/white" - android:textOff="Start" - android:textOn="Stop" /> + android:textOff="@string/start" + android:textOn="@string/stop" /> + android:text="@string/save" /> + android:textOff="@string/start" + android:textOn="@string/stop" /> + android:textOff="@string/start" + android:textOn="@string/stop" /> 设置 cSploit - 额!崩溃了...不过我将给我的开发者发送报告来帮助解决这个问题。 + cSploit崩溃了,请发送报告给开发者来帮助解决这个问题! 切换按钮 - 在下方键入跳转详情: + 输入跳转地址: 地址 端口 目标 @@ -11,7 +11,7 @@ 服务 操作系统 设备类型 - 点一个会话来开始劫持,长摁保存到文件。 + 点击会话开始劫持或者长按保存为文件 排序: 选择一个要运行的模块 选择 @@ -23,7 +23,7 @@ 非版权保护 来自 Simone Margaritelli 又名 evilsocket。 免责声明 - + 授权 This program is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software @@ -44,63 +44,63 @@ If not, see http://www.gnu.org/licenses/. 最小长度 用户名 字符集 - 输入一个替换过滤器, 既可以是一个简单替换也可以是一个正则表达式。 - 来自 - 去往 + 输入一个替换过滤器, 既可以是一个简单替换也可以是一个正则表达式 + 自定义 + 目标 局域网唤醒 发送 可以更新 您已经可以更新到 版本,您想下载么? 正在检查… - 没有可用的更新 + 没有可用的更新,请稍后检查! 新版本 被找到! 正在下载更新… 正在连接… 取消 错误 - 在下载更新时发送错误。 - 不正确的目标。 + 下载更新时发生错误! + 不正确的目标! 添加自定义目标 在下方键入URL,主机名或IP地址: - 网络发现停止。 - 网络发现开始。 + 网络发现停止 + 网络发现开始 启动网络监视器 停止网络监视器 启动 Metasploit RPCD 停止 Metasploit RPCD 退出 - 将关闭 cSploit,您确定继续么? - 再摁一次返回退出。 + 即将关闭 cSploit,您确定继续么? + 再按一次返回键退出 已选择  - 没在在SD卡上找到会话文件。 + SD卡上未找到会话文件! 请从SD卡中选择会话文件: 选择会话 - 无效的会话名称。 + 无效的会话名称 会话已经保存到   保存到会话 - 请输入会话文件的名称 : + 请输入会话文件的名称: 新会话已开始 警告 开始一个新的会话将覆盖当前的会话,继续? -很抱歉,您的固件有 LD_LIBRARY_PATH 缺陷,它和 cSploit 不兼容。

]]>
+很抱歉,您的固件存在 LD_LIBRARY_PATH 缺陷,它和 cSploit 不兼容!

]]>
更多信息请前往 常见问题(英语)

]]>
在安装文件时遇到问题! -很抱歉,您设备的处理器不是ARM的,它和 cSploit 不兼容。

]]>
+很抱歉,您设备的处理器不是ARM的,它和 cSploit 不兼容!

]]> 更多信息请前往 系统要求 section.

]]>
- cSploit 要求安装完全版的BusyBox,然而并没有找到killall二进制文件(可能是你的BusyBox版本过旧)。 - 本程序只能运行在已经root的设备上。 + cSploit 要求安装完全版的BusyBox,然而并没有找到killall二进制文件(可能是BusyBox版本过旧)! + 本程序只能运行在已经root的设备上! 正在初始化… 初始化失败 目标别名 为目标设置一个别名: - 无网络连接。 - WiFi 密码已经复制到剪贴板。 + 无网络连接! + WiFi 密码已经复制到剪贴板 ]]> 使用密钥 ]]> !]]> @@ -110,99 +110,90 @@ If not, see http://www.gnu.org/licenses/. 输入 WiFi 密钥或尝试破解: 输入 WiFi 密钥: 正在扫描… - 无效的文件名称。 -发生了未知的错误,请尝试选择一个新的目标。 - + 无效的文件名称! +发生了未知的错误,请尝试选择一个新的目标! DNS欺骗 - 重定向连接到指定的web/IP + 重定向连接到指定的web链接或IP地址 储存 已经选择 未找到]]> - 没有在当前目标找到任何开放的端口,请先运行服务检查工具。 - 未找到可用的攻击方案。 - 没有已经发现的开放端口,请先在使用专注扫描前先使用端口扫描。 - 没有已经发现的攻击方案,请先运行攻击方案查找工具。 - 没有已经启动的攻击。 - 没有已经发现的漏洞。请先运行漏洞发现工具。 - 没有关于运行在目标上的服务的具体信息,请先运行服务检查工具。 + 没有在当前目标找到任何开放的端口,请先运行服务检查工具! + 未找到可用的攻击方案 + 没有已经发现的开放端口,请先在使用专注扫描前先使用端口扫描! + 没有已经发现的攻击方案,请先运行攻击方案查找工具! + 没有已经启动的攻击 + 没有已发现的漏洞,请先运行漏洞发现工具! + 没有关于运行在目标上的服务的具体信息,请先运行服务检查工具! 自定义字符集 请输入您想使用的自定义字符: - 指定的端口无效。 - 请求体不能为空。 - 请求已经发送。 - 自定义局域网唤醒端口并摁下发送。 -无法在不知道物理地址(MAC)的情况下发送局域网唤醒包。 - - 没有可以处理此类URL的行为。 + 指定的端口无效 + 请求体不能为空 + 请求已经发送 + 自定义局域网唤醒端口并按下发送 +无法在不知道物理地址(MAC)的情况下发送局域网唤醒包 + 没有可以处理此类URL的行为 选择端口 请使用逗号分隔端口号: 无效的端口 \' - 端口号只能在0到65535之间。 - 指定的端口无效。 - 没有指定端口。 + 端口号只能在0到65535之间 + 指定的端口无效 + 没有指定端口 关于 cSploit v -通过在下方短摁以选择目标,或者长摁以输入别名。 - + 通过在下方短按选择目标或者长按更改主机别名 正在生成密钥… -没有可用的 WiFi 连接,程序将仅仅检查更新。 #STATUS# - +没有可用的 WiFi 连接,程序将只检查更新 #STATUS# 正在加载更新日志… -

在加载更新日志时遇到问题:

{DESCRIPTION}

]]>
+

加载更新日志时遇到问题:

{DESCRIPTION}

]]> 取消 + 确定 连接 破解 - 无法读取文件夹的内容。 + 无法读取文件夹的内容! 选择  漏洞发现工具 -搜索在目标上运行的服务的已知漏洞通过美国国家漏洞数据库。 - +搜索在目标上所运行服务的已知漏洞(通过美国国家漏洞数据库) 运行服务检查工具 -对目标所使用的操作系统进行深度检测(比端口扫描更慢,不过更加精准)。 - +对目标所使用的操作系统进行深度检测(比端口扫描更慢,不过更加精准) 登录破解工具 -一个非常快的针对多种服务登录破解工具 - +一个非常快的针对多种服务登录破解工具 数据包伪造工具 -起草并发送一个TCP或UDP包到目标。 - +编辑并发送一个TCP或UDP包到目标 端口扫描工具 - 进行一次SYN式端口扫描。 + 进行一次SYN方式式端口扫描 取得路由器控制权 -到 http://routerpwn.com/ (英语)来取得你的路由器的控制权。 - +通过 http://routerpwn.com/ (英语)来取得你的路由器控制权 跃点跟踪 - 进行一次到目标的跃点跟踪。 + 进行一次到目标的跃点跟踪 中间人攻击 进行一次到目标的中间人攻击,比如网络嗅探,流量篡改,等等… 这是你的子网掩码 - (你的网关/路由器) + (当前网关/路由器)  (此设备) - WiFi 连接已经丢失。 + WiFi 连接已经丢失! 会话劫持 - 停止嗅探并开始会话劫持? - 开始会话劫持? + 停止嗅探并开始会话劫持? + 开始会话劫持? 设置会话名称: 会话劫持工具 未追踪到的跃点 添加用户名 - 添加你想使用的用户名: + 添加你想使用的用户名: 选择字典 -无法确定文件路径,请选择另一个文件管理器。 - +无法确定文件路径,请选择另一个文件管理器! 正在尝试 剩余 - 无法确定文件路径。 - 再摁一次停止。 + 无法确定文件路径! + 再按一次停止 在读取文件时未预料的异常: 端口 - 透明代理是必须的,但其端口已经被占用。打开程序设置? - 中间人攻击的必要端口已经被占用。打开程序设置? - https中间人攻击的必要端口已经被占用。打开程序设置? - 中间人攻击需要全部的端口可用。 + 透明代理是必须的,但其端口已经被占用。是否打开程序设置? + 中间人攻击的必要端口已经被占用,是否打开程序设置? + HTTPS中间人攻击的必要端口已经被占用,是否打开程序设置? + 中间人攻击需要全部的端口可用! 远程过程调用失败 @@ -213,64 +204,64 @@ If not, see http://www.gnu.org/licenses/. Metasploit 远程过程调用守护程序已经停止 Metasploit 远程过程调用守护程序已经运行中 Metasploit 远程过程调用守护程序没有响应 -发生致命错误,正在准备发送错误报告给我的开发者。 +发生致命错误,正在准备发送错误报告给我的开发者! 如果应用程序没有自己关闭,请通过选项->应用关闭, 并通知我的开发者。 简易嗅探 - 重定向目标的网络数据使其经过此设备,并在将数据转储到pcap文件的同时显示统计信息。 + 重定向目标网络数据使其经过本设备,并将数据转储到pcap文件的同时显示统计信息 密码窃取工具 - 自目标处窃取许多协议的密码比如 http, ftp, imap, imaps, irc, msn等等。 + 自目标处窃取许多协议的密码比如 http, ftp, imap, imaps, irc, msn等等 会话劫持 - 监听在网络上的cookie并劫持会话。 + 监听在网络上的Cookie并劫持会话 终结连接 - 终结来自目标的连接已防止其访问任何网站或服务器。 - 终结连接只能被应用于一个终端(不能用于整个网段)。 + 终结来自目标的连接已防止其访问任何网站或服务器 + 终结连接只能被应用于一个终端(不能用于整个网段)! 重定向 - 将连接全部重定向到另外一个地址。 + 将连接全部重定向到另外一个地址 重定向 - 端口超出了范围。 - 地址或(和)端口不正确。 + 端口超出了范围! + 地址或(和)端口不正确! 替换图片 - 使用特定的图片替换网页上的全部图片。 + 使用指定的图片替换网页上的全部图片 选择一个来源: 本地图片 - 奇怪了,好像你并没有一个负责选择图片的程序。 + 没有一个负责选择图片的程序! 图片 输入图片的URL: - 无效的图片URL。 + 无效的图片URL! 替换视频 - 将网页上的YouTube视频全部替换成另一个。 + 将网页上的YouTube视频全部替换成另一个 视频 输入视频URL: - 无效的youtube视频。 + 无效的youtube视频! 脚本注入 - 在每一个访问的页面上注入一个脚本。 - 选择一个方式: + 在每一个访问的页面上注入一个脚本 + 请选择一种方式 本地文件 自定义代码 - 似乎你没有一个可以选择文件的文件管理器,请安装一个。 + 没有一个可以选择文件的文件管理器! 输入要注入的JS代码: - 关闭标签。]]> + 关闭标签!]]> 自定义过滤器 - 使用自定义的文字替换网页上的制定文字。 + 使用自定义的文本替换网页上的指定文本 自定义过滤器 - 无效的正则表达式 + 无效的正则表达式! 文件输出 你想保存已经嗅探的流量到pcap文件么? - 正在将流量转储 + 正在将流量转储 - 无法建立代理,请检查网络连接和端口可用性。 - 无法创建HTTPS跳转器,请检查网络连接和端口可用性。 - 无法创建资源服务器,请检查网络连接和端口可用性。 + 无法建立代理,请检查网络连接和端口可用性! + 无法创建HTTPS跳转器,请检查网络连接和端口可用性! + 无法创建资源服务器,请检查网络连接和端口可用性! 自文件加载 用户字典 密码字典 - 新会话 + 新建会话 保存会话 恢复会话 停止网络监控工具 @@ -282,18 +273,18 @@ If not, see http://www.gnu.org/licenses/. 正在初始化 … 正在激活 WiFi 接口 … - WiFi 已经激活。 + WiFi 已经激活 正在扫描 … 正在尝试连接 使用密钥 正在连接到 - 无法生成密钥。 - 扫描完成。 + 无法生成密钥! + WiFi 扫描完成 通用 模块 - Metasploit框架 + Metasploit 框架 性能 检查更新 阻止休眠 @@ -307,49 +298,49 @@ If not, see http://www.gnu.org/licenses/. HTTPS 跳转端口 HTTP 最大缓冲区大小 密码嗅探文件 - 在程序每次启动是时候检查程序更新。 - 防止设备在程序正在运行时休眠。 - 对于日志文件的全局保存路径。 - 起用或停止将错误记录到除错文件。 - 起用或停止网络代码探查器日志。 - 为在嗅探模块中显示统计时以秒计算的样本时间。 - 中间人攻击透明代理所监听的端口号, 在您无法启动其时修改。 - 中间人攻击服务器所监听的端口, 在您无法启动其时修改。 - 跳转 HTTPS 流量到 HTTP。 - 中间人攻击的 https 跳转服务器监听端口。 - 透明代理使用的最大HTTP请求缓冲区。 - 记录密码和cookie的文件名。 + 在程序每次启动是时候检查程序更新 + 防止设备在程序正在运行时休眠 + 对于日志文件的全局保存路径 + 起用或停止将错误记录到日志文件 + 起用或停止网络代码探查器日志 + 嗅探模块中显示统计以秒计算的样本时间 + 中间人攻击透明代理所监听的端口号, 在您无法启动其时修改 + 中间人攻击服务器所监听的端口, 在您无法启动其时修改 + 跳转 HTTPS 流量到 HTTP + 中间人攻击的 HTTPS 跳转服务器监听端口 + 透明代理使用的最大HTTP请求缓冲区 + 记录密码和Cookie的文件名 远程过程调用用户名 - 在Metasploit远程过程调用守护程序中使用的用户名。 + Metasploit远程过程调用守护程序中需要使用的用户名 远程过程调用密码 - 在Metasploit远程过程调用守护程序中使用的密码。 + Metasploit远程过程调用守护程序中需要使用的密码 远程过程调用端口 - 在Metasploit远程过程调用守护程序中使用的端口。 + Metasploit远程过程调用守护程序中需要使用的端口 搜索漏洞的方式 OSVDB CVE - CVE 和 OSVDB 同时 + CVE 和 OSVDB 搜索攻击方案 - 仅MSF兼容 + 仅Metasploit兼容 仅exploitdb - 同时来自exploitdb 与 MSF + 同时来自exploitdb 与 Metasploit 文件夹 - 并不存在。 - 不可写。 - 样本时间必须在 0.4 和 1.0 之间。 + 并不存在 + 不可写 + 样本时间必须在 0.4 和 1.0 之间 无效的数字。 - 端口必须在1024 和 65535 之间。 - 另一个程序已经在这个端口上监听,请换另一个。 - 缓冲区大小必须在 1024 和 104857600 之间。 + 端口必须在1024 和 65535 之间 + 另一个程序已经在这个端口上监听,请更换 + 缓冲区大小必须在 1024 和 104857600 之间 攻击方案查找工具 - 搜索对应于漏洞的攻击方案。 + 搜索对应于漏洞的攻击方案 会话 - 在已经取得控制权的目标上的会话。 + 在已经取得控制权的目标上的会话 添加 扫描 @@ -363,48 +354,48 @@ If not, see http://www.gnu.org/licenses/. 自动使用SYN扫描发现的新主机端口 规避 精确版本 - 单击会话打开终端,或长按以查看更多选项。 + 单击会话打开终端或长按以查看更多选项 打开终端 清除事件日志 运行 命令 清空 - MSF RPC 连接断开 - 该目标没有活动的会话。 + Metasploit RPC 连接断开 + 该目标没有活动的会话! 删除 - 文件损坏 - 解压失败 + 文件损坏! + 解压失败! 解压中… 单击此处来升级 您放在储存介质上的文件权限不正确,我无法对它进行读写! 恢复默认路径 选择一个自定义路径 - 目标设备不支持符号链接,请选择一个合适的文件系统。 + 目标设备不支持符号链接,请选择一个合适的文件系统! 目标已选择 目标已选择 攻击多个项目 连接到 Metasploit 从 Metasploit 断开连接 已连接到 Metasploit - 连接失败! - ruby 有更新可用 - 删除上次的位置? + 连接失败! + Ruby 有可用更新! + 删除上次的位置? 设置文件权限… 升级 RubyGems - 安装 gems… + 安装 Gems… 补丁 shebang - 安装 MSF gems + 安装 Metasploit Gems 安装 bundle - ruby gems 有更新可用 - 致命错误 - 无法为您的设备下载核心 - 无法启动更新服务 - 核心未安装,请连接互联网来初始化。 - 无法为该设备找到核心 - 此更新必要 - 核心版本 %s 可用,您希望更新吗? + RubyGems 有可用更新! + 致命错误! + 无法为您的设备下载核心! + 无法启动更新服务! + 核心未安装,请连接互联网来初始化! + 无法为该设备找到核心! + 核心是程序运行的必须依赖! + 核心版本 %s 可用,是否更新? 更新已取消 - 无法启动进程 + 无法启动进程! 更新 软件 检查软件更新 @@ -412,53 +403,49 @@ If not, see http://www.gnu.org/licenses/. 检查核心更新 Ruby 检查 Ruby 更新 - MSF - 检查 MSF 更新 + Metasploit + 检查 Metasploit 更新 RubyGems 检查 RubyGems 更新 自定义 manifest - 自定义 MSF manifest 地址 + 自定义 Metasploit manifest 地址 版本信息 多操作 重点扫描 解析主机名 - cSploit 已崩溃 - 发生了一个预料之外的错误,致使应用或其组件强制停止。请发送错误数据来帮助我们修复这个错误。 + 发生了一个预料之外的错误,致使应用或其组件强制停止,请发送错误数据来帮助我们修复这个错误! 您可以在下面描述您遇到的问题 - 检测到 JNI 库在上次崩溃,我希望您能发送错误报告。 - - Metasploit框架有更新可用 - 核心未安装, 应用将仅检查更新... #STATUS# - - 发生致命错误, 应用将仅检查更新... #STATUS# - + 检测到 JNI 库在上次崩溃,希望您能发送错误报告! + Metasploit框架有更新可用! + 核心未安装, 应用将仅检查更新... #STATUS# + 发生致命错误, 应用将仅检查更新... #STATUS# 选择一个分支: - 检查 MSF 更新 - 应用开启时自动检查 MSF 更新。 + 检查 Metasploit 更新 + 应用开启时自动检查 MSF 更新 远程过程调用主机 - 开启 MSF 远程过程调用的主机 + 开启 Metasploit 远程过程调用的主机 远程过程调用使用 SSL - 指定 MSF 远程过程调用是否应该使用SSL - MSF 目录 + 指定 Metasploit 远程过程调用是否应该使用SSL + Metasploit 目录 广泛主机扫描 扫描子网外的主机 高级 - 启用 MSF + 启用 Metasploit 启用 Metasploit 框架 - MSF 状态通知 - 显示MSF RPC连接状态 - 删除 MSF + Metasploit 状态通知 + 显示Metasploit RPC连接状态 + 删除 Metasploit 从您的设备删除 Metasploit 框架 - 包含 Metasploit 框架的文件夹。 + 包含 Metasploit 框架的文件夹 Ruby 文件夹 - 包含 Ruby 解释器的文件夹。 + 包含 Ruby 解释器的文件夹 要使用的 Metasploit 框架分支 - MSF 分支 + Metasploit 分支 Search 偏好 您确定要删除 Metasploit 框架吗? - 将大约释放 %d MB 的空间。 - 不允许创建可执行内容。 + 将大约释放 %d MB 的空间 + 不允许创建可执行内容 持续网络监控 使监控器持续监控网络 启动全部 @@ -471,5 +458,23 @@ If not, see http://www.gnu.org/licenses/. 显示详细描述 选择一项 必须 + Metasploit RPC 守护已结束 + Metasploit RPC 守护进程启动失败! + Metasploit RPC 守护进程连接失败! + 网络发现启动失败! + 应用版本 %s 可用,是否要升级? + 新的 Ruby 版本有可用更新,是否升级? + 新的 Metasploit 版本有可用更新,是否升级? + 连接丢失! + 删除当前会话并开始另一个? + 初始化错误 %s ! + 对不起,您需要允许三个权限请求! + 应用所需权限正常! + 网络接口 + 网络接口选择 + 没有可用的网络接口! + 用户名/密码 字段 + 保存 + Metasploit RPC 未连接! diff --git a/cSploit/src/main/res/values/strings.xml b/cSploit/src/main/res/values/strings.xml old mode 100644 new mode 100755 index 261c012269..00786822e6 --- a/cSploit/src/main/res/values/strings.xml +++ b/cSploit/src/main/res/values/strings.xml @@ -513,7 +513,6 @@ The JNI library has crashed previously. Reporting the circumstances leading to the crash would be appreciated. Update cancelled Cannot start process - MSF RPC daemon killed MSF RPC daemon failed to start Connection to the MSF RPC daemon FAILED! Network discovery FAILED to start! @@ -545,4 +544,6 @@ Sorry, you need to approve both permission requests. Thanks! + MSF RPC daemon killed + MSF RPC not connected diff --git a/cSploit/src/main/res/xml/preferences.xml b/cSploit/src/main/res/xml/preferences.xml index b385cb193b..d9717a8cfe 100644 --- a/cSploit/src/main/res/xml/preferences.xml +++ b/cSploit/src/main/res/xml/preferences.xml @@ -6,7 +6,7 @@ @@ -164,7 +164,7 @@ From 790b2ac83481fbe07c4d49a03545d1fdb72b7706 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?F=E3=80=82?= Date: Sun, 6 May 2018 03:58:43 +0800 Subject: [PATCH 2/2] Fix Oreo crash MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 注释掉“唤醒锁”和“WiFi”锁后,杀掉后台不会再奔溃。 --- cSploit/src/main/java/org/csploit/android/core/System.java | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/cSploit/src/main/java/org/csploit/android/core/System.java b/cSploit/src/main/java/org/csploit/android/core/System.java index f1c601989c..6fa0980dc7 100644 --- a/cSploit/src/main/java/org/csploit/android/core/System.java +++ b/cSploit/src/main/java/org/csploit/android/core/System.java @@ -161,6 +161,7 @@ public static void init(Context context) throws Exception { mServices = new HashMap<>(); mPorts = new HashMap<>(); + /** 注释掉唤醒锁和wifi锁后正常 // if we are here, network initialization didn't throw any error, lock wifi WifiManager wifiManager = (WifiManager) mContext.getSystemService(Context.WIFI_SERVICE); @@ -179,7 +180,7 @@ public static void init(Context context) throws Exception { if (!mWakeLock.isHeld()) mWakeLock.acquire(); - } + }**/ // set ports try {