本文目录一览:
怎么破解收费软件
破解需要的软件(点击下载): 侦壳 language.exe 脱壳AspackDie.exe 反编译 W32Dasm黄金中文版 16进制编辑器 UltraEdit.rar 在破解之前先复习一下基础知识: 一.破解的等级 初级,修改程序,用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修改) 第三列 汇编指令 两种不同情况的不同修改方法 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,5,开始修改软件:打开16进制编辑器 UltraEdit.rar,(有点慢)图17。打开脱壳后的unpacked.exe,直接按ctrl+g,出现对话框,输入0xacb4b(即偏移地址,不要前面的000)图18。点确定,前面说过正确注册信息在错误信息之上,所以这里将of85改为of84。图20。(如果正确注册信息在错误信息之下,这里改为eb)。将光标移到5上直接输入数字4即可,其他地方不要动。好了,改好只后左上角的文件---另存为unpacked222.exe6,关闭所以软件,运行另存的unpacked222.exe,点帮助---注册,注册名称,注册码随便添,点确定,提示注册完成。图21。回到软件界面看看,帮助,注册一项已经变为灰色了。
破解收费吗?
已经公开的许多破解并不收费,但你想找人帮你破解特别的东西,当然要收费了。
怎么用手机破解收费游戏????
手机不可以破我给你个破解办法 去除java游戏中的短信操作的简单教程魔掌游戏
首先来了解下利用java实现短信发送的原理,这个使用的是j2me的可选包Wireless Messaging API(WMA,JSR120)来进行操作的,这是个敏感API,在未取得授权或认证,使用之前必须提示使用者是否要进行操作。对于有的型号的手机可以直接设置程序是否可以进行短信操作。所以一般来说,不会出现无缘无故发出短信而扣费的情况,除非你设置了总是允许操作这项(相信没几个人会这么做)。当然很多免费短信软件如悠信,XROSE什么的都是利用的这个API啦。
由于设置了短信的游戏中目的只是为了收费,而且一般一条短信的价格都不菲,但是很多地方不发短信又无法继续进行游戏,那么,如果想继续免费玩下去,就得对短信操作进行处理。(一般来说发短信和连网不一样,不是必须发才可以实现结果的,同样是进下一关,网络下载就是必须进行的操作,而短信买关就不一样,那关其实是存在的,但是必须进行这一操作才可继续玩)
首先是工具,必备的工具就是java反编译软件,UE或HEX等16进制编辑器,另外为了方便查看字节码还需要jclasslib。
首先我们来看一段代码,一般的短信发送都是类似的,当然,你也可以利用这个自己写个免费发短信的东西:)
import java.io.IOException;
import java.io.PrintStream;
import javax.microedition.io.Connection;
import javax.microedition.io.Connector;
import javax.wireless.messaging.*;
class SMSXX
{
String ph;
String s = "发送的内容";
boolean isSend = false;
void sendSms()
{
MessageConnection messageconnection = null;
try
{
String s1 = "sms://" + phoneNum;
TextMessage textmessage;
(textmessage = (TextMessage)(messageconnection = (MessageConnection)Connector.open(s1)).newMessage("text")).setAddress(s1);
textmessage.setPayloadText(s);
messageconnection.send(textmessage);
doSendOk();
}
catch(IOException _ex)
{
doSendFalse(); }
}
void doSendOk()
{
System.out.println("Send Ok");
isSend = true;
}
void doSendFalse()
{
System.out.println("Send False");
isSend = false;
}
}
通常,发送成功之后会有个判断或者是进行接着的方法,有的发送的方法本身就返回boolean变量,如果发送成功就返回true,反之就返回false。上面的例子属于一般情况,我们可以用以下几个思路来考虑。
1.发送成功后会运行doSendOk()方法,而发送失败就会运行doSendFalse(),那么我们只要把这两个方法的位置换一下,那么即使发送失败,那么程序仍然会运行doSendOk()方法。我们用jclasslib打开该class,然后查看sendSms()方法,看字节码:
0 aconst_null
1 astore_1
2 new #31 java/lang/StringBuffer
5 dup
6 ldc #33 sms://
8 invokespecial #36 java/lang/StringBuffer.init
11 aload_0
12 getfield #18 SMSXX.phoneNum
15 invokevirtual #40 java/lang/StringBuffer.append
18 invokevirtual #44 java/lang/StringBuffer.toString
21 astore_2
22 aload_2
23 invokestatic #50 javax/microedition/io/Connector.open
26 checkcast #52 javax/wireless/messaging/MessageConnection
29 dup
30 astore_1
31 ldc #54 text
33 invokeinterface #58 javax/wireless/messaging/MessageConnection.newMessage count 2
38 checkcast #60 javax/wireless/messaging/TextMessage
41 dup
42 astore_3
43 aload_2
44 invokeinterface #65 javax/wireless/messaging/Message.setAddress count 2
49 aload_3
50 aload_0
51 getfield #22 SMSXX.s
54 invokeinterface #68 javax/wireless/messaging/TextMessage.setPayloadText count 2
59 aload_1
60 aload_3
61 invokeinterface #72 javax/wireless/messaging/MessageConnection.send count 2
66 aload_0
67 invokevirtual #75 SMSXX.doSendOk
70 goto 78 (+8)
73 astore_2
74 aload_0
75 invokevirtual #78 SMSXX.doSendFalse
78 return
我们需要利用的就是67行和75行这两段,我们只要把这两段的位置换一下就OK。用HEX打开,定位(怎么定位请看我的另一篇文章,快速定位需要修改的16进制位置),
67行为:B6004B
75行为:B6004E
我们把004B和004E两个位置换下,保存,然后反编译看看,是不是OK了,接下来我们要做的是为了确保不发出短信出去(当然在有提示的时候按否也是一样的,但是为防止按错还是保险起见)把sms://这个改成其他字符吧,比如kim:// :),这样一运行到发短信的地方就发生异常,程序就运行catch中的doSendOk()了。
另外一种思路要你对流程很了解,不直接修改发送的代码,而是看doSendOk()和doSendFalse()这两个方法,既然发不出去会运行doSendFalse(),而doSendFalse()和doSendOk()二者只是一个变量的区别,那么我们把doSendFalse()中的 isSend = false改成 isSend = true,不就是和doSendOk()只是方法名之间的区别了吗,同样道理,改完后再把sms改成其他东西。(具体过程略,大家自己想想吧)。
首先讲下软件,需要下载一个名为:jclasslib的软件,并且需要安装JDK,下载下来的jclasslib一般是个压缩包,解压后目录下会有个名为bin的文件夹,里面的jclasslib.exe就是可执行文件。打开该文件,界面很清楚,选择打开我们需要修改的class文件。
比如我们需要修改的文件有这样一段代码:
public boolean a(String s1, String s2)
{
MessageConnection messageconnection = null;
boolean flag = true;
try
{
String s3 = "sms://" + s1;
messageconnection = (MessageConnection)Connector.open(s3);
TextMessage textmessage = (TextMessage)messageconnection.newMessage("text");
textmessage.setAddress(s3);
textmessage.setPayloadText("LS " + s2);
messageconnection.send(textmessage);
}
catch(Throwable throwable)
{
flag = true;
}
if(messageconnection != null)
{
try
{
messageconnection.close();
}
catch(Exception exception)
{
return true;
}
return flag;
} else
{
return true;
}
}
如果我们想把所有的true改成false。
在打开的class文件中左边会看到一系列菜单:
分别表示常量池,接口,域,方法,我们需要修改的是方法a(String s1, String s2),所以我们双击Methods,可以看见该class中的所有方法,我们找到我们需要修改的方法a,如果有很多a方法,可以对比反编译软件反编译的方法顺序来定位。我们找到a方法:
双击code,查看虚拟机指令:
0 aconst_null
1 astore_3
2 iconst_1
3 istore 4
5 new #105 java/lang/StringBuffer
8 dup
9 invokespecial #106 java/lang/StringBuffer.init
12 ldc_w #676 ;
15 invokevirtual #107 java/lang/StringBuffer.append
18 aload_1
19 invokevirtual #107 java/lang/StringBuffer.append
22 invokevirtual #112 java/lang/StringBuffer.toString
25 astore 5
27 aload 5
29 invokestatic #677 javax/microedition/io/Connector.open
32 checkcast #678 javax/wireless/messaging/MessageConnection
35 astore_3
36 aload_3
37 ldc_w #679 text
40 invokeinterface #680 javax/wireless/messaging/MessageConnection.newMessage count 2
45 checkcast #681 javax/wireless/messaging/TextMessage
48 astore 6
50 aload 6
52 aload 5
54 invokeinterface #682 javax/wireless/messaging/Message.setAddress count 2
59 aload 6
61 new #105 java/lang/StringBuffer
64 dup
65 invokespecial #106 java/lang/StringBuffer.init
68 ldc_w #683 LS
71 invokevirtual #107 java/lang/StringBuffer.append
74 aload_2
75 invokevirtual #107 java/lang/StringBuffer.append
78 invokevirtual #112 java/lang/StringBuffer.toString
81 invokeinterface #684 javax/wireless/messaging/TextMessage.setPayloadText count 2
86 aload_3
87 aload 6
89 invokeinterface #685 javax/wireless/messaging/MessageConnection.send count 2
94 goto 102 (+8)
97 astore 5
99 iconst_1
100 istore 4
102 aload_3
103 ifnull 122 (+19)
106 aload_3
107 invokeinterface #687 javax/microedition/io/Connection.close count 1
112 goto 119 (+7)
115 astore 5
117 iconst_1
118 ireturn
119 iload 4
121 ireturn
122 iconst_1
123 ireturn
接下来我们对照虚拟机指令表:
(0x01)对应aconst_null
(0x4e)对应astore_3
(0x04)对应iconst_1
(0x36)对应istore
那么我们用Hex Workshops打开该class文件,搜索16进制关键字:014E0436,很快我们就定位到需要修改的地方了。
我们把该位置附近的0336和03AC修改成0436和04AC,保存,然后再看看:
public boolean a(String s1, String s2)
{
MessageConnection messageconnection = null;
boolean flag = false;
try
{
String s3 = "file://" + s1;
messageconnection = (MessageConnection)Connector.open(s3);
TextMessage textmessage = (TextMessage)messageconnection.newMessage("text");
textmessage.setAddress(s3);
textmessage.setPayloadText("LS " + s2);
messageconnection.send(textmessage);
}
catch(Throwable throwable)
{
flag = false;
}
if(messageconnection != null)
{
try
{
messageconnection.close();
}
catch(Exception exception)
{
return false;
}
return flag;
} else
{
return false;
}
}
已经完成了修改
怎么破解收费手机游戏按!能不能教下我!谢谢
简单的破解可以用minisoyo的halo~
想下载破解就直接到minisoyo~如果你有什么游戏需要破解..就到破解区发帖求助~有求必应
这个虚拟的世界,讲述了手机游戏的过去时、现在进行时和将来时。这里既有破解收费的新游戏,也有汉化语言的老经典,还有各手机的主题,图片,铃声,电子书等,我们把多种不同类型的版块集合在一起,构建出一个属于大家的MINISOYO,这里有着手机游戏制作的专业团队,有着一群努力拼搏管理人员---让每一个初涉MINISOYO的朋友,在这里找到属于他们的快乐。
过去的经验告诉我们,手游新时代已经来临了,游戏不收费已经成为现实,手机游戏爱好者的统一选择
(原文:独你无二
)