php代碼怎麼轉成機器碼
『壹』 如何將c源代碼轉換成機器碼
首先,你一定有一個用C語言編的源程序,編譯通過後一定生成了一個.EXE文件對不對.
然後你要進版入DEBUG,這個一般在系統權盤里有(一般是C盤)
如果這些都有的話才能看機器代碼:
進入系統,輸入,c:>debug aaa.exe
回車,然後輸入U就可以了,
(aaa.exe是你的C語言生成的一個可執行文件)
『貳』 php用的時候生成機器碼,要別人算號才能用,怎麼破
The smell of roast goose is in the street.
『叄』 php怎麼獲得機器碼
你指的是客戶端的MAC地址嗎?PHP是伺服器端的程序,獲取不到客戶端的MAC地址!
『肆』 php代碼轉換成java代碼(坐等)
轉是不現實,兩個平台完全不一樣的實現方法。。。。。。。。java 寫個servlet或直接JSP,都很方便實現這功能了。
『伍』 怎麼把 匯編代碼 轉成 機器碼
將這些代碼寫入一個.asm文件,加上必要的程序框架,用匯編程序匯編處理一下就內可以得容到你要的機器代碼了。
因為你列出的這些代碼是32位的指令,匯編程序中要加上.386偽指令
以你列出的這三條指令為例,你可以這樣寫一個程序:
.386
.code
.startup
mov eax, 0040100FH
jmp eax
add edx, 4
end
用TASM匯編程序匯編,在命令行里加上 /l 選項,匯編後查閱生成的.lst文件,可以得到這三條指令的十六進制的機器代碼為:
B8 0040100F (按位元組拆開是 B8 0F 10 40 00)
FF E0
83 C2 04
『陸』 php 怎麼生成一個機器碼
你說的是mac地址吧 下面是你需要的
<?php
class GetMacAddr
{
var $return_array = array(); // 返回帶有MAC地址的字串數組
var $mac_addr;
function GetMacAddr($os_type)
{
switch ( strtolower($os_type) )
{
case "linux":
$this->forLinux();
break;
case "solaris":
break;
case "unix":
break;
case "aix":
break;
default:
$this->forWindows();
break;
}
$temp_array = array();
foreach ( $this->return_array as $value )
{
if ( preg_match( "/[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f][:-]"."[0-9a-f][0-9a-f]/i", $value, $temp_array ) )
{
$this->mac_addr = $temp_array[0];
break;
}
}
unset($temp_array);
return $this->mac_addr;
}
function forWindows()
{
@exec("ipconfig /all", $this->return_array);
if ( $this->return_array )
return $this->return_array;
else{
$ipconfig = $_SERVER["WINDIR"]."\system32\ipconfig.exe";
if ( is_file($ipconfig) )
@exec($ipconfig." /all", $this->return_array);
else
@exec($_SERVER["WINDIR"]."\system\ipconfig.exe /all", $this->return_array);
return $this->return_array;
}
}
}
$mac = new GetMacAddr(PHP_OS);
echo $mac->mac_addr;
echo "<br />";
echo md5($mac->mac_addr);
?>
『柒』 php代碼轉成java代碼
public String MAKE_BNET_QUERY_REQUEST(String format, String []$data_entities)
{
String []BNET_QUERY_XML_FILTER;
SimpleXMLElement gcg_query_package = new SimpleXMLElement(format);
for(int j = 0; j < data_entities.length; j++)
{
for(int i = 0; i < BNET_QUERY_XML_FILTER.length)
{
if(BNET_QUERY_XML_FILTER[i].eques(data_entities[j]))
{
gcg_query_package.j = data_entities[j];
}
}
}
gcg_query_xml = gcg_query_package.asXML();
return gcg_query_xml;
}
『捌』 從php到ipcode到機器碼,這個過程php有轉換成c語言嗎,說它是用c實現的
1.PHP是做網頁開發,一般不接觸太多底層的東西。C一般做嵌入式開發,需回要知道一些答如操作系統,嵌入式硬體的知識。
2.C語言是很多東西都要你自己實現,比如說動態數組,排序,查找,字典,字元串,內存,很多東西要是沒有一定的演算法功底和對計算機原理有一定了解的話是弄不出來的;而php是比較高層的語言,很多東西,例如上面所說的系統都已經幫你做了,例如一個簡單的在一個字元串里查找某個字串,用c來寫的話可能需要一大段代碼,而php就是一個函數直接用就行,而且不用考慮資源釋放。php帶了一些比較豐富的庫,開發中的大部分問題都可輕易解決,而c就沒那麼容易。
『玖』 把php代碼轉成java代碼
java:
1、用hashmap存儲元素,鍵值對方式。
Map<String, String> hashMap = new HashMap<String, String>(){
{
put("appid", "123");
put("apikey", "456");
put("secretKey", "789");
put("timestamp", "當前UNIX 時間戳,秒數,java中獲取");
}
};
2、java中可以通過Timestamp獲得UNIX 時間戳。
3、然後對hashmap進行升序排序。
4、然後寫一個方法遍歷hashmap,拼接成字元串格式為apikey=456&appid=123&secretkey=789×tamp=1389379498
然後對該字元串進行encoded編碼,輸出格式為apikey=456&appid=123&secretkey=789×tamp=1389379498
5、通過java中HMAC-SHA1演算法加密該字元串,$secretKey為安全密鑰。
6、再通過base64_encode加密第5步產生的字元串。這是最終sig結果。
java易混淆概念之類變數、實例變數、局部變數
類變數、實例變數、局部變數類變數是類中獨立於方法之外的變數,用static 修飾。
實例變數也是類中獨立於方法之外的變數,不過沒有static修飾。
局部變數是類的方法中的變數。
看下面的偽代碼說明:
public class Variable{
static int allClicks=0; //類變數
String str="hello world"; //實例變數
public void method(){
int i =0; //局部變數
}
}
實例變數也稱為:「域」,「成員變數」,在實體類或數據類中被稱為「屬性」或「欄位」。當實例變數可以改變時,被稱為對象的狀態。
2. final用於常量的聲明,規范要求常量的變數名是大寫的。
3. statci 在java 裡面用於對類方法和屬性進行修飾,其作用是什麼呢?
有兩種情況是non-static無法做到的,這時你就要使用statice。
第一種:你希望不論產生了多少個對象,或不存在任何對象的情形下,那些特定數據的存儲空間都只有一份;
第二種:你希望某個函數不要和class object綁在一起。即使沒有產生任何object,外界還是可以調用其static函數,或是取用其static data
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
php代碼沒幾行,信息量很大,翻譯成java代碼行數量比較大。僅提供思路和php代碼解釋。
---------------
<?php
$appid = "123"; //數組裡面的值,id。
$apikey = "456"; //數組裡面的值,為加密密鑰。
$secretKey ="789"; //數組裡面的值,安全密鑰。
$timestamp = time(); ////數組裡面的值,獲得當前時間。
//UNIX 時間戳(timestamp)是 PHP 中關於時間日期一個很重要的概念,它表示從 1970年1月1日 00:00:00 到當前時間的秒數之和。
//echo輸出$timestamp變數值,例如輸出了1389379960
echo $timestamp;
//定義數組。以鍵值對方式存儲。
//'appid' 'apikey' 'secretkey' 'timestamp'是key,鍵。
//$appid $apikey, $secretKey $timestamp是value,值。
$params = array('appid'=>$appid, 'apikey'=>$apikey, 'secretkey'=>$secretKey, 'timestamp'=>$timestamp);
//對數組鍵值進行升序排序。排序結果為apikey appid secretkey timestamp
ksort($params);
//拼接數組中的參數,並且用encoded編碼。
//http_build_query -- 生成 url-encoded 之後的請求字元串。當數組沒有寫下標時,就會用第二個參數結合當前默認下標當前綴。
//$param_uri變數值,結果為apikey=456&appid=123&secretkey=789×tamp=1389379498
$param_uri = http_build_query($params,'','&');
echo $param_uri; //echo輸出結果為apikey=456&appid=123&secretkey=789×tamp=1389379498
//先使用調用hash_hmac方法加密,HMAC-SHA1演算法。
//$secretKey為安全密鑰,$param_uri為要加密的明文。'sha1'是HMAC-SHA1演算法。
//再調用base64_encode方法加密,base64_encode 使用 MIME base64 對數據進行編碼。
$sig = base64_encode(hash_hmac('sha1', $param_uri, $secretKey));
?>
java:
1、用hashmap存儲元素,鍵值對方式。
Map<String, String> hashMap = new HashMap<String, String>(){
{
put("appid", "123");
put("apikey", "456");
put("secretKey", "789");
put("timestamp", "當前UNIX 時間戳,秒數,java中獲取");
}
};
2、java中可以通過Timestamp獲得UNIX 時間戳。
3、然後對hashmap進行升序排序。
4、然後寫一個方法遍歷hashmap,拼接成字元串格式為apikey=456&appid=123&secretkey=789×tamp=1389379498
然後對該字元串進行encoded編碼,輸出格式為apikey=456&appid=123&secretkey=789×tamp=1389379498
5、通過java中HMAC-SHA1演算法加密該字元串,$secretKey為安全密鑰。
6、再通過base64_encode加密第5步產生的字元串。這是最終sig結果。
『拾』 如何php代碼轉化為C#代碼
public sealed class DESEncryption
{
private static readonly string encryptKey = "YJSERVER";
private static readonly string decryptKey = "YJSERVER";
#region**********Method*******************************
/// <summary>
/// 加密字元串
/// 注意:密鑰必須為8位
/// </summary>
/// <param name="strText">字元串</param>
/// <param name="encryptKey">密鑰</param>
/// <return>加密後字元串</return>
public static string DesEncrypt(string strText)
{
string outString="";
byte[] byKey=null;
byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(encryptKey.Substring(0, encryptKey.Length));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
byte[] inputByteArray = Encoding.UTF8.GetBytes(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateEncryptor(byKey, IV), CryptoStreamMode.Write) ;
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
outString = Convert.ToBase64String(ms.ToArray());
}
catch(System.Exception)
{
outString = "";
}
return outString;
}
/// <summary>
/// 解密字元串
/// </summary>
/// <param name="strText">加了密的字元串</param>
/// <param name="decryptKey">密鑰</param>
public static string DesDecrypt(string strText)
{
string outString = "";
byte[] byKey = null;
byte[] IV= {0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF};
byte[] inputByteArray = new Byte[strText.Length];
try
{
byKey = System.Text.Encoding.UTF8.GetBytes(decryptKey.Substring(0, decryptKey.Length));
DESCryptoServiceProvider des = new DESCryptoServiceProvider();
inputByteArray = Convert.FromBase64String(strText);
MemoryStream ms = new MemoryStream();
CryptoStream cs = new CryptoStream(ms, des.CreateDecryptor(byKey, IV), CryptoStreamMode.Write);
cs.Write(inputByteArray, 0, inputByteArray.Length);
cs.FlushFinalBlock();
System.Text.Encoding encoding = new System.Text.UTF8Encoding();
outString = encoding.GetString(ms.ToArray());
}
catch(System.Exception)
{
outString = "";
}
return outString;
}
#endregion
}
}