首页 » 技术技巧

iphone app开发详解

2010-03-06添加评论

iphone app开发详解
1. iPhone手机介绍
首先需要了解和破解iPhone手机,下面一个帖子介绍很详细:
iPhone最权威 [入门] [破解] [扫盲] [资源] [修砖] 总汇帖
http://www.weiphone.com/thread-41690-1-1.html
iPhone手机手册的中文翻译
http://down.tgbus.com/soft/16820.shtml
2. Unix常见命令
iPhone手机的操作系统是Mac OS X,内核是unix,所以可以iPhone手机上运行unix命令。
http://www.weiphone.com/thread-15894-1-1.html
3. Windows平台上iPhone开发环境搭建
见笔者的文章《Windows平台上iPhone基于cygwin开发环境的搭建方 法》,文件链接:
http://canco.javaeye.com/admin/blogs/199106
4. Toolchain和iPhone SDK
Toolchain与官方iPhone SDK的比较请见文章:
《比较官方iPhone SDK和开源工具链》,文章链接:http://www.cocoachina.com/index.php/archives/cocoachina_149.html
iPhone SDK介绍和分析
见西西河的AllenKids先生的2篇文章:
iPhoneSDK观察 – 舞姿飘忽,苹果的探戈
http://www.20ju.com/content/V19377.htm
iPhone SDK 观察二:舞台宽广,才能跳得欢畅
http://www.cnbeta.com/articles/55055.htm
iPhone SDK, Toolchain, Windows Mobile, SymbianOS S60的比较
http://www.rsslite.com/post/1889.html
iPhone用户界面指导原则
http://www.20ju.com/content/V22381.htm
5. iPhone开发语言:Objective-C
iPhone原生程序开发语言主要是用Objective-C语言,如果你熟悉 C/C++语言,则能很快掌握Objective-C。Objective-C语言主要要理解可变参数,Categories, Posing, Protocols等特性。
Objective-C初學者指南(繁体)
http://www.otierney.net/objective-c.html.zh-tw.big5Objective- C语法快速参考
http://www.cocoachina.com/index.php/archives/cocoachina_122.html
Learn Objective-C
http://cocoadevcentral.com/d/learn_objectivec/
The Objective-C 2.0 Programming Language
http://developer.apple.com/iphone/(注:需要注册为apple会员才可以下载)
6. iPhone开发书籍、文章和源代码
由iPhone开发和破解领路人Jonathan Zdziarski著作,最最重要、最值得推荐和唯一的开发书籍《iPhone Open Application Development》,可通过google下载电子版。
Creating an iPhone Application
iPhone OS Overview
iPhone OS Programming Guide
iPhone Human Interface Guidelines
Cocoa Fundamentals Guide
http://developer.apple.com/iphone/(注:需要注册为apple会员才可以下载)
Lucas [...]

Web压力测试工具 Microsoft Web Application Stress Tool下载

2010-01-27添加评论

以下是 Microsoft 提供的 Web 压力工具:
Web Capacity Analysis Tool(Web 能力分析工具)IIS 6.0 资源工具包工具中包括 WCAT 5.2。要下载 IIS 6.0 资源工具包工具,请访问下面的 Microsoft 网站:
(http://www.microsoft.com/downloads/details.aspx?FamilyID=56fc92ee-a71a-4c73-b628-ade629c89499&DisplayLang=en)
Web Application Stress Tool(Web 应用程序压力工具)要下载 Web Application Stress Tool(Web 应用程序压力工具),请访问下面的 Microsoft 网站:
(http://www.microsoft.com/downloads/details.aspx?FamilyID=e2c0585a-062a-439e-a67d-75a89aa36495&DisplayLang=en)
使用这些工具,您可以对 Web 服务器进行压力测试,以查看它在成百上千个用户在高峰时间访问应用程序时的反应。您也可以使用这些工具来测试服务器端组件,以查找性能、锁定以及其他扩展性问题。还可以针对并发性、事务、用户数、锁定、池等参数,对依赖于数据库的 Web 应用程序进行测试。
Web压力测试是目前比较流行的话题,利用Web压力测试可以有效地测试一些Web服务器的运行状态和响应时间等等,对于Web服务器的承受力测试是个非常好的手法。Web 压力测试通常是利用一些工具,例如微软的Web Application Stress、Linux下的siege、功能全面的Web-CT等等,这些都是非常优秀的Web压力测试工具。
虽然这些工具给我们测试服务器承受能力带来方便,但是它们的危害却更是惊人,甚至于利用随便一种比较全面的测试工具就可以对一台小型的 Web服务器发动灾难性的拒绝式攻击。下面我就带大家利用微软的Web Application Stress进行一次Web压力测试,其目的是为了让大家看到它的巨大危害。
一、工具简单介绍
Microsoft Web Application Stress Tool 是由微软的网站测试人员所开发,专门用来进行实际网站压力测试的一套工具。透过这套功能强大的压力测试工具,您可以使用少量的客户端计算机仿真大量用户上线对网站服务所可能造成的影响,在网站实际上线之前先对您所设计的网站进行如同真实环境下的测试,以找出系统潜在的问题,对系统进行进一步的调整、设置工作。就是因为这些特性,才使它具备了D.O.S轰炸的功能。
小提示:D.O.S(拒绝服务攻击)通过使你的服务计算机崩溃或把它压跨来阻止你提供服务。简单来说,就是让你的计算机提供可能多的服务从而使你的计算机陷入崩溃的边缘或崩溃。
二、工具简单设置
打开Web Application Stress Tool,很简洁的一个页面(如图1),上面是工具栏,左下方是功能选项,右下方是详细设置选项。在对目标Web服务器进行压力测试之前,先对它进行一些必要的设置。
图1

1. 在“settings”的功能设置中(如图2),一个是Stress level (threads)这里是指定程序在后台用多少线程进行请求,也就是相当于模拟多少个客户机的连接,更加形象的就是说设置多少轰炸的线程数。一般填写 500~1000,因为这个线程数是根据本机的承受力来设置的,如果你对自己的机器配置有足够信心的话,那么设置的越高,轰炸的效果越好。
图2

2.在“Test Run Time”中来指定一次压力测试需要持续的时间,分为天、小时、分、秒几个单位级别,你根据实际情况来设置吧!
3.其余的选项不太重要,这里就不再浪费笔墨,朋友们可以自己尝试一下设置。
三、压力测试
工具介绍完了,下面来准备条件:这里与一个朋友商量好进行测试,他是单机上网,机器配置是CPU:Athlon XP2500+、内存512MB、硬盘80GB等,机器配置还不错。他在机器上安装了IIS,架设了一台对外的Web服务器,Web服务中的程序是动网 7.0。我就利用压力测试工具对这台服务器进行测试。
步骤1:在工具中点右键,选择Add命令,增加了一个新的测试项目:New [...]

Worm.Win32.Kido网络蠕虫病毒 KidoKillerv3.1完美查杀下载

2009-12-08添加评论

最近公司中了 Worm.Win32.Kido 网络蠕虫病毒 很是郁闷很难查杀 360安全卫士和杀毒基本查不出来。
用卡巴斯基查出是 Intrusion.Win.NETAPI.buffer-overflow.exploit 网络攻击 ,原因是微软补丁没有及时打上。
时间  攻击描述 源 协议 本地端口
—- ——– — —- ——–
2009-12-8 11:22:39 Intrusion.Win.NETAPI.buffer-overflow.exploit 192.168.0.2 TCP 445
2009-12-8 11:27:14 Intrusion.Win.NETAPI.buffer-overflow.exploit 192.168.0.78 TCP 445
查了很多资料,发现KidoKiller_v3.1专杀工具可以查杀。问题解决,不错!
不要忘记打上微软补丁:http://www.microsoft.com/downloads/details.aspx?displaylang=zh-cn&FamilyID=2996b9b6-03ff-4636-861a-46b3eac7a305
KidoKiller_v3.1专杀工具地址:http://www.looooking/attachments/month_0712/KidoKiller_v3.1.zip

用户sa登录失败,该用户与可信sql server连接无关联

2009-11-25添加评论

SQLSERVER 2005采用’SQLSERVER身份验证’去登录, 出错的原因是:’用户 ’sa’ 登录失败。该用户与可信 SQL Server 连接无关联’.今天上网上查了半天才搞定的。
具体的方法是:   
1:打开SQL Server Manager管理器!在左面找到 ‘安全性’ 单击右键 选择‘新建”,“登录” 弹出一个对话框,在登录名中输入你的登录号,选择’SQLSERVER身份验证’,并输入密码,可以把‘用户下次登录时必须修改密码’取消掉。 点击‘用户映射’,在右面选择要映射的数据库,并在前面打勾!在下面一栏中‘db-owner’和‘public’前面打勾。然后点击'状态'在右面栏中选中"授予"、“启用”,这两项一般是默认的,但如果默认的不是此两项必须改过来,不然是连不上的!点击‘确定’。
2:找到SQL服务器,在左栏中上面,单击右键,在弹出的菜单中选择“属性”命令。弹出一个对话框,单击“安全性”,在“服务器身份验证”下面选择“SQL SERVER和WINDOWS身份验证模式”,在前面打勾!记得这一步很重要,如果没有这一步你就别想登录成功!然后单击“确定”就可以了!
3:重新启动服务就可以选择SQL SERVER 身份验证模式登录了!输入刚才的用户名和密码就可以登录成功了!(重新启动服务)

用VS2005打开方案出现“此安装不支持该项目类型” 解决方案

2009-11-09添加评论

当在用VS2005打开已有项目时常会出现“此安装不支持该项目类型”。出现此原因是因为已有项目是在打了VS 2005 SP1补丁后编写的,所以在没有打补丁的.net中会出现此种情况、下面就补丁下载:
VS80sp1-KB926604-X86-CHS.exe
在安装sp1时,碰到 “无法使用此产品的安装源,请确认安装源存在,并且您可以访问它”的错误时:
    解决方法一:
    1.打开注册表编辑器,找到:HKEY_LOCAL_MACHINE\Software\Policies
\Microsoft\Windows\Safer\CodeIdentifiers
    2.将 PolicyScope 的注册表值从0改为1。(没有就新建一个)
    3.在命令行中执行 net stop msiserver,停止 Windows Installer 服务。
    4.安装 SP1。
    5.装完后,把步骤2中的 PolicyScope 值改回为 0.
    方法二:
    如果以上步骤不能解决该问题,请按照下列步骤操作:
    1.管理工具-》本地安全设置-》软件限制策略。(如果如果没有软件限制,右击“软件限制策略”,新建一个。)
    2.“对象类型”下双击“强制”,将第2个单选组从“所有用户”改为“除本地管理员以外的所有用户”。
    3.重启,安装 SP1。
    4.再恢复原先设置。

VS2005打开VS2008建的解决方案

2009-11-09添加评论

1、必须应的是.Net Framework 2.0创建的项目,才能转换。
2、修改*.sln中的Microsoft Visual Studio Solution File, Format Version 10.00# Visual Studio 2008 为修改为Microsoft Visual Studio Solution File, Format Version 9.00# Visual Studio 2005 此时可以打开项目了。3、找到*.csproj文件修改 :<Project ToolsVersion=”3.5″ DefaultTargets=”Build” xmlns=”http://schemas.microsoft.com/developer/msbuild/2003″> 为<Project DefaultTargets=”Build” xmlns=”http://schemas.microsoft.com/developer/msbuild/2003″> 修改:<Import Project=”$(MSBuildToolsPath)Microsoft.CSharp.targets” /> 为:<Import Project=”$(MSBuildBinPath)Microsoft.CSharp.targets” /> 修改:<Import Project=”$(MSBuildExtensionsPath)MicrosoftVisualStudiov9.0WebApplicationsMicrosoft.WebApplication.targets” />为:<Import Project=”$(MSBuildExtensionsPath)MicrosoftVisualStudiov8.0WebApplicationsMicrosoft.WebApplication.targets” />
在网上找个一个大虾写的 转换VS2008的项目到VS2005版本的小工具 给大家共享一下。

.NET设计模式_工厂模式

2009-10-22添加评论

工厂模式定义:提供创建对象的接口.
  为何使用?
  工厂模式是我们最常用的模式了,著名的Jive论坛 ,就大量使用了工厂模式,工厂模式在Java程序系统可以说是随处可见。
  为什么工厂模式是如此常用?因为工厂模式就相当于创建实例对象的new,我们经常要根据类Class生成实例对象,如A a=new A() 工厂模式也是用来创建实例对象的,所以以后new时就要多个心眼,是否可以考虑使用工厂模式,虽然这样做,可能多做一些工作,但会给你系统带来更大的可扩展性和尽量少的修改量。
  我们以类Sample为例, 如果我们要创建Sample的实例对象:
  Sample sample=new Sample();
  可是,实际情况是,通常我们都要在创建sample实例时做点初始化的工作,比如赋值 查询数据库等。
  首先,我们想到的是,可以使用Sample的构造函数,这样生成实例就写成:
  Sample sample=new Sample(参数);
  但是,如果创建sample实例时所做的初始化工作不是象赋值这样简单的事,可能是很长一段代码,如果也写入构造函数中,那你的代码很难看了(就需要Refactor重整)。
  为什么说代码很难看,初学者可能没有这种感觉,我们分析如下,初始化工作如果是很长一段代码,说明要做的工作很多,将很多工作装入一个方法中,相当于将很多鸡蛋放在一个篮子里,是很危险的,这也是有背于Java面向对象的原则,面向对象的封装(Encapsulation)和分派(Delegation)告诉我们,尽量将长的代码分派“切割”成每段,将每段再“封装”起来(减少段和段之间偶合联系性),这样,就会将风险分散,以后如果需要修改,只要更改每段,不会再发生牵一动百的事情。
  在本例中,首先,我们需要将创建实例的工作与使用实例的工作分开, 也就是说,让创建实例所需要的大量初始化工作从Sample的构造函数中分离出去。
  这时我们就需要Factory工厂模式来生成对象了,不能再用上面简单new Sample(参数)。还有,如果Sample有个继承如MySample, 按照面向接口编程,我们需要将Sample抽象成一个接口.现在Sample是接口,有两个子类MySample 和HisSample .我们要实例化他们时,如下:
  Sample mysample=new MySample();
  Sample hissample=new HisSample();
  随着项目的深入,Sample可能还会”生出很多儿子出来”, 那么我们要对这些儿子一个个实例化,更糟糕的是,可能还要对以前的代码进行修改:加入后来生出儿子的实例.这在传统程序中是无法避免的.
  但如果你一开始就有意识使用了工厂模式,这些麻烦就没有了.
  工厂方法
  你会建立一个专门生产Sample实例的工厂:
  public class Factory{
  public static Sample creator(int which){
  //getClass 产生Sample 一般可使用动态类装载装入类。
  if (which==1)
  return new SampleA();
  else if (which==2)
  return new SampleB();
  }
  }
  那么在你的程序中,如果要实例化Sample时.就使用
  Sample sampleA=Factory.creator(1);
  这样,在整个就不涉及到Sample的具体子类,达到封装效果,也就减少错误修改的机会,这个原理可以用很通俗的话来比喻:就是具体事情做得越多,越容易范错误.这每个做过具体工作的人都深有体会,相反,官做得越高,说出的话越抽象越笼统,范错误可能性就越少.好象我们从编程序中也能悟出人生道理?呵呵.
  使用工厂方法 要注意几个角色,首先你要定义产品接口,如上面的Sample,产品接口下有Sample接口的实现类,如SampleA,其次要有一个factory类,用来生成产品Sample,如下图,最右边是生产的对象Sample:
  进一步稍微复杂一点,就是在工厂类上进行拓展,工厂类也有继承它的实现类concreteFactory了。
  抽象工厂
  工厂模式中有: 工厂方法(Factory Method) 抽象工厂(Abstract Factory).
  这两个模式区别在于需要创建对象的复杂程度上。如果我们创建对象的方法变得复杂了,如上面工厂方法中是创建一个对象Sample,如果我们还有新的产品接口Sample2.
  这里假设:Sample有两个concrete类SampleA和SamleB,而Sample2也有两个concrete类Sample2A和SampleB2
  那么,我们就将上例中Factory变成抽象类,将共同部分封装在抽象类中,不同部分使用子类实现,下面就是将上例中的Factory拓展成抽象工厂:
  public abstract class Factory{
  public abstract Sample creator();
  public abstract Sample2 creator(String name);
  }
  public class SimpleFactory extends [...]

Google推出IE版Chrome Frame插件 微软你该怎么办?

2009-09-26添加评论

  据Google Chrome博客报道,Google为了争夺IE浏览器的市场份额,推出了一个专门针对IE 6,7,8等版本的浏览器插件Google Chrome Frame,可以让用户的浏览器外观依然是IE的菜单和界面,但用户在浏览网页时,实际上使用的是Google Chrome浏览器内核。
  不过Google这样做也是一把双刃剑,如果微软利用的好,会让IE用户更加稳固。毕竟用户不知道浏览器的内核是什么,大多数人们看到的是前台界面而已。
  在运行插件之后,用户的IE浏览器将获得Chrome的性能和功能。它将使用Chrome的WebKit引擎处理网页,另外也支持IE所没有的HTML5网页标准。当用户安装好Google Chrome Frame后,在地址前加cf: 即可使用WebKit 核心浏览页面,例如:cf:http://www.looooking.cn/
  微软对Google Chrome Frame发表评论称,不建议IE的用户安装Chrome Frame,微软声称Chrome Frame会让IE的安全性变差,使得IE受到恶意软件、脚本攻击的可能性增大了一倍。
  另外,在Chrome诞生一周年之际,Google推出了3.0稳定版,该版本对于中文字体的渲染效果明显优于Chrome的2.0版本,建议中文用户立即升级。
  点击下载Google Chrome Frame:http://code.google.com/chrome/chromeframe

手把手教你破解软件,适合从来没接触过软件破解或编程的同志学习

2009-08-22添加评论

声明:此贴适合从来没接触过软件破解或编程的同志学习
我要破解的软件:网络填表终结者
破解需要的软件:侦壳 language.exe          脱壳AspackDie.exe 
                            反编译 W32Dasm黄金中文版   16进制编辑器 UltraEdit
在破解之前先复习一下基础知识:
一、破解的等级
初级-修改程序,用ultraedit修改exe文件,称暴力破解,简称爆破
中级-追出软件的注册码
高级-写出注册机
二、用w32dasm破解的一般步骤:
1、看软件的说明书,软件注册与不注册在功能上有什么区别,如何注册
2、运行此软件,试着输入你的姓名和任意注册码去注册,有什麽错误
提示信息,将错误提示信息记下来
3、侦测有无加壳(第一课).若加壳,脱壳(第二课)
4、pw32dasmgold反汇编
5、串式参考中找到错误提示信息或可能是正确的提示信息双击鼠标左键
6、pw32dasmgold主窗口中分析相应汇编,找出关键跳转和关键call
7、绿色光条停在关键跳转,在pw32dasmgold主窗口底部找到关键跳转
的偏移地址(实际修改地址)
8、用ultraedit找到偏移地址(实际修改地址)修改机器码,保存
壳的概念:版权信息需要保护起来,不想让别人随便改动,exe可执行文件压缩,最常见的加壳软件ASPACK ,UPX,PEcompact
脱壳:拿到一个软件,侦测它的壳,然后我们要把它的壳脱去,还原它的
本来面目.若它没有加壳,就省事不用脱壳了.脱壳软件
unaspack,caspr,upx,unpecompact,procdump
实际修改地址(偏移地址)和行地址(虚拟地址)
pw32dasmgold反汇编出来的代码由三列组成
第一列 行地址(虚拟地址)
第二列 机器码(最终修改时用ultraedit修改)
第三列 汇编指令
第一列    第二列    第三列
:0041BE38 2B45F0    sub eax, dword ptr [ebp-10] 
:0041BE3B 6A42      push 00000042 
:0041BE3D 50        push eax 
:0041BE3E FF75F4    push [ebp-0C] 
:0041BE41 FF75F0    push [ebp-10] 
:0041BE44 FF35A8AB4400 push dword ptr [0044ABA8] 
两种不同情况的不同修改方法:
1、修改为jmp
je(jne,jz,jnz) =>jmp相应的机器码EB (出错信息向上找到的第一个跳转)jmp的作用是绝对跳,无条件跳,从而跳过下面的出错信息
2、修改为nop
je(jne,jz,jnz) =>nop相应的机器码90 (正确信息向上找到的第一个跳转) nop的作用是抹掉这个跳转,使这个跳转无效,失去作用,从而使程序顺利来到紧跟其后的正确信息处
————————————————————————————————————————————————————————————————————————————————————–
破解之旅
 
1、侦壳:先打开侦壳 language.exe,选择打开—-找到要破解的网络填表终结者:FormGhost.exe,点确定,如图1。language.exe便显示出软件的壳是:Aspack,如图2。

2、脱壳:双击脱壳AspackDie.exe,出现一个对话框,选择网络填表终结者:FormGhost.exe,打开。如图3。出现图4框,点确定脱壳完成。在网络填表终结者:FormGhost.exe同目录下生成一个unpacked.exe文件,这就是脱壳后的FormGhost.exe。

3、运行脱壳后的unpacked.exe,点帮助—-注册,图9。注册名称,注册码随便添。图10。点注册,提示:“注册码错误”图11,好了记住这5个字。关了它。

大家可以看见,这个:

4、开始反汇编:打开 反编译 W32Dasm黄金中文版,选择反汇编—-打开脱壳后的unpacked.exe,变开始加载。如图5。图6。

返汇编之后如图7。点击上面的参考—-串式参考如图8

出现这个对话框图12。找到“注册码错误”,双击它,汇编主程序便来到这里:图13

(注意:正确注册信息在错误信息之上)关闭串式参考框。看主程序:图14。从注册码错误向上找到第一个跳转(关键跳,除了jmp的其它跳:je,jne,jz,jnz),来到这里图15

(它上面的call叫关键call。),双击关键跳,看软件最下面有一行字:Line:379267 Pg 7586 of 7626 Code Data@004ACB4B@Offset 00ACB4BH in File:unpacked.exe.其中@Offset 00ACB4BH就是偏移地址,记住00ACB4B(后面的h代表16进制,不用管他),图16

5、开始修改软件:打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,来到图19。

前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。图20。(如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件—另存为unpacked222.exe

6、关闭所以软件,运行另存的unpacked222.exe,点帮助—注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰色了,图22

7、破解全部完成。

Godaddy主机安装Zend方法

2009-08-16添加评论

有关Godaddy主机在PHP5的环境下安装Zend方法:
1. 下载 Linux x86 (32 bit) 版本的 Zend optimizer 源文件(http://downloads.zend.com/optimizer/…23-i386.tar.gz ),然后将其解压,需要解压两次,得到ZendOptimizer-3.3.3-linux-glibc23-i386 文件夹,在其文件夹下面有一个 data 目录,将 data 目录改名为 _zend ,以方便自己区分。然后将 _zend 包含目录及其目录下所有文件上传到 Godaddy 空间的根目录。
2. 登录FTP,将根目录的php.ini下载到本地,并改名为php5.ini!
3. 打开php5.ini,删除 [Zend] 后面的内容,然后在最后面加上以下内容:
php5.ini代码
1.zend_optimizer.optimization_level=15
2.zend_extension=/home/content/k/a/l/kalvin/html/_zend/5_2_x_comp/ZendOptimizer.so
3.zend_extension_ts=/home/content/k/a/l/kalvin/html/_zend/5_2_x_comp/TS/ZendOptimizer.so
特别注意:上面的 /k/a/l/kalvin/ 这个目录是需要自己修改的,分别是你登录Ftp用户名的前三个字符及完整的Ftp用户名组成,具体可以从phpinfo中查看到。

当前第 1 / 18 页 : 1234»最后 »