When working with any programing or scripting language you might ask your self is this language could be used for “hacking”, this question in the beginning could be very superficial but let’s take it real. I do love PHP a lot to be honest, I’m using it in everything, in web, cryptography when I want to perform cryptographical tasks and even in backdoors, Its very clear language and its purpose and more in very good way. I asked my self what If we can do something new with this great language, let’s obfuscate a backdoor to avoid detection by AV and at the same time let’s make this code behaves like an ordinary code and from here the idea came.
Walk through the standards
Before starting any thing new you should put your standards and policies first to see how you should build your new theory, for example I put the following standards for me to follow and care about:
Payload delivery
Symantec and Signature based detections
Readability of the code
Command execution workflow
Firewalls
And more but these are my major standards I want to care about them while crafting this backdoor.
Planning for the theory
Now after we knew what we going to do and what standards we should follow we came to the planning section, I wanted to make something new to the security appliances, something isn’t commonly used against these appliances, so, the chances of detection will be decreased. In my plan I decided to follow the following rules:
Using multiple foreign languages which rarely used to write our backdoor.
Every variable with certain languages should have its own reference variable which basically written in different variable, this step will confuse the code more and more.
Variables sequences should be varied, so, debugging or deobfuscating the code now should be harder.
System commands and PHP codes will be used in this mission should be encoded, truncated and every truncated part should be in a single variable, each single variable should has its own reference variable and this reference variable should follow the standards mentioned before, in addition the sequence of truncated encoded string should be varied in sorting, but when decoding it using decoder function it will be concatenated in the right sequence with the reference variable used and we can make a mix of reference and standard variables as we will see later in this article.
The decoder function also should be obfuscated by truncating it following the previous rules, then using it as a variable to decode the encoded string.
Variables names also should consists of special characters like ‘_’ and numbers, for example if we have language like the Chinese language, maybe one word in English translated to two strings in Chinese, so we can used multiple forms and identifying more than single variable with the same name, like:
$最後の4
$最後の3
$最後の_3
$最_後の1
This would confuse the code more and more.
Its optionally and recommended in my point of view to encrypt your obfuscated code then make a backdoor decrypt the obfuscated code and run it immediately, so, your code will be very safe because it’s just decrypt a string then execute that string, but deeply it’s a backdoor. Kindly want to note here that windows installation of PHP is very funny, so, it disables the openssl extension by default when installing but allows eval function 🙂 .. this means if you want to use the encryption method you should make sure that your target enabled the openssl extension, but if your target was links then no worries.
1. Start crafting the command
Yes we will do obfuscating to our code, but even the system command should be executed somehow safely, you can also obfuscate the system command!, but let’s make it simple this time and make a standard payload but with some security standards to avoid detection, first of all let’s list the standards we’ll follow while doing this crafting:
Connecting to our remote host using standard port usually opened and whitelisted in Firewalls .e.g. 443.
Turning off any verbose because we want to make everything silent and at the same time clean in the compromised machine.
Running the command in the background trying to make it silent more and more.
And just for notice, system command may not lead directly to reverse shell, for example you can make the powershell download a ps script then run it in the memory directly and gaining reverse shell, but because here we’re concentrating in the obfuscation we’ll make it as simple as we can, so, we’ll use netcat.
Note: If you did obfuscated a payload then found a base padding like: — == — at the end of the base you can safely remove it as a type of confusing and hiding the identity of the encoding / base, and we did this here.
Let’s discuss how we should use it in our obfuscated code:
We can truncated with non-standard truncation as you can see above, which means every part of the base64 here will be in different bits, so, when sorting it into the variables it will be hard to detect if these strings are related to each other or not, for example:
The encoded PHP system command execution and the system command itself.
So, as you can see in the picture above the encoded payload length varied and the sequence is not the right sequence for this encoding to work, but when we gonna decode it, we’ll put the right sequence — obfuscated surely —
2. Handling the decoding function
As we know, we did encoded the payload which will be executed — including the PHP system command executing function — and now we should do the same with decoding function, if remember what we said in the Planning section about the decoding function, we said that even the decoding function should be obfuscated, truncated and non-sorted also. Let’s take a look at this part of the code:
Before continue we should note again that you can make your own base encoding function and obfuscate it — it would be better — even you can do other techniques like ROT13 and you can develop it too. Let’s continue here and discuss the above code, here we did truncated the function name to many parts trying to hide it and also you may ask: but its in plain text, is it ok? and the answer is yes and no:
Yes, because simply it will be putted in reference variables by the way so it will be hard to find / detect.
No, because we can use techniques like reverse or ROT13 then pass it as function after decoding from these techniques and it would be better.
And now you’ll see that when we going to use it, we’ll use it references which already referenced :), so, it will be like that:
So, now the base64 being used easily as function from the variable which already uses a reference variable mixed with standard variables. Then now it runs the decoding function safely without any problems here.
3. Payload handling while decoding
This part is the easiest part in this techniques, all what you should do is to avoid using the encoded payload part directly, you should use reference variables with the techniques / rules explained before, this make the payload more confused. We can also concatenate the payload by grouping every couple of encoded parts in a group then using it again — with the right sequence of encoded payload to decode it right — we can discuss that in the following code:
4. Obfuscated payload with reference variables
Here I didn’t marked all the payloads but you get the point now, and if you concentrated here specially:
Here we used the variable $最後の3 to store a part of base64_decode function and at the same time we used $最後の4 to be used as a reference to the variable $_變量1 which stores a part of the payload will be executed, so, it will be confusing to use the same variable with changing only one character for very different purpose, and the same for the other variables highlighted, its the art of obfuscation.
5. Executing the magic
Finally now we’ll execute the decoded base64 using eval function as shown:
And now simply when running it, it will give us the reverse shell we want with persistence even if the user hit CTRL + Cbecause we did it in the background if you remember:
6. Final touches
As mentioned you can also use the encryption to hide the entire obfuscated payload, in the following code:
Here we will encode our obfuscated code first to handle it safely in this encryption phase and to avoid bugs, by the way it will be saved inside base64_decode() function, so, if any other function will handle it, it will be the ordinary code without encoding. We’ll take this encrypted / ciphered backdoor now and will do the following:
Here we’re going to decrypt the ciphered obfuscated payload and run it into eval function immediately as you can see.
7. Conclusion
The obfuscation is an art, there are no limits to what you can do, always think crazily and outside the box, be the red and blue teamer then cock your payload and feed it to the system.
PHP 8.2 also includes bug fixes and performance improvements over previous versions like 8.1. We recommend you test your codebase with PHP 8.2 before upgrading in a production setup, just to ensure that everything works as expected.
In this article we shall cover steps that are used in the installation of PHP 8.2 on Ubuntu 22.04|20.04|18.04. The default version of PHP available on OS repositories is usually older than PHP official latest releases. PPA (Personal Package Archive) software repositories for PHP allows you to install newer releases of PHP on your Ubuntu system that are not available in the official repositories of a Linux distribution.
Apapun yang ingin kamu kendalikan, sebenarnya itulah yang akan mengendalikanmu, ketika kamu tidak menginginkan apapun lagi, dunia menjadi milikmu.
Meet because there is a debt to pay, part because the debt has been paid. If in the previous life there was no debt, then in this life it will not meet.
Bertemu karena ada hutang yang harus dibayar, berpisah karena hutang sudah dilunasi. Jika di kehidupan sebelumnya tidak berhutang, maka di kehidupan ini tidak akan bertemu.
Do not be afraid to lose everything that is lost to you, the truth is not yours. Also don’t be afraid of getting hurt that can hurt you is the test of your life.
不要害怕失去你失去的一切,真相不属于你。 也不要害怕受到伤害,伤害你的是你人生的考验。
Bùyào hàipà shīqù nǐ shīqù de yīqiè, zhēnxiàng bù shǔyú nǐ. Yě bùyào hàipà shòudào shānghài, shānghài nǐ de shì nǐ rénshēng de kǎoyàn.
Jangan takut kehilangan semua yang hilang darimu, sejatinya memang bukan milikmu. Juga jangan takut terluka yang bisa melukaimu adalah ujian hidupmu.
Don’t be greedy, you can’t have everything, also don’t be discouraged you can’t have anything. If it’s yours, there’s no need to fight. If it’s not yours, you won’t even get it.
Bùyào tānlán, nǐ bùnéng yǒngyǒu yīqiè, yě bùyào qìněi, nǐ shénme yě bùnéng yǒngyǒu. Rúguǒ shì nǐ de, jiù méi bìyào zhēngle. Rúguǒ tā bùshì nǐ de, nǐ shènzhì bù huì dédào tā.
Jangan serakah, kamu tidak mungkin memiliki segalanya, juga jangan berkecil hati kamu tidak mungkin memiliki apapun. Jika memang milikmu, tidak perlu berjuang. Jika bukan milikmu berjuangpun tidak akan dapat.
Some things God does not allow you to succeed in are to protect you. Remember.. ” Gaining is not necessarily a blessing, losing is not necessarily a disaster.”
Beberapa hal, Tuhan tidak mengizinkanmu berhasil melakukannya adalah untuk melindungimu. Ingatlah.. “Mendapatkan belum tentu berkah, kehilangan belum tentu bencana.”
站在樹林內 就如沒氧氣 standing in the forest, just like no oxygen jaam joi syu lam noi jau yu mut yeung hei
在夕陽下 寂寥吧 沒權利見你 under the sunset, be lonely, don’t have the rights to see you Joi jik yeung ha jik liu ba mut kyun lei gin nei
早知高的山低的谷將你我分隔兩地 失去人情味 already knew the mountains and valleys separated you and me into two places, losing the human warmth Jou ji gou dik saan dei dik kuk jeung nei ngo fan gaak leung dei sat heui yan ching mei
你那貴族遊戲 我的街角遊記 your game of noble, my journey in the corner of the street Nei na gwai juk yau hei ngo dik gaai gok yau gei
天真到信真心 太兒戲 being so naive i even believe you’re truly love me, it’s too children’s game Tin jan dou seun jan sam taai yi hei
你快樂過生活 我拼命去生存 you live your life happily, i try my best to survive Nei fai lok gwo sang wut ngo ping meng heui saang chyun
幾多人位於山之巔俯瞰我的疲倦 (how) many people standing in the highest point of mountain and looking down at my tiredness (?) Gei do yan wai yu saan ji din fu ham ngo dik pei gyun
渴望被成全 努力做人誰怕氣喘 wanted to be fulfilled, work hard to live, who is afraid of short of breath ? Hok mong bei sing chyun nou lik jou yan seui pa hei chyun
但那終點 掛在那天邊 but the finish point, hanging in the sky. Daan na jung dim gwa joi na tin bin
你界定了生活 我侮辱了生存 you defined the way to live, i insulted life Nei gaai ding liu sang wut ngo mou yuk liu saang chyun
只適宜滯於山之谷整理我的凌亂 only suitable for staying in valley and to organise my mess Ji sik yi jai yu saan ji guk jing lei ngo dik ling lyun
渴望大團圓 腳下路程難以削短 wish to have a good ending, (but) the distance under my foot is hard to reduce Hok mong daai tyun yun geuk ha lou ching naan yi seuk dyun
未見終點 也未見恩典 我與你極遠 not yet see the finish point, not yet see the grace also, i’m extremely far away to you Mei gin jung dim ya mei gin yan din ngo yu nei gik yun
愈望愈無望 未來沒有我 the more i look the more i feel i have no hopes, the future doesn’t have me Yut mong yut mou mong mei loi mut yau ngo
在斷崖下 盡頭吧 樂園未有過 under the cliff, there’s the end right, there’s never paradise Joi dyun ngaai ha jeun tau ba lok yun mei yau gwo
彷彿天一黑天一光揮發了一句再會 只見人下墮 it seems like the time when the sky is dark and when the sky has light, it volatilised a goodbye, only see people falling Fong fat tin yat haak tin yat gwong fai faat liu yat geui joi wui ji gin yan ha jeui
快慰繼續傳播 你都不慰問我 the pleasure is continue to spread, (but) you didn’t express solicitude to me Faai wai gei juk chyun bo nei dou bat mai man ngo
區分到太清楚 太嚴苛 differentiated too clear, too strict Keui fan dou taai ching cho taai yim ho
你快樂過生活 我拼命去生存 you live your life happily, i try my best to survive Nei fai lok gwo sang wut ngo ping meng heui saang chyun
幾多人位於山之巔俯瞰我的疲倦 (how) many people standing in the highest point of mountain and looking down at my tiredness (?) Gei do yan wai yu saan ji din fu ham ngo dik pei gyun
渴望被成全 努力做人誰怕氣喘 wanted to be fulfilled, work hard to live, who is afraid of short of breath ? Hok mong bei sing chyun nou lik jou yan seui pa hei chyun
但那終點 掛在那天邊 but the finish point, hanging in the sky. Daan na jung dim gwa joi na tin bin
你界定了生活 我侮辱了生存 you defined the way to live, i insulted life Nei gaai ding liu sang wut ngo mou yuk liu saang chyun
只適宜滯於山之谷整理我的凌亂 only suitable for staying in valley and to organise my mess Ji sik yi jai yu saan ji guk jing lei ngo dik ling lyun
渴望大團圓 腳下路程難以削短 wish to have a good ending, (but) the distance under my foot is hard to reduce Hok mong daai tyun yun geuk ha lou ching naan yi seuk dyun
未見終點 也未見恩典 我與你極遠 not yet see the finish point, not yet see the grace also, i’m extremely far away to you Mei gin jung dim ya mei gin yan din ngo yu nei gik yun
我卻尚要生存 偷偷存活於山之谷等到某天魂斷 however i still need to survive, secretly living in the valley and wait until someday when i die Ngo keuk seung yiu saang chyun tau tau chyun wut yu saan ji guk dang dou mou tin wan dyun
你繼續盤旋 我繼續埋藏我愛戀 you continue to hover, i continue to hide my love Nei gai juk pun syun ngo gai juk maai jong ngo oi lyun
沒有終點 永沒有終點 那永遠極遠 no finish point, there will never be a finish point, that ‘forever’ is extremely far away Mut yau jung dim wing mut yau jung dim na wing yun gik yun
一去不返 曲:Howie@Dear Jane 詞:Howie@Dear Jane 編:Dear Jane 監:Howie@DearJane/Tim@Dearjane/關禮琛
钟已响过 一觉睡醒 zhōng yǐ xiǎngguò yī jué shuì xǐng zung¹ yi⁵ hoeng² gwo³ yat¹ gok³/gaau³ seoi⁶ sing²/seng² the clock has rung, waking up from sleep
翡翠粤语歌词 一语不发恍似陌生路人 fěicuì yuèyǔ gēcí yī yǔ bù fā huǎng shì mòshēng lùrén yat¹ yyu⁵/yyu⁶ bat¹ faat³ fong² ci⁵ mak⁶ sang¹/saang¹ lou⁶ yan⁴ without saying anything, like strangers and people that pass by
难道我不怎么要紧 nándào wǒ bù zě me yàojǐn naan⁴/naan⁶ dou⁶ ngo⁵ bat¹ zam² mo¹ yiu³ gan² don’t i matter?
给你一吻 亲你发端 gěi nǐ yī wěn qīn nǐ fāduān kap¹ nei⁵ yat¹ man⁵ can¹ nei⁵ faat³ dyun¹ give you a kiss, kiss your hair
拥抱得最紧 仍不兴奋 yǒngbào dé zuì jǐn réng bù xīngfèn yung² pou⁵ dak¹ zeoi³ gan² ying⁴ bat¹ hing¹/hing³ fan⁵ hugging you tight, still not feel excited
沉默过后再没有声音 chénmò guòhòu zài méiyǒu shēngyīn cam⁴ mak⁶ gwo³ hau⁶ zoi³ mut⁶ yau⁵ sing¹/seng¹ yam¹ after silence there`s no more noise
不讲出声的真相 只得借口 bù jiǎng chū shēng de zhēnxiàng zhǐdé jièkǒu bat¹ gong² ceot¹ sing¹/seng¹ dik¹ zan¹ soeng¹³ zi² dak¹ zik⁶/ze³ hau² the truth that doesn’t speak, only excuses
不肯尽力去爱人 无力挽救 bù kěn jìnlì qù àirén wúlì wǎnjiù bat¹ hang² zeon⁶ lik⁶ heoi³ oi³ yan⁴ mou⁴ lik⁶ waan⁵ gau³ not willing to try your best to love someone, unable to save
当你不要求 当你一开口 dāng nǐ bù yāoqiú dāng nǐ yī kāikǒu dong¹³ nei⁵ bat¹ yiu³ kau⁴ dong¹³ nei⁵ yat¹ hoi¹ hau² when you don’t ask, when you speak
终于知一去不返 这个道理 zhōngyú zhī yī qù bù fǎn zhège dào lǐ zung¹ yyu¹ zi¹ yat¹ heoi³ bat¹ faan² ze⁵ go³ dou⁶ lei⁵ finally know the principle of never coming back
想再牵手 也没权利 xiǎng zài qiānshǒu yě méi quánlì soeng² zoi³ hin¹ sau² yaa⁵ mut⁶ kyun⁴ lei⁶ even want to hold hands again i don’t have the rights
失去你后捉得紧只得空气 shīqù nǐ hòu zhuō dé jǐn zhǐdé kōngqì sat¹ heoi³ nei⁵ hau⁶ zuk¹ dak¹ gan² zi² dak¹ hung¹ hei³ after losing you air is the only thing i can be able to hold
翡翠粤语歌词 经不起恋爱风霜 只有后悔 fěicuì yuèyǔ gēcí jīng bù qǐ liàn`ài fēngshuāng zhǐyǒu hòuhuǐ ging¹ bat¹ hei² lyun² oi³ fung¹ soeng¹ zi² yau⁵ hau⁶ fui³ can’t stand wind and frost in love, there are only regrets
伤过的心 祈求学会 shāngguò de xīn qíqiú xuéhuì soeng¹ gwo³ dik¹ sam¹ kei⁴ kau⁴ hok⁶ wui the heart that has been hurt, hoping it can learn
经历多少可惜也都不配 jīnglì duōshǎo kěxí yě dū bùpèi ging¹ lik⁶ do¹ siu²³ ho² sik¹ yaa⁵ dou¹ bat¹ pui³ have experienced so much unfortunately we don’t match
明白有几多感人约誓 有几多山盟海誓 míngbái yǒu jǐ duō gǎnrén yuē shì yǒu jǐ duō shānménghǎishì ming⁴ baak⁶ yau⁵ gei² do¹ gam² yan⁴ yoek³ sai⁶ yau⁵ gei² do¹ saan¹ mang⁴ hoi² sai⁶ understand that there are many inspiring vows, many promises
最终都不能一生一世 zuìzhōng dōu bùnéng yīshēng yīshì zeoi³ zung¹ dou¹ bat¹ nang⁴ yat¹ sang¹/saang¹ yat¹ sai³ at the end maybe i need to let go eventually couldn’t last forever
一个相册 一个记忆 yīgè xiàngcè yīgè jìyì yat¹ go³ soeng¹³ caak³ yat¹ go³ gei³ yik¹ one photo album, one memory
一世相处的回忆足印 yīshì xiāngchǔ de huíyì zú yìn yat¹ sai³ soeng¹³ cyu³⁵ dik¹ wui⁴ yik¹ zuk¹ yan³ one memory of sharing life with each other
难敌你出走的决心 nán dí nǐ chūzǒu de juéxīn naan⁴/naan⁶ dik⁶ nei⁵ ceot¹ zau² dik¹ kyut³ sam¹ hard to defy your determination of leaving
每次寂静似刀割 伤得太深 měi cì jìjìng shì dāo gē shāng dé tài shēn mui⁵ ci³ zik⁶ zing⁶ ci⁵ dou¹ got³ soeng¹ dak¹ taai³ sam¹ every time of silence is like knife cuts, hurt too deep
不稀罕给这爱情 留下脚印 bù xīhan gěi zhè àiqíng liú xià jiǎoyìn bat¹ hei¹ hon² kap¹ ze⁵ oi³ cing⁴ lau⁴ haa⁶ goek³ yan³ don’t care to leave footprints in this love
当你不追寻 当你一死心 dāng nǐ bù zhuīxún dāng nǐ yī sǐxīn dong¹³ nei⁵ bat¹ zeoi¹ cam⁴ dong¹³ nei⁵ yat¹ sei² sam¹ when you stop chasing, when you giving up
翡翠粤语歌词 终于知一去不返 这个道理 fěicuì yuèyǔ gēcí zhōngyú zhī yī qù bù fǎn zhège dào lǐ zung¹ yyu¹ zi¹ yat¹ heoi³ bat¹ faan² ze⁵ go³ dou⁶ lei⁵ finally know the principle of never coming back
想再牵手 也没权利 xiǎng zài qiānshǒu yě méi quánlì soeng² zoi³ hin¹ sau² yaa⁵ mut⁶ kyun⁴ lei⁶ even want to hold hands again i don’t have the rights
失去你后捉得紧只得空气 shīqù nǐ hòu zhuō dé jǐn zhǐdé kōngqì sat¹ heoi³ nei⁵ hau⁶ zuk¹ dak¹ gan² zi² dak¹ hung¹ hei³ after losing you air is the only thing i can be able to hold
经不起恋爱风霜 只有后悔 jīng bù qǐ liàn`ài fēngshuāng zhǐyǒu hòuhuǐ ging¹ bat¹ hei² lyun² oi³ fung¹ soeng¹ zi² yau⁵ hau⁶ fui³ can’t stand wind and frost in love, there are only regrets
伤过的心 祈求学会 shāngguò de xīn qíqiú xuéhuì soeng¹ gwo³ dik¹ sam¹ kei⁴ kau⁴ hok⁶ wui the heart that has been hurt, hoping it can learn
经历多少可惜也都不配 jīnglì duōshǎo kěxí yě dū bùpèi ging¹ lik⁶ do¹ siu²³ ho² sik¹ yaa⁵ dou¹ bat¹ pui³ have experienced so much unfortunately we don’t match
明白有几多感人约誓 有几多山盟海誓 míngbái yǒu jǐ duō gǎnrén yuē shì yǒu jǐ duō shānménghǎishì ming⁴ baak⁶ yau⁵ gei² do¹ gam² yan⁴ yoek³ sai⁶ yau⁵ gei² do¹ saan¹ mang⁴ hoi² sai⁶ understand that there are many inspiring vows, many promises
最终都不能一生一世 zuìzhōng dōu bùnéng yīshēng yīshì zeoi³ zung¹ dou¹ bat¹ nang⁴ yat¹ sang¹/saang¹ yat¹ sai³ eventually couldn’t last forever
最后也许终需懂放低 zuìhòu yěxǔ zhōng xū dǒng fàng dī zeoi³ hau⁶ yaa⁵ heoi² zung¹ seoi¹ dung² fong³ dai¹ at the end maybe i need to let go
回忆的一切 多么可贵 最后仍白费 huíyì de yīqiè duōme kěguì zuìhòu réng báifèi wui⁴ yik¹ dik¹ yat¹ cai³ do¹ mo¹ ho² gwai³ zeoi³ hau⁶ ying⁴ baak⁶ fai³ everything in memories, so valuable, at the end it still wasted
翡翠粤语歌词 终于知一去不返 这个道理 fěicuì yuèyǔ gēcí zhōngyú zhī yī qù bù fǎn zhège dào lǐ zung¹ yyu¹ zi¹ yat¹ heoi³ bat¹ faan² ze⁵ go³ dou⁶ lei⁵ finally know the principle of never coming back
想再牵手 也没权利 xiǎng zài qiānshǒu yě méi quánlì soeng² zoi³ hin¹ sau² yaa⁵ mut⁶ kyun⁴ lei⁶ even want to hold hands again i don’t have the rights
失去你后捉得紧只得空气 shīqù nǐ hòu zhuō dé jǐn zhǐdé kōngqì sat¹ heoi³ nei⁵ hau⁶ zuk¹ dak¹ gan² zi² dak¹ hung¹ hei³ after losing you air is the only thing i can be able to hold
经不起恋爱风霜 只有后悔 jīng bù qǐ liàn`ài fēngshuāng zhǐyǒu hòuhuǐ ging¹ bat¹ hei² lyun² oi³ fung¹ soeng¹ zi² yau⁵ hau⁶ fui³ can’t stand wind and frost in love, there are only regrets
伤过的心 祈求学会 shāngguò de xīn qíqiú xuéhuì soeng¹ gwo³ dik¹ sam¹ kei⁴ kau⁴ hok⁶ wui the heart that has been hurt, hoping it can learn
经历多少可惜也都不配 jīnglì duōshǎo kěxí yě dū bùpèi ging¹ lik⁶ do¹ siu²³ ho² sik¹ yaa⁵ dou¹ bat¹ pui³ have experienced so much unfortunately we don’t match
明白有几多感人约誓 有几多山盟海誓 míngbái yǒu jǐ duō gǎnrén yuē shì yǒu jǐ duō shānménghǎishì ming⁴ baak⁶ yau⁵ gei² do¹ gam² yan⁴ yoek³ sai⁶ yau⁵ gei² do¹ saan¹ mang⁴ hoi² sai⁶ understand that there are many inspiring vows, many promises
最终都不能一生一世 zuìzhōng dōu bùnéng yīshēng yīshì zeoi³ zung¹ dou¹ bat¹ nang⁴ yat¹ sang¹/saang¹ yat¹ sai³ eventually couldn’t last forever
其实有几多感人约誓 有几多山盟海誓 qíshí yǒu jǐ duō gǎnrén yuē shì yǒu jǐ duō shān méng hǎi shì kei⁴ sat⁶ yau⁵ gei² do¹ gam² yan⁴ yoek³ sai⁶ yau⁵ gei² do¹ saan¹ mang⁴ hoi² sai⁶ actually how many inspiring vows, how many promises,
到最终可能都给枉费 Dào zuìzhōng kěnéng dōu gěi wǎngfèi dou³ zeoi³ zung¹ ho² nang⁴ dou¹ kap¹ wong² fai³ might get wasted at the end?
Cris Johnson : Here is the thing about the future. Every time you look at, it changes, because you looked at it, and that changes everything else.
Cris Johnson : There’s an Italian painter, named Carlotti, and he uh, ahem, defined beauty. He said it was the summation of the parts working together in such a way that nothing needed to be added, taken away or altered, and that’s you. You’re beautiful. Liz : Wow.
Cris Johnson : I’ve seen every possible ending. None of them are good for you.
Cris Johnson : You don’t believe in destiny? Liz : Well, even if it does exist, I don’t think I want to know. I mean, if every move we make is preordained, then what is the point of that? I mean, life is supposed to be a surprise.[beat] Liz : Isn’t it? Cris Johnson : It would be nice.
Callie Ferris : Tell me what just happened. What did you see? Cris Johnson : If I do what you want, you’ll keep me in this chair forever.
Liz : You can see things before they happen? Cris Johnson : Only my future… except with you. I saw far beyond anything I’d ever seen before. You need to get away from here.
Cris Johnson : [has a premonition of them sharing a kiss] Wow. That was incredible. Liz : What was?Cris Johnson : This.[kisses her]
Cris Johnson : It may be a week, or a month, but if you can wait, I will find you.
Cris Johnson : Every once in a while what we think is magic is the real deal hiding behind a $50.00 trick, because the alternative is impossible for others to live with.
Cris Johnson : Did you hear about the zen monk who ordered a hot dog? He said he had one with everything
Cris Johnson : I have a small magic act back in Vegas. The Frank Cadillac Show. Liz : I thought your name was Cris. Cris Johnson : It is. Frank Cadillac is my stage name. Liz : How’d you come up with that? Cris Johnson : I picked two things I really like and put them together. Frankenstein and Cadillacs.
Cris Johnson : [Chris knows he’s about to be punched by Liz’s stalker. Gritting his teeth] Incoming.[gets punched in the face]
Cris Johnson : It helps if you don’t speak right now.
Callie Ferris : Let’s talk about something hard. A stolen nuclear munition is being smuggled into the United States, or may, in fact, already be here. I want you to look ahead and tell me where it’s going to be deployed.Cris Johnson : Uh… I think you’ve got the wrong guy. It’s a magic act.Callie Ferris : You going to stick with that story? Because millions of lives are at risk and you could, maybe, prevent a major catastrophe. On a practical note, we’re standing in front of a stolen vehicle and you’re wanted for assault involving a weapon at the casino.Cris Johnson : All right, that was an accident. He had a gun. He was going to shoot two people.Callie Ferris : Yeah? How’d you know that? No good deed goes unpunished, does it? I can fix your legal problems, buddy, but you’ve got to step up. Otherwise, your next magic show is going to be at Folsom State Prison.Cris Johnson : It’s ironic, but people like you who try to help have been torturing me, in the full sense of the word, since I was three years old. What did they call it? Oh, yeah. Observed play therapy. Featuring, the marathon 36-hour, can-you-guess-the-next-flash-card game. So, please, leave me alone and let me live some semblance of a normal life.Callie Ferris : I’d love to indulge your feelings, but I am dealing with a slightly larger picture right now. Now you can exercise your responsibility to help your fellow man or I will exercise that responsibility for you.
Cris Johnson : [to agent who keeps interrupting him while he’s trying to brief the team] if you will SHUT UP now, and do EXACTLY what I tell you to do, I’ll keep you alive.
Bahasa Kanton adalah bahasa yang dipakai oleh sekelompok orang dari wilayah Tiongkok bagian tenggara. Orang Kanton banyak tinggal di Guangdong, Guangxi Timur, Hong Kong, dan Makau. Di Indonesia, orang Kanton biasa disebut Konghu.
Bahasa Kanton (广东话/廣東話, secara harafiah: bahasa Guangdong; di Indonesia sering disebut bahasa Konghu) adalah salah satu dari dialek bahasa Tionghoa Yue yang dituturkan di Guangdong dan sekitarnya di Republik Rakyat China selatan, Hong Kong, Makau, masyarakat keturunan Tionghoa di Asia Tenggara dan juga masyarakat Tionghoa di belahan dunia lain. Bahasa Kanton merupakan dialek prestise tradisional dari Yue.
Banyak orang di HK bahkan tidak bisa lagi membedakan antara suara ‘n’ dan ‘l’. Saya baru saja menonton iklan Nike di mana seorang pria berbicara tentang betapa dia menyukai pakaian “likee” dan YoungQueenz masih bernyanyi tentang “locking on Heaven’s pintu” :-). Ini bukan pengucapan “malas” sebagai gabungan suara yang sebenarnya. Seorang teman saya sedang mencoba untuk memperbaiki suara n vs l-nya, dan sekarang dia sering mengoreksi dan berbicara tentang “mendekati” perbedaannya antara dua suara.
看 看著你的臉 躺在我枕邊
Hon hon jeuk nei dik lim tong joi ngo jam bin look look at your face lying on my pillow
是你令時光蔓延
Si nei ling si gwong maan yin it’s you who make time spread
你 折射了光線 刷亮我眼邊
Nei jit se liu gwong sin chaat leung ngo ngaan bin You refracted the light and brushed my eyes
午後陽光彷彿給你加冕
Ng hau yeung gwong fong fat kap nei ga min The afternoon sun seems to crown you
不管身邊多改變 只顧這日誓言
Bat gun san bin do goi bin ji gu je yat sai yin No matter how many changes around me, I only care about this day’s oath
一聲不發在你身邊
Yat seng bat faat joi nei san bin stay by your side without saying a word
不許你注定一人 永遠共你去抱緊 Bat heui nei jyu ding yat yan wing yun gung nei heui pou gang You are not destined to be alone, I will always hug you tightly
一生中百樣可能 愛上你是種緣份 Yat sang jung baak yeung ho nang oi seung nei si jung yun fan There are hundreds of possibilities in life, falling in love with you is a kind of fate
簡單的一吻 手心的抖震 Gaan daan dik yat man sau sam dik dau jan A simple kiss, the shaking of the palm
示意我再不必孤單寄生 Si yi ngo joi bat bit gu daan gei saang Show me that I don’t have to be alone anymore
只想會有日可能 與你共姓的身份 Ji seuing wui yau yat ho nang yu nei gung sing dik san fan I just want to have the possibility to share the same surname with you
要回望這生 也有你陪襯 Yiu wui mong je saang ya yau nei pui chan I want to look back on this life with you as a foil
不作陌生人 只做你情人 不枉此生 Bat jok mak sang yan ji jou nei ching yan bat wong chi saang Don’t be a stranger, just be your lover, this life is not in vain
♪♪♪♪
怕 看著你走遠 歲月實太淺 Pa hon jeuk nei jau yun seui yut sat taai chin Afraid to see you go far away, the years are too short
若有日迷失歸家方向不變 Yeuk yau yat mai sat gwai ga fong heung bat bin If one day I get lost and go home, my direction remains the same
不管天開始積雪 這世界再決絕 Bat gun tin hoi chi jik syut je sai gaai joi kyut jyut No matter if the sky starts to snow, the world will never again
都想跟你渡過辛酸 Dou seung gan nei dou gwo san syun I want to spend bitterness with you
不許你注定一人 永遠共你去抱緊 Bat heui nei jyu ding yat yan wing yun gung nei heui pou gang You are not destined to be alone, I will always hug you tightly
一生中百樣可能 愛上你是種緣份 Yat sang jung baak yeung ho nang oi seung nei si jung yun fan There are hundreds of possibilities in life, falling in love with you is a kind of fate
簡單的一吻 手心的抖震 Gaan daan dik yat man sau sam dik dau jan A simple kiss, the shaking of the palm
示意我再不必孤單寄生 Si yi ngo joi bat bit gu daan gei saang Show me that I don’t have to be alone anymore
只想會有日可能 與你共姓的身份 Ji seuing wui yau yat ho nang yu nei gung sing dik san fan I just want to have the possibility to share the same surname with you
要回望這生 也有你陪襯 Yiu wui mong je saang ya yau nei pui chan I want to look back on this life with you as a foil
不作陌生人 只做你情人 不枉此生 Bat jok mak sang yan ji jou nei ching yan bat wong chi saang Don’t be a stranger, just be your lover, this life is not in vain
…
從來不相信一生一愛侶 從來不堪一對 Chung loi bat seung seun yat saang yat oi leui chung loi bat ham yat deui I never believe that there will be one lover in my life, and I will never be a couple
別再等 別再等 是你的聲音給方向感 Bit joi dang bit joi dang si nei dik seng yam kap fong heung gam Don’t wait, don’t wait, it’s your voice that gives you the sense of direction
不許你注定一人 永遠共你去抱緊 Bat heui nei jyu ding yat yan wing yun gung nei heui pou gang You are not destined to be alone, I will always hug you tightly
一生中百樣可能 愛上你是種緣份 Yat sang jung baak yeung ho nang oi seung nei si jung yun fan There are hundreds of possibilities in life, falling in love with you is a kind of fate
簡單的一吻 手心的抖震 Gaan daan dik yat man sau sam dik dau jan A simple kiss, the shaking of the palm
示意我再不必孤單寄生 Si yi ngo joi bat bit gu daan gei saang Show me that I don’t have to be alone anymore
只想會有日可能 與你共姓的身份 Ji seuing wui yau yat ho nang yu nei gung sing dik san fan I just want to have the possibility to share the same surname with you
要回望這生 也有你陪襯 Yiu wui mong je saang ya yau nei pui chan I want to look back on this life with you as a foil
不作陌生人 只做你情人 不枉此生 Bat jok mak sang yan ji jou nei ching yan bat wong chi saang Don’t be a stranger, just be your lover, this life is not in vain