[Program Analysis] CHA Analysis in Soot

source

Helper Class

CHACallNode

I use a Node to record the caller callee and which invoke method the Call node is calling. The invoke method is recorded in an integer which is the offset for the following enum

enum InvokeMorphism {
    InterfaceInvokeExpr,
    VirtualInvokeExpr,
    SpecialInvokeExpr,
    StaticInvokeExpr,
    JStaticInvokeExpr,
    JSpecialInvokeExpr,
    JVirtualInvokeExpr,
    JInterfaceInvokeExpr
}

The toString method are overridden for linting the line and the <CHAInput: void main(java.lang.String[])>-><CHAInput: int addOne(int)>.

ReachableMethods

This method maintains Set<SootMethod>. The toString method to linting the line Reachable.

CHAAnalysis

This class maintains the CallerCalleeMap for the latter use by virtual calls, the cha_class contains the information of Class FastHierachy, entries will store the init entries and will put it into the worklist queue, it will add to worklist if the function is invoked and reachable from the stand view from method main. unitSootMethodMap is to store the unit method relations and will init in the first place and will be used in the call printing.

深造加油站——给学弟学妹的一些建议

本页使用 react-pdf 模版 https://github.com/victoryang00/react-pdf-switcher

https://asplos.dev/wordpress/wp-content/uploads/2022/03/深造加油站第六期-SOP-杨易为.pdf
https://asplos.dev/wordpress/wp-content/uploads/2022/03/深造加油站第二期-暑期科研-杨易为.pdf
https://youtube.com/watch?v=0VROeJODkDU

Install Asahi Linux

❯ curlie https://alx.sh | sudo sh                                                                                (base)
HTTP/2 200
server: nginx/1.21.1
date: Sat, 19 Mar 2022 15:19:56 GMT
content-type: text/plain; charset=utf-8
content-length: 967
cache-control: max-age=300
content-security-policy: default-src 'none'; style-src 'unsafe-inline'; sandbox
etag: "af389cf3253fe3f924350c99c293434d1c78883b3c51676bf954211c7bb0872b"
strict-transport-security: max-age=31536000
x-content-type-options: nosniff
x-frame-options: deny
x-xss-protection: 1; mode=block
x-github-request-id: 821E:6DAB:83C117:8E8F7F:623518DF
accept-ranges: bytes
via: 1.1 varnish
x-served-by: cache-fra19151-FRA
x-cache: HIT
x-cache-hits: 1
x-timer: S1647703197.985480,VS0,VE1
vary: Authorization,Accept-Encoding,Origin
access-control-allow-origin: *
x-fastly-request-id: 7ac18bfda3e671762cc598d7521b9663e583d871
expires: Sat, 19 Mar 2022 15:24:56 GMT
source-age: 195
strict-transport-security: max-age=31536000;


Bootstrapping installer:
  Checking version...
  Version: v0.3.5
  Downloading...
  Extracting...
  Initializing...


Welcome to the Asahi Linux installer!

This installer is in an alpha state, and may not work for everyone.
It is intended for developers and early adopters who are comfortable
debugging issues or providing detailed bug reports.

Please make sure you are familiar with our documentation at:
  https://alx.sh/w

Press enter to continue.


By default, this installer will hide certain advanced options that
are only useful for developers. You can enable expert mode to show them.
» Enable expert mode? (y/N): y

Collecting system information...
  Product name: MacBook Pro (16-inch, 2021)
  SoC: Apple M1 Max
  Device class: j316cap
  Product type: MacBookPro18,2
  Board ID: 0xa
  Chip ID: 0x6001
  System firmware: iBoot-7459.101.2
  Boot UUID: 57F7E9CF-77CE-4D0F-83A4-15967BA49F69
  Boot VGID: 57F7E9CF-77CE-4D0F-83A4-15967BA49F69
  Default boot VGID: 57F7E9CF-77CE-4D0F-83A4-15967BA49F69
  Boot mode: macOS
  OS version: 12.3 (21E230)
  System rOS version: 12.3 (21E230)
  No Fallback rOS
  Login user: yiweiyang

Collecting partition information...
  System disk: disk0

Collecting OS information...

Partitions in system disk (disk0):
  1: APFS [Macintosh HD] (850.00 GB, 6 volumes)
    OS: [B*] [Macintosh HD] macOS v12.3 [disk3s1, 57F7E9CF-77CE-4D0F-83A4-15967BA49F69]
  2: (free space: 144.66 GB)
  3: APFS (System Recovery) (5.37 GB, 2 volumes)
    OS: [  ] recoveryOS v12.3 [Primary recoveryOS]

  [B ] = Booted OS, [R ] = Booted recovery, [? ] = Unknown
  [ *] = Default boot volume

Using OS 'Macintosh HD' (disk3s1) for machine authentication.

Choose what to do:
  f: Install an OS into free space
  r: Resize an existing partition to make space for a new OS
  q: Quit without doing anything
» Action (f): f

Choose an OS to install:
  1: Asahi Linux Desktop
  2: Asahi Linux Minimal (Arch Linux ARM)
  3: UEFI environment only (m1n1 + U-Boot + ESP)
  4: Tethered boot (m1n1, for development)
» OS: 1

Downloading OS package info...
.

Minimum required space for this OS: 15.00 GB

Available free space: 144.66 GB

How much space should be allocated to the new OS?
  You can enter a size such as '1GB', a fraction such as '50%',
  the word 'min' for the smallest allowable size, or
  the word 'max' to use all available space.
» New OS size (max): max

The new OS will be allocated 144.66 GB of space,
leaving 167.94 KB of free space.

Enter a name for your OS
» OS name (Asahi Linux):

Choose the macOS version to use for boot firmware:
(If unsure, just press enter)
  1: 12.3
» Version (1): 1

Using macOS 12.3 for OS firmware

Downloading macOS OS package info...
.

Creating new stub macOS named Asahi Linux
Installing stub macOS into disk0s5 (Asahi Linux)
Preparing target volumes...
Checking volumes...
Beginning stub OS install...
++
Setting up System volume...
Setting up Data volume...
Setting up Preboot volume...
++++++++++
Setting up Recovery volume...
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++
Wrapping up...

Stub OS installation complete.

Adding partition EFI (500.17 MB)...
  Formatting as FAT...
Adding partition Root (144.16 GB)...
Collecting firmware...
Installing OS...
  Copying from esp into disk0s4 partition...
+
  Copying firmware into disk0s4 partition...
  Extracting root.img into disk0s7 partition...
++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++
+++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++Error downloading data (IncompleteRead(10240000 bytes read, 1294336 more expected)), retrying... (1/5)
+Error downloading data (IncompleteRead(1130496 bytes read, 10403840 more expected)), retrying... (2/5)
+++++++++++++++++++++++++++++++++++++Error downloading data (IncompleteRead(5979282 bytes read, 5555054 more expected)), retrying... (1/5)
+++++++
Preparing to finish installation...
Collecting installer data...

To continue the installation, you will need to enter your macOS
admin credentials.

Password for yiweiyang:

Setting the new OS as the default boot volume...

Installation successful!

Install information:
  APFS VGID: 052A3A5A-E253-4B46-AF6A-F9615F39844B
  EFI PARTUUID: 487bfda1-77ae-4a4c-8462-3cba91f073a7

To be able to boot your new OS, you will need to complete one more step.
Please read the following instructions carefully. Failure to do so
will leave your new installation in an unbootable state.

Press enter to continue.




When the system shuts down, follow these steps:

1. Wait 15 seconds for the system to fully shut down.
2. Press and hold down the power button to power on the system.
   * It is important that the system be fully powered off before this step,
     and that you press and hold down the button once, not multiple times.
     This is required to put the machine into the right mode.
3. Release it once 'Entering startup options' is displayed,
   or you see a spinner.
4. Wait for the volume list to appear.
5. Choose 'Asahi Linux'.
6. You will briefly see a 'macOS Recovery' dialog.
   * If you are asked to 'Select a volume to recover',
     then choose your normal macOS volume and click Next.
     You may need to authenticate yourself with your macOS credentials.
7. Once the 'Asahi Linux installer' screen appears, follow the prompts.

Press enter to shut down the system.

Twitter card `ERROR: Failed to fetch page due to: ChannelClosed` pitfalls behind Nginx proxy

Twitter seems not to accept my newly composed wordpress behind nginx with error code ERROR: Failed to fetch page due to: ChannelClosed

Using tcpdump -i eth1 -X -e -w test.cap on my psychz VPS. it gets

Sounds the handshakes return with different SSL version. ssl_ciphers 'ECDHE-RSA-AES256-GCM-SHA512:DHE-RSA-AES256-GCM-SHA512:ECDHE-ECDSA-AES256-GCM-SHA384:ECDHE-ECDSA-AES256-SHA384:ECDHE-RSA-AES256-GCM-SHA384:DHE-RSA-AES256-GCM-SHA384:ECDHE-RSA-AES256-SHA384:ECDHE-RSA-AES128-GCM-SHA256:ECDHE-ECDSA-AES128-GCM-SHA256:!3DES'; from https://wordpress.org/support/topic/twitter-card-images-not-showing/ did not work. So, eventually, I found I didn't switch on the Cloudflare full encryption. Everything is good.

中华文化在西方价值盛行的当下女性择偶选择中的重要作用分析 ——周易与文化论文

  :在西方价值当道的当今社会,“资本”是两性问题的主要矛盾,网红当道、刚柔混杂、巨婴盛行、西式哲学霸屏,当热搜上从来只有流量明星的时候,而祖辈却有着共同的模范。从一个有前瞻性和有历史观的角度来讲,中国立场历代的阵痛期过后都能引向一个众人崇拜文化的稳定期,而今便是两个阶段的转折点。身为一个女性,当如何能把选择男性这件事变得更高雅,更具传承性?当中华文化经历了先破而后立时,我们应该向传统文化取经。

关键词:两性选择 中华文化 择偶 西方价值

李零:《周易》是本什么样的书_历史频道_新浪网

文化是什么?“刚柔交错,天文也。文明以止,人文也。观乎天文,以察时变。观乎人文,以化成天下”,在那最原始而古老的智慧精英的言语里,我们都能看出人与野蛮人最大的区别,就是人能顺应天文即自然,又葆有男刚女柔的人性。在古代中国的框架下,文化是关于人的一套思想行为人性,这种思维模式根生在每一个中国人脑子里,在两性择偶、阴阳结合的过程中,除了车房票这种“普世价值”的“资本”,我们仍应皈依根之所在。反观现世,大伙们沉浸在外力下趋利避害的怪圈中无法自拔。

郭敬明的《小时代》中讲述了一个这样的故事:女主角出身平凡却以外踏入“上流社会”,在经历嘲讽后她没有像童话故事里那样奋起反抗,而是适应了这个拜金社会,小说本无宏伟叙事或人性剖析,却在发表后迅速升温,或许原因就在于它深深地刺痛了国人敏感的神经。

几十年前的“大时代”里国家社会人民都有着共同的宏伟目标、恢弘的叙事格局,随着大时代的中介,网络媒体对社会阴暗的大规模披露,西方后现代主义思潮的引入,对于没有钱权的凡人来说,愈发感到自身的渺小和对自我存在的迷茫,身份迷失的焦虑,使之把一生的赌注下到能让自己享尽荣华富贵的公子。对比车房票的实在和踏实,有知识的人被曲解为忽悠人,但他们可能是十足的潜力股,在中华古籍中,真有对男性几个高质量的选角标准。但为何我说未来的中国人一定会更加崇拜那些有文化的人?因为中国历史上的才子哪一个不是“腹有诗书气自华”。文官武将皆受用。辛弃疾的“满江红,怒发冲冠凭栏处。”不知道还以为是一个文绉绉的柔弱男子,却是一个戍边的将士。最下贱的渣男徐志摩,靠一点风花雪月就能倾倒众生,更别提现世的扇扇子胖子还是写文章赛车手了。说到中华文化,丈母娘是继承中华文化当中汉字“家”的由来最直接也最世俗实在的一派。三千多年前仓颉造字的时候就知道家是由“”房子和“豕”野猪,也就是钱,她们事必门当户对,事必一房一名一证。拥有文化的人,能自然而然地产生大格局,博大胸怀,不卑不亢,对此间种种在阅后思考过后释然。一个有文化的人,他做事一定分得清轻重缓急,优先劣后。他对爱他的人一定会包容呵护。对不爱他的人一定会动之以情、晓之以理。他的斗争方式一定是有理、有据、有节,而不是成为仇恨的发起方,向宿舍里投毒。面对丈母娘的连番“轰炸”,绝不会因为没有票而放弃对阴阳结合喜悦的追求。绝对不会做软弱的一方,成为巨婴放任自己父母的冷酷无情,一定不会酿成孕妇跳楼案这种惨案。人的纠纷结起于利益、权力,终于胜者的欢笑、败者的遗憾。

听闻此间种种,究其本质是中华文化的再传承问题。古代从老庄开始至清朝陨灭的天人合一,德行合一,“一陰一陽之謂道,繼之者善也,成之者性也。”究其人生的意义,莫不是一种万物苍生阴阳合而万物生的“道可道,非常道”。中国人受困苦的时间久了,有种出人头地的向往,而西方作为最开始用船坚炮利打开国门的那个怪物,使我华夏儿女对其趋之若鹜。从“世界真大,我想出去看看”到“国外的月亮就是圆”,从而放弃“落叶归根”。说话满腔:“人生下来就一定有原罪,人生的意义就是在赎罪,直到世界末日那天可以得到救赎”。言必称民国时期的鲁迅破后没有完成文化的再立。历史与文化是紧密结合的,文化的断层就是历史的裂缝。当今而立之年的男子,家须与国结合在一起,一个阳刚的男人,不能离于梦境而陷于梦境,落成个沉睡的民族,没有冲破桎梏的觉悟,也竟只是困顿与迷离中的颉颃。

拥有文化的人,能对现世的种种乱象针砭时弊,并淡然面对追本溯源。他知道:“纲举目张,执本末从”。他懂得望眼欲穿而不说破,却也能看懂那些超越时代的领军者。如今的娱乐圈,娘炮当道,日韩文化当道,殊不知是一种日韩化妆品公司和娱乐产业的洗脑手段,先鼓吹化妆的人,无论男女都会显得高级,再以高价卖出。再者说男星网红直播卖唱的,在古代叫伶人,属于比下九流还低的伶人。他们才是真正值得被同情的人。现世社会的主要矛盾是修齐治平,而非哗众取宠,引来一帮娱乐至死的乌合之众。无论昂贵的化妆品还是反串服装在古人看来都是身外之物。苏轼在《宝绘堂记》中说:“君子可以寓意于物,不可留意于物。”若是欣赏风景只能局限于风景本身,终只能浅尝辄止,而不能体察深韵。女生男生貌似都不能免俗。但真正灵魂的交融,还得精神上的阴阳结合。无尽的泡沫铺陈排序,阻挡了心灵的星空布景,创造了一个富丽堂皇的假象。

拥有文化的人,必拥有道德。文化的最高境界是修身齐家治国平天下。穷则独善其身,达则兼济天下;而非穷则报复社会,达则肉林酒池。“君子居其室,出其言,善則千里之外應之,況其邇者乎,居其室,出其言不善,則千里之外違之。”说的是一个君子的内外一致。往生活的琐事里讲,他绝不会拉良家女子下水,但一定会劝风尘女子上岸。往高层建筑衍生,他必然会为了实现人生的意义不断提高自己的修为。他必然满腔热血,先天下之忧而忧,后天下之乐而乐,深知天下兴亡,匹夫有责。林语堂在《吾国与吾民》中畅谈国人的怯懦,借用西方的国族的概念去唤醒更多的兴亡匹夫。与有家国情怀的人相处,虽少了点事故的情趣,却多了份崇高的可爱。

当然,这个世界上有很多否认中华文化存在的意义。鲁迅指出了文化的劣根性,但这种否认不是否认中华文化本身,而是敲醒当时的中华名族。从现实意义上来说,谈及男女之间关系,一定不是盲目的攫取西哲的养分从而忘记了自己的起源。作为中国人,或许很难理解斯宾诺莎的泛神论思想:宇宙的一切就是神本身,也很难理解康德的:事物本身与人所看到的事物是不同的,人永远无法确知事物的真正面貌。抑或是黑格尔的绝对精神:它是宇宙万物的内在本质和核心,万物知识它的外在表现。在寻求叔本华的作为意志和表象的世界,进入了他的虚无主义之后才匍匐着知道:意志是世界的本质。尼采又说,上帝死了,人的本质是强力意志。又试图理解罗素的逻辑学,弗洛伊德的精神分析学,荣格的分析心理学,柏拉图的爱情咖啡馆,斯宾格勒的《西方的没落》,哈贝马斯的马克思公共领域学说,施特劳斯的钢琴曲。这些虽然有的自相矛盾,但都能在一脉相承的中华道儒法学说中找到对应的说法。一个有文化的人,一定有对自己生活着的这片土地的文化自信。唯心的巫术和唯物的哲学或者第二哲学物理似乎是那么的格格不入,两者结合,或者相互借鉴,亦能擦出别样的爱情火花。

参考文献:

1.杜新會,《周易与婚姻》,华夏出版社2009年版。

2.刘大钧,《周易概论》,上海古籍出版社1999年版。

3.孔子等人,《周易》,商务印书馆1988年版。

4.凯伦·阿姆斯特朗,《轴心时代:人类伟大宗教传统的开端》,海南出版社 2010年版。

5.林语堂,《吾国与吾民》陕西师范大学出版社2006年版。

6.苏轼,《苏轼文集》,岳麓书社2000年版。

7.林语堂,《苏东坡传》,陕西师范大学出版社2006年版。

8.黑格尔,《自然哲学》商务印书馆1980年版。

9.张汝伦,《德国哲学十论》复旦大学出版社2004年版

和 Bazinga 的无妆武汉赏樱之旅😄

首先感谢小longwendashen的 Go Pro 6 black

2019 Serendipity

Yiwei Yang 发布于 2019年10月6日周日

一盞離愁 孤單佇立在窗口
我在門後 假裝妳人還沒走
舊地如重遊 月圓更寂寞
夜半清醒的燭火 不忍苛責

我一壺漂泊 浪跡天涯難入喉
妳走之後 酒暖回憶思念瘦
水向東流 時間怎麼偷
花開就一次成熟 我卻錯過

誰在用琵琶彈奏 一曲東風破
歲月在牆上剝落 看見小時候
猶記得那年我們都還很年幼
而如今琴聲幽幽 我的等候 妳沒聽過

誰在用琵琶彈奏 一曲東風破
楓葉將故事染色 結局我看透
籬笆外的古道 我牽著你走過
荒煙漫草的年頭 就連分手都很沉默

一壺漂泊 浪跡天涯難入喉
妳走之後 酒暖回憶思念瘦
水向東流 時間怎麼偷
花開就一次成熟 我卻錯過

誰在用琵琶彈奏 一曲東風破
歲月在牆上剝落 看見小時候
猶記得那年我們都還很年幼
而如今琴聲幽幽 我的等候 妳沒聽過

誰在用琵琶彈奏 一曲東風破
楓葉將故事染色 結局我看透
籬笆外的古道 我牽著你走過
荒煙漫草的年頭 就連分手都

誰在用琵琶彈奏 一曲東風破
歲月在牆上剝落 看見小時候
猶記得那年我們都還很年幼
而如今琴聲幽幽 我的等候 妳沒聽過

誰在用琵琶彈奏 一曲東風破
楓葉將故事染色 結局我看透
籬笆外的古道 我牽著你走過
荒煙漫草的年頭 就連分手都很沉默