Ⅰ JNLP 后缀文件反编译
很遗憾, jnlp并不是一个可以被反编译的java文件,而是一种Java专用的,针对web环境的网络加载协议(或者说,是一种描述如何从网络下载Java文件的配置器)。所以,只要您将其后缀改写为txt,就可以看到它的内部写法,完全是明码描述。
而如果想反编译此jnlp对应的具体Java应用,那么,您就必须按照jnlp的描述下载相关的jar或class后,才能进行。
Ⅱ 使用idea编译器怎么接受loghub中的数据
ssh 是加密的,基于 SSL 。
telnet 是明码传输的,发送的数据被监听后不需要解密就能看到内容。
两个不通用,现在不建议使用 telnet 。
因为现在网络监听手段十分的发达。而且中间人攻击也很容易。
Ⅲ dex2jar和apktool的区别
反编译工具apktool生成程序的源代码和图片、XML配置、语言资源等文件,仅将DEX文件反编译成Smali源码;XML文件能生成明码格式。
反编译工具dex2jar能将DEX文件反编译成Jar文件,用jd-gui工具打开其生成的*.jar文件,即可看到源码,并可以全部导出。
用法:
1.将apk文件后缀改成rar,然后解压,取出其中的classes.dex,放到任意位置;
2.进入cmd,cd到dex2jar所在文件夹,输入命令dex2jar.bat %classes.dex所在目录%\class.dex
3. 命令完成后在%class.dex所在目录%就会生成jar文件
jd_gui:能够将jar文件反编译成java代码
Ⅳ mac64位电脑能编译32bit的openssl吗
OpenSSL介绍:OpenSSL是一个强大的安全套接字层密码库,囊括主要的密码算法、常用的密钥和证书封装管理功能及SSL协议,并提供丰富的应用程序供测试或其它目的使用。
SSL是SecureSockets Layer(安全套接层协议)的缩写,可以在Internet上提供秘密性传输。其目标是保证两个应用间通信的保密性和可靠性,可在服务器端和用户端同时实现支持。已经成为Internet上保密通讯的工业标准。
安全套接层协议能使用户/服务器应用之间的通信不被攻击者窃听,并且始终对服务器进行认证,还可选择对用户进行认证。SSL协议要求建立在可靠的传输层协议(TCP)之上。SSL协议的优势在于它是与应用层协议独立无关的,高层的应用层协议(例如,HTTP, FTP, TELNET等)能透明地建立于SSL协议之上。SSL协议在应用层协议通信之前就已经完成加密算法、通信密钥的协商及服务器认证工作。在此之后应用层协议所传送的数据都会被加密,从而保证通信的私密性。
SSL协议提供的安全信道有三个特性:(1)、数据的保密性:信息加密就是把明码的输入文件用加密算法转换成加密的文件以实现数据的保密。加密的过程需要用到密钥来加密数据然后在解密。没有了密钥,就无法解开加密的数据。数据加密之后,只有密钥要用一个安全的方法传送。加密过的数据可以公开地传送。(2)、数据的完整性:加密也能保证数据的一致性。例如,消息验证码(MAC),能够校验用户提供的加密信息,接收者可以用MAC来校验加密数据,保证数据在传输过程中没有被篡改过。(3)、安全验证:加密的另外一个用途是用来作为个人的标识,用户的密钥可以作为他的安全验证的标识。SSL是利用公开密钥的加密技术(RSA)来作为用户端与服务器端在传送机密资料时的加密通讯协定。
OpenSSL采用C语言作为开发语言,这使得OpenSSL具有优秀的跨平台性能。OpenSSL支持linux、Windows、BSD、Mac、VMS等平台。
OpenSSL整个软件包大概可以分成三个主要的功能部分:SSL协议库、应用程序以及密码算法库。
OpenSSL对于随机数的生成和管理也提供了一整套的解决方法和支持API函数。随机数的好坏是决定一个密钥是否安全的重要前提。
OpenSSL还提供了其它的一些辅助功能,如从口令生成密钥的API,证书签发和管理中的配置文件机制等等。
OpenSSL提供了产生各种公开密钥对和对称密钥的方法、函数和应用程序,同时提供了对公钥和私钥的DER编解码功能。OpenSSL在标准中提供了对私钥的加密保护功能,使得密钥可以安全地进行存储和分发。
OpenSSL一共提供了8种对称加密算法,其中7种是分组加密算法,仅有的一种流加密算法是RC4.这7种分组加密算法分别是AES、DES、Blowfish、CAST、IDEA、RC2、RC5,都支持电子密码本模式(ECB)、加密分组链接模式(CBC)、加密反馈模式(CFB)和输出反馈模式(OFB)四种常用的分组密码加密模式。其中,AES使用的加密反馈模式(CFB)和输出反馈模式(OFB)分组长度是128位,其它算法使用的则是64位。
OpenSSL一共实现了4种非对称加密算法,包括DH算法、RSA算法DSA算法和椭圆曲线算法(EC)。DH算法一般用于密钥交换。RSA算法既可以用于密钥交换,也可以用于数字签名。DSA算法则一般只用于数字签名。
OpenSSL实现了5种信息摘要算法,分别是MD2、MD5、MDC2、SHA(SHA1)和RIPEMD。SHA算法事实上包括了SHA和SHA1两种信息摘要算法。此外,OpenSSL还实现了DSS标准中规定的两种信息摘要算法DSS和DSS1.
OpenSSL的应用程序主要包括密钥生成、证书管理、格式转换、数据加密和签名、SSL测试以及其它辅助配置功能。
Engine机制目的是为了使OpenSSL能够透明地使用第三方提供的软件加密库或者硬件加密设备进行加密。
更多详情见请继续阅读下一页的精彩内容: http://www.linuxidc.com/Linux/2014-10/108502p2.htm
OpenSSL在Windows7 64bit + vs2010中win32的编译步骤:
1. 从https://www.openssl.org/source/下载OpenSSL源代码 openssl-1.0.1g版本;
2. 从http://www.activestate.com/activeperl/downloads下载ActivePerl5.16.3 x64(ActivePerl为perl的一个脚本解释器);
3. 将ActivePerl安装到D:\ProgramFiles\Perl64目录下,打开命令提示符,将其定位到D:\ProgramFiles\Perl64\eg 目录下,执行perl example.pl ,若提示Hello fromActivePerl! 则说明Perl安装成功,可以开始使用Perl的相关命令来进行OpenSSL的安装了;
4. 将openssl-1.0.1g解压缩到E:\OpenSSL\openssl-1.0.1g目录下;
5. 从http://sourceforge.net/projects/nasm/下载nasm 2.07,将其安装到D:\ProgramFiles\NASM中,并将D:\ProgramFiles\NASM添加到系统环境变量Path中;
6. 将命令提示符定位到E:\OpenSSL\openssl-1.0.1g;
7. 输入perl Configure VC-WIN32 --perfix=E:\OpenSSL\openssl (将其安装到E:\OpenSSL\openssl);
8. 输入ms\do_nasm ;
9. 将命令提示符定位到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin , 然后输入 vcvars32.bat,会显示Settingenvironment for using Microsoft Visual Studio 2010 x86 tools. 如果没有这一步,会提示nmake不是内部或外部命令;
10. 再次将命令提示符定位到E:\OpenSSL\openssl-1.0.1g;
11. 输入 nmake –f ms\ntdll.mak ;执行完后会在openssl-1.0.1g目录下生成一个out32dll文件夹,里面包含了一些静态库、动态库和.exe文件;
12. 输入 nmake -f ms\ntdll.mak test ;若最终显示passed all tests说明生成的库正确;
13. 输入 nmake -f ms\ntdll.mak install ;则会在E:\OpenSSL\openssl目录下生成bin、include、lib、ssl四个文件夹;
14. 以上编译的是release库,若编译debug库,则将以上第7步中的VC-WIN32改成debug-VC-WIN32即可;
15. 若编译静态库则用ms\nt.mak替换掉上面用到的ms\ntdll.mak即可;
16. 若生成不带汇编支持的库,则需将以上第7、8步用perl Configure VC-WIN32 no-asm --prefix=E:\OpenSSL\openssl 和 ms\do_ms替换即可;
17. 在E:\OpenSSL\openssl-1.0.1g\tmp32dll文件夹下包含相应的汇编文件。
在win64下生成相应的库和汇编文件的编译步骤:
1. 将命令提示符定位到E:\OpenSSL\openssl-1.0.1g;
2. 输入 perl Configure VC-WIN64A --perfix=E:\OpenSSL\openssl\win64 ;
3. 输入 ms\do_nasm ;
4. 输入 ms\do_win64a ;
5. 将命令提示符定位到C:\Program Files (x86)\Microsoft Visual Studio 10.0\VC\bin\amd64 , 然后输入 vcvars64.bat,会显示Settingenvironment for using Microsoft Visual Studio 2010 x64 tools. 如果没有这一步,会提示nmake不是内部或外部命令;
6. 再次将命令提示符定位到E:\OpenSSL\openssl-1.0.1g;
7. 输入 nmake -f ms\nt.mak ;执行完后会在openssl-1.0.1g目录下生成out32和tmp32两个文件夹,out32文件夹中会生成两个静态库和一些执行文件,tmp32文件夹中会生成相应的汇编文件;
8. 输入 nmake -f ms\nt.mak test ;若最终显示passed all tests说明生成的库正确;
9. 输入 nmake -f ms\nt.mak install ;则会在E:\OpenSSL\openssl\win64目录下生成bin、include、lib、ssl四个文件夹;
10. 以上编译的是release库,若编译debug库,则将以上第2步中的VC-WIN64A改成debug-VC-WIN64A即可;
11. 若编译动态库则用ms\ntdll.mak替换掉上面用到的ms\nt.mak即可;
12. 若生成不带汇编支持的库,则需将以上第2步用perl Configure VC-WIN64A no-asm --prefix=E:\OpenSSL\openssl\win64替换即可;
13. 在E:\OpenSSL\openssl-1.0.1g\tmp32文件夹下包含相应的汇编文件。
Ⅳ gcc编译器怎么忽略重复定义
gcc编译器不可能忽略重复定义,这是明码标价的错误,严格禁止的,你想要做什么,需要重复定义吗?
Ⅵ 高手帮忙,急求一个php编写的用户注册管理系统,未经zend编译的,明码,高分悬赏!
*
* 名称:cnkknd php login class
* 描述:php用于登录的类,基于mysql
* 作者:daniel king,[email protected]
* 日期:start@2003/8/25,update@2004/4/16
*/
class login
{
var $appname="login"; //网站名称
var $username; //用户名
var $userpass; //密码
var $authtable="account"; //验证用数据表
var $col_username="username"; //用户名字段
var $col_password="password"; //用户密码字段
var $col_banned="banned"; //是否被禁止字段
var $use_cookie=true; //使用cookie保存sessionid
var $cookiepath='/'; //cookie路径
var $cookietime=108000; //cookie有效时间
var $err_mysql="mysql error"; //mysql出错提示
var $err_auth="username invalid or wrong password"; //用户名无效提示
var $err_user="user invalid"; //用户无效提示(被封禁)
var $err; //出错提示
var $error_report=false; //显示错误
function login($appname="")
{
$this->appname=$appname; //初始化网站名称
}
function isloggedin() //判断是否登录
{
if(isset($_cookie['sid'])) //如果cookie中保存有sid
{
session_id($_cookie['sid']);
session_start();
if($_session['appname']!=$this->appname) return false;
//为了防止不同的程序使用同一个登录类产生冲突,加了个appname作为区分标记
return true;
}
else //如果cookie中未保存sid,则直接检查session
{
session_start();
if(isset($_session['appname']))
return true;
}
return false;
}
function userauth($username,$userpass) //用户认证
{
$this->username=$username;
$this->userpass=$userpass;
$query="select * from `".$this->authtable."` where `".$this->col_username."`='$username';";
$result=mysql_query($query);
if(mysql_num_rows($result)==1) //找到此用户
{
$row=mysql_fetch_array($result);
if($row['banned']==1) //此用户被封禁
{
$this->errreport($this->err_user);
$this->err=$this->err_user;
return false;
}
elseif(md5($userpass)==$row[$this->col_password]) //密码匹配
{
$this->userinfo=$row;
return true;
}
else //密码不匹配
{
$this->errreport($this->err_auth);
$this->err=$this->err_auth;
return false;
}
}
else //没有找到此用户
{
$this->errreport($this->err_auth);
$this->err=$this->err_auth;
return false;
}
}
function setsession() //置session
{
$sid=uniqid('sid'); //生成sid
session_id($sid);
session_start();
$_session['appname']=$this->appname; //保存程序名
$_session['userinfo']=$this->userinfo; //保存用户信息(表中所有字段)
if($this->use_cookie) //如果使用cookie保存sid
{
if(!setcookie('sid',$sid,time()+$this->cookietime,$this->cookiepath))
{
$this->errreport("set cookie failed");
$this->err="set cookie failed";
}
}
else
setcookie('sid','',time()-3600); //清除cookie中的sid
}
function userlogout() //用户注销
{
session_start();
unset($_session['userinfo']); //清除session中用户信息
unset($_session['appname']); //清除session中程序名
if(setcookie('sid','',time()-3600)) //清除cookie中的sid
return true;
else
return false;
}
function errreport($str) //报错
{
if($this->error_report)
echo "error: $str";
}
}
?>
注意一下置session的一段,我是用select *把所有字段的信息都取出来了,其实没有必要,很多字段没有必要放在session里,大家可以根据需要,在通过验证之后,修改$类名->userinfo,然后$类名->setssesion()。
放一个例子
<?
include 'header.php';
if(isset($_post[logout]))
{
$login->userlogout();
die('<script>window.location="'.$_post[url].'";</script>');
}
if(isset($_post[login]))
{
if($login->userauth($_post[account],$_post[passwd]))
{
if($_server[php_self]!='attachment') $login->setsession();
die('<script>window.location="'.$_post[url].'";</script>');
}
echo ($login->err);
}
if(!$login->isloggedin()) echo '<form method=post action=login.php><input name=account><input type=password name=passwd><input type=submit name=login></form>';
?>
我这个里面的$_post[url]一般是可以用$_server["http_referer"]取得的,但是有时候因为客户端装了诺顿的个人防火墙,$_server["http_referer"]就没用了。
header.php里面关于login的一段
include_once 'inc/classlogin.php';
$login=new login();
$login->sitename='uu';
$login->authtable='u_account';
$login->col_username='account';
$isloggedin=$login->isloggedin();
Ⅶ 设计一个(15,11)系统汉明码的生成矩阵G,再设计一个由g(x)=1+x+x^4 生成的(15,11)循环汉明码的编译器。
x15 + 1 = g(x)h(x):
h(x) = x11 + x8 + x7 + x5 +x3+ x2 + x + 1
例:已知 (7,3) 循环码的g(x)=x 4 +x 3 +x 2 +1,试求其标准生成阵,一致校验阵及全部 码字 。 举例:求 (7,3) 循环码的生成 多项式 。
解: v分解多项式 x7 +1,取其 4 次因式作生成多项式 vx7+1= ( x +1) ( x 3 + x 2 +1) ( x 3 + x +1) v 可将一次和任一个三次因式的乘积作为生成多项式,因而可取 g 1 ( x )= ( x +1) ( x 3 + x 2 +1) = x 4 + x 2 + x +1 或 g 2 ( x )= ( x +1) ( x 3 + x +1) = x 4 + x 3 + x 2 +1。
(7)明码编译扩展阅读:
给出(7,4)循环码,由于循环码是线性分组码的一种,所以它也具有封闭性,任意两个码字相加之和必是另一码字。所以它的最小码距也就是非零码字的最小码重。
在表1给出的(7,4)循环码中,dmin=3。而且根据定义,任一码字的每一循环移位的结果都是(7,4)循环码的一个码字。但某一码字的循环移位,并不能生成所有的码字。对于一个循环码来说,可以同时存在多个循环圈。
Ⅷ 学嵌入式必须会自己独立移植和编译U-boot,Linux内核,自己独立建立交叉编译工具是吗
其实所谓嵌入式算是一个比较广泛的概念,并非单纯指用Linux系统来构造。
造成大家认为嵌入式就是Linux这样的误解,
是因为很多培训机构往往不是专业出身,只能把嵌入式拿来当做概念炒作。
做嵌入式Linux产品的话,有三个层级的开发种类:
a,Linux应用层开发;
b,嵌入式Linux系统构建;
c,嵌入式Linux产品设备驱动开发;
你所说的移植和编译U-boot,Linux内核,自己独立建立交叉编译工具等等
都是归纳到上面b类中去的重点。对做a/c类的人来说,并非一定需要。
现在很多培训机构,交个一万三四千块的钱,学个四五个月,最终学到的
知识,也只能是a类的大部分,b类的很少部分,c类的蜻蜓点水。从性价比
来说,非常非常的不划算。
杭州巨立安技术(JulianTec)是杭州市场上唯一由资深研发工程师所发起
设立的机构。由于自身的专业出身,所以我们能够把上面三类课程安排到独立
的三个不同阶段里面去,分开进行教学与收费。这么做有几点好处:
1,能够让不同专业背景的同学找到不同的切入点进行学习;
2,相比其他眉毛胡子一把抓式的、纯商业的、非专业出身的培训机构来说,这样
的安排更趋合理与实在;
3,花个四五个月的时间,交上一万三四,最终感觉只能学到应用层的东西;那是
非常非常的不划算,其实单单学习应用层开发,不需要你花那么多时间,也不需要
你花那么多金钱。
杭州巨立安(JulianTec)和其他机构所不同的是,什么时候上什么内容,需要多少
时间,需要缴多少学费等等都是订好的,就类似于商场售货时的明码标价。不像其他
机构那样喊着大大的口号,却让你只接受最基础知识的学习。