`
rensanning
  • 浏览: 3548718 次
  • 性别: Icon_minigender_1
  • 来自: 大连
博客专栏
Efef1dba-f7dd-3931-8a61-8e1c76c3e39f
使用Titanium Mo...
浏览量:38149
Bbab2146-6e1d-3c50-acd6-c8bae29e307d
Cordova 3.x入门...
浏览量:607315
C08766e7-8a33-3f9b-9155-654af05c3484
常用Java开源Libra...
浏览量:682337
77063fb3-0ee7-3bfa-9c72-2a0234ebf83e
搭建 CentOS 6 服...
浏览量:89355
E40e5e76-1f3b-398e-b6a6-dc9cfbb38156
Spring Boot 入...
浏览量:401853
Abe39461-b089-344f-99fa-cdfbddea0e18
基于Spring Secu...
浏览量:69695
66a41a70-fdf0-3dc9-aa31-19b7e8b24672
MQTT入门
浏览量:91723
社区版块
存档分类
最新评论

不用登陆直接打开Titanium Studio

阅读更多
前几天由于网络的原因,appcelerator.com在中国大陆访问不了,很多开发者都不能进入大Studio中。这里为大家详细讲解如果不用输入用户名和密码直接进入到Titanium Studio中。

首先我们说说Titanium Studio是如何启动的。

大家都知道Titanium Studio是来源于appcelerator收购的Aptana,而Aptana是基于Eclipse的JavaScript开发IDE,所以他的启动过程应该完全遵守Eclipse的规则。

在扩展Eclipse的时候,如果要自定义启动界面的话,必须创建一个org.eclipse.ui.splash.AbstractSplashHandler的实现,Titanium的实现是:
引用
com.appcelerator.titanium.rcp_1.0.9.201202141208.jar
com.appcelerator.titanium.rcp.handlers.TitaniumSplashHandler


在TitaniumSplashHandler中,通过以下方法来自定义启动界面:
createLoginComposite(this.mainComp);//Login输入Form
createLinksComposite(this.mainComp);//按钮下方的链接
createProgressComposite(this.mainComp);//进度条


这里就不说他们具体的内容了,重在于创建好页面后,它启动了一个线程,在该线程中,它调用了以下代码:
          TitaniumUserManager userManager = TitaniumCorePlugin.getDefault().getUserManager();
          userManager.loadSignedInUser();
          if (userManager.getSignedInUser() == null)
          {
            TitaniumSplashHandler.this.status = TitaniumSplashHandler.Status.USER_NOT_LOADED;
          }
          else
          {
            TitaniumSplashHandler.this.status = TitaniumSplashHandler.Status.USER_LOADED;
          }


所以可想而知,是在TitaniumUserManager类中,做的认证。
TitaniumUserManager.class在以下文件夹下:
引用
plugins\com.appcelerator.titanium.core_1.0.7.1328807407\com\appcelerator\titanium\core


TitaniumUserManager类中的代码大家应该都能看懂,不是很复杂!如果我们能够反编译这个类后,修改其中的认证过程,就能实现Studio的crack。但是发现这个类的处理还是比较多,我们把重点放在,loadSignedInUser方法中的以下代码上:
boolean byPassLogin = EclipseUtil.isSystemPropertyEnabled("titanium.bypassAuthentication");


取到这个值后:
      if (byPassLogin)
      {
        if (username != null)
        {
          this.user = new TitaniumUser(username, password);
        }
        else
        {
          this.user = new TitaniumUser("anonymous", null);
        }
      }

可见在byPassLogin为True,username为空的时候,他会创建一个anonymous的TitaniumUser。那么我们就可以想办法把“titanium.bypassAuthentication”属性的值设置为true即可。

查看EclipseUtil.isSystemPropertyEnabled()方法,我们发现这个类很容易被Crack。

只需要在isSystemPropertyEnabled方法中,追加一下代码:
if("titanium.bypassAuthentication".equals(option)) {
	return true;
}


试着我们反编译EclipseUtil代码,修改isSystemPropertyEnabled方法后,再放回com.aptana.core_3.0.4.1325689477.jar中,覆盖plugins中的jar文件后在启动。
你就会看到不用输入用户名和密码了,直接进入了Studio中,至此,大功告成!



注意上图右下角以前是登陆用户名,现在变成了“Sign out”.

类似像“titanium.bypassAuthentication”这样的key还有“titanium.hideDashboard”,“titanium.dashboardUrl”等,如果需要你也可以这么来修改!

代码和编译好的com.aptana.core_3.0.4.1325689477.jar,从这里下载后用。

  • 大小: 36.7 KB
  • 大小: 71.4 KB
2
0
分享到:
评论
4 楼 fangl99 2013-09-04  
你都已经看到是读取SystemProperty了,直接修改TitaniumStudio.ini
加上-Dtitanium.bypassAuthentication=true就行了
3 楼 小威哥 2012-07-14  
你小子强啊,我要是官方的人肯定把你招募了,让你做大陆的推广,顶你。
2 楼 ghyghoo8 2012-04-05  
帅气!!!
1 楼 无影K 2012-03-31  
厉害。。。

相关推荐

    Titanium Studio

    Titanium Studio 开发工具安装包,用于开发mobile程序,这是part04

    titanium 打开本地网络

    在涉及到“titanium 打开本地网络”的话题时,我们主要关注的是如何在Titanium应用程序中检测和管理本地网络状态。 一、Titanium的网络检测 在Titanium中,可以使用`Ti.Network`模块来检查设备的网络状态。这个...

    Titanium环境搭建

    现在,您可以打开Titanium Studio,创建新的项目,开始编写跨平台的移动应用代码。在Titanium Studio中,你可以利用其内置的模拟器或连接实际设备进行应用的调试和测试。 请注意,随着软件更新,这些下载链接和具体...

    Titanium资料

    这个“Titanium 资料”压缩包包含了几个关键的学习资源,帮助开发者深入理解和掌握 Titanium Studio 开发工具以及 Titanium 的核心 API。 首先,`API_UIViewClass.pdf` 涉及到的是 Titanium 中的 UIView 类。UIView...

    MaterialControls:Titanium Studio 的材料设计控件

    MaterialControls 是一个专门为 Titanium Studio 开发的库,它遵循 Google 的 Material Design 指南,为应用程序提供了一套与 Google 的设计哲学一致的用户界面(UI)控件。Material Design 是一套全面的设计语言,...

    Titanium plugin开发初探

    - IDE:推荐使用 Appcelerator Studio 或 Visual Studio Code,它们提供了良好的 Titanium 支持。 **3. 创建插件项目** 创建插件项目通常包括以下步骤: 1. 使用 `titanium create` 命令行工具生成新项目,选择 ...

    Titanium中文版开发手册

    这一章节探讨了在没有控制器的情况下如何直接在XML中编写视图逻辑。 8. **Alloy Data Binding(Alloy数据绑定)** 数据绑定是Alloy的一大亮点,它允许开发者动态地将数据模型与UI元素关联起来。当数据改变时,UI会...

    TitaniumBackup_6.0.5.1

    《TitaniumBackup_6.0.5.1:专业版的安卓备份与恢复解决方案》 在安卓设备的管理和维护中,数据备份与恢复是至关重要的环节。TitaniumBackup_6.0.5.1,这款专业版应用,以其强大的功能和高效的操作,为用户提供了...

    Titanium Backup Pro 8.0.0.apk

    钛备份 Titanium Backup,备份你的程序及程序数据,并支持定时备份等功能。 功能很强大,有此软件,不管你的格机还是重刷ROM,在重装软件时都是无痛的,非实适用经常捣鼓手机有机友! 解锁器使用说明: 1.安装钛...

    Titanium Mobile API

    ### Titanium Mobile API 知识点详解 #### 一、Titanium Mobile API 概述 Titanium Mobile API 是一款由 Appcelerator 公司提供的用于跨平台移动应用开发的强大工具包。该工具允许开发者使用 JavaScript 编写应用...

    Titanium Backup_3.7.4捐赠完全版

    Titanium Backup_3.7.4捐赠完全版

    [Titanium] Appcelerator Titanium 移动应用开发教程 (英文版)

    [Packt Publishing] Appcelerator Titanium 移动应用开发教程 (英文版) [Packt Publishing] Creating Mobile Apps with Appcelerator Titanium (E-Book) ☆ 图书概要:☆ Develop fully-featured mobile ...

    vscode-appcelerator-titanium:用于Visual Studio Code的Appcelerator开发工具和UI包

    适用于Visual Studio代码的Appcelerator Titanium程序包 适用于Appcelerator Titanium构建工具和附加编辑器。安装通过浏览器点击“安装”在VS Code中打开扩展视图,输入Titanium 通过Axway选择“ Titanium”扩展名...

    titanium-d1-kickstart.6.1.1

    titanium-d1-kickstart.6.1.1.gbin 强大的思科模拟器

Global site tag (gtag.js) - Google Analytics