<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2" -->
<rss version="2.0">
    <channel>
        <title>Lowyat.NET: Latest topics by MatQuasar</title>
        <description></description>
        <link>http://forum.lowyat.net/</link>
        <lastBuildDate>Thu, 04 Jun 2026 17:48:58 +0800</lastBuildDate>
        <generator>FeedCreator 1.7.2</generator>
        <item>
            <title>Shortest code for a hexdump program</title>
            <link>http://forum.lowyat.net/topic/5544997</link>
            <description>The code must be able to open a file, and print the address, hex value, and ASCII char side-by-side like below:&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;00000000    7F  45  4C  46  02  01  01  03  00  00  00  00  00  00  00  00      .ELF............&lt;br /&gt;00000010    02  00  3E  00  01  00  00  00  B0  00  40  00  00  00  00  00      ..&amp;#62;.......@.....&lt;br /&gt;00000020    40  00  00  00  00  00  00  00  00  00  00  00  00  00  00  00      @...............&lt;br /&gt;00000030    00  00  00  00  40  00  38  00  02  00  40  00  00  00  00  00      ....@.8...@..... &lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;Anyone want to try?&lt;br /&gt;&lt;br /&gt;My shortest code is in FASM, but you can try in other programming language.&lt;br /&gt;&lt;br /&gt;You can use third-party library or system library.&lt;br /&gt;&lt;br /&gt;My solution: (you can import the function in C/ C++ / C#)&lt;br /&gt;&lt;!--SPOILER BEGIN--&gt;&lt;div class=&quot;spoilertop&quot; onClick=&quot;openClose('4917a7718752be5bd56df571a8a7f338')&quot; style=&quot;font-weight: bold&quot;&gt;&lt;u&gt;&amp;raquo; Click to show Spoiler - click again to hide... &amp;laquo;&lt;/u&gt;&lt;/div&gt;&lt;div class=&quot;spoilermain&quot; id=&quot;4917a7718752be5bd56df571a8a7f338&quot; style=&quot;display:none&quot;&gt;&lt;!--SPOILER END--&gt;https://learn.microsoft.com/en-us/windows/win32/api/wincrypt/nf-wincrypt-cryptbinarytostringa&lt;br /&gt;&lt;br /&gt;CRYPT_STRING_HEXASCIIADDR&lt;br /&gt;0x0000000b&lt;br /&gt;Hexadecimal, with ASCII character and address display.&lt;!--SPOILER DIV--&gt;&lt;/div&gt;&lt;!--SPOILER DIV--&gt;</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Sun, 02 Nov 2025 16:28:15 +0800</pubDate>
        </item>
        <item>
            <title>Example of Linux polyglot file</title>
            <link>http://forum.lowyat.net/topic/5544267</link>
            <description>Some polyglot file can be more than 2 file formats, for example, ELF + PDF + JS.&lt;br /&gt;&lt;br /&gt;&lt;a href='https://github.com/binarygolf/BGGP/issues/152' target='_blank'&gt;https://github.com/binarygolf/BGGP/issues/152&lt;/a&gt;</description>
            <author>MatQuasar</author>
            <category>Linux &amp;amp; Open Source Software</category>
            <pubDate>Sun, 26 Oct 2025 17:49:08 +0800</pubDate>
        </item>
        <item>
            <title>Topics not bumped in Service Noticeboard</title>
            <link>http://forum.lowyat.net/topic/5543271</link>
            <description>Newly bumped topics were not promoted to above older post.&lt;br /&gt;&lt;img src='https://pictr.com/images/2025/10/18/xWO87Y.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Please ignore this Bug Report if this is the intended behaviour.&lt;/b&gt;</description>
            <author>MatQuasar</author>
            <category>Feedback and Helpdesk</category>
            <pubDate>Sat, 18 Oct 2025 01:06:21 +0800</pubDate>
        </item>
        <item>
            <title>A simple PE analysis tool for reverse engineers</title>
            <link>http://forum.lowyat.net/topic/5543264</link>
            <description>Hi, in April 2025, I created a small Win32 app (minimum requirement: Windows XP) in FASM that can let you open an executable file (e.g. EXE, DLL, SYS) and you&amp;#39;ll get simple description such as:&lt;br /&gt;1. &amp;quot;32-bit Console App&amp;quot;&lt;br /&gt;2. &amp;quot;32-bit GUI App&amp;quot;&lt;br /&gt;3. &amp;quot;64-bit Console App&amp;quot;&lt;br /&gt;4. &amp;quot;64-bit GUI App&amp;quot;&lt;br /&gt;&lt;br /&gt;For any other type of subsystem, it will just merely states:&lt;br /&gt;1. &amp;quot;32-bit PE file&amp;quot;&lt;br /&gt;2. &amp;quot;64-bit PE file&amp;quot;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2025/10/17/xWOr4v.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;The source code (pemenu.txt) is included.&lt;br /&gt;&lt;br /&gt;I have published this program in SherpaSec cybersecurity Discord server before. To get the source code to compile, you&amp;#39;ll need Flat Assembler for Windows.&lt;br /&gt;&lt;br /&gt;The command-line version is only available upon request, since it is not popular. Many prefer GUI app.</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Fri, 17 Oct 2025 23:44:13 +0800</pubDate>
        </item>
        <item>
            <title>My first database program in Assembly language</title>
            <link>http://forum.lowyat.net/topic/5543220</link>
            <description>My latest hobby project is a Win32 database program written in FASM, based on SQLite3.dll.&lt;br /&gt;&lt;br /&gt;It allows CRUD, but I have issue with Update and Remove in indexing if you start remove items in the middle of the list, it won&amp;#39;t update the database although it appears correctly in GUI window.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2025/10/17/xWFh9j.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;SQLite3.dll is decades old, I got the example and file from another fellow Malaysian &amp;quot;yeohhs&amp;quot;, who had uploaded several FASM tutorial examples.&lt;br /&gt;&lt;br /&gt;The code to fetch SELECT query in my program is different than what I did last time in Visual Basic 6, the result set returned by &amp;#39;sqlite3_get_table&amp;#39; function is in memory pointer format, and the first row is always column header. If I have two columns, then each cell is 4-byte long (memory address), which mean each row is 8-byte long.&lt;br /&gt;&lt;br /&gt;Nonetheless, it was fun to program a SQL database program in Assembly language. If you are in Developer Kaki group, you may already see I have showcased this in last July.&lt;br /&gt;&lt;br /&gt;If you want to run, here&amp;#39;s how:&lt;br /&gt;1) Download &amp;#39;dbform.txt&amp;#39; and &amp;#39;sqlite3.zip&amp;#39;&lt;br /&gt;2) Unzip sqlite3.zip and you&amp;#39;ll get one file - sqlite3.dll&lt;br /&gt;3) Rename dbform.txt to dbform.asm&lt;br /&gt;4) Download Flat Assembler for Windows&lt;br /&gt;5) Run FASMW.EXE and open dbform.asm&lt;br /&gt;6) Click Compile (or Run)&lt;br /&gt;7) Please make sure sqlite3.dll and dbform.exe are in the same directory&lt;br /&gt;8) After you run, you&amp;#39;ll notice dbform1.dat file-based database is created</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Fri, 17 Oct 2025 16:42:21 +0800</pubDate>
        </item>
        <item>
            <title>BGGP6 is happening this Saturday</title>
            <link>http://forum.lowyat.net/topic/5543119</link>
            <description>BGGP is an annual small file competition.&lt;br /&gt;&lt;br /&gt;Past challenges were:&lt;br /&gt;&lt;br /&gt;- BGGP1 (2020) - Palindrome&lt;br /&gt;- BGGP2 (2021) - Polyglot&lt;br /&gt;- BGGP3 (2022) - Crash&lt;br /&gt;- BGGP4 (2023) - Replicate&lt;br /&gt;- BGGP5 (2024) - Download&lt;br /&gt;&lt;br /&gt;For BGGP4 and BGGP5, participants sent in a lot of entries in multiple file formats and programming languages.&lt;br /&gt;&lt;br /&gt;BGGP6 for 2025, is expected to begin this Saturday (Oct 18 Eastern Time) as the organizer has postponed it from northern summer to northern fall.&lt;br /&gt;&lt;br /&gt;Get your hex editor ready. I will post more once it has begun.&lt;br /&gt;&lt;br /&gt;Announcement:&lt;br /&gt;&lt;a href='https://haunted.computer/@netspooky/115357200184400163' target='_blank'&gt;https://haunted.computer/@netspooky/115357200184400163&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Website: &lt;a href='https://binary.golf' target='_blank'&gt;https://binary.golf&lt;/a&gt;</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Thu, 16 Oct 2025 18:40:49 +0800</pubDate>
        </item>
        <item>
            <title>First time using Wireshark</title>
            <link>http://forum.lowyat.net/topic/5429634</link>
            <description>This is where to download Wireshark:&lt;br /&gt;&lt;a href='https://www.wireshark.org/download.html' target='_blank'&gt;https://www.wireshark.org/download.html&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Wireshark 4.2 for packet analysis, is an open source&amp;#33;&lt;br /&gt;It comes in 64-bit installer for Windows (82MB)&lt;br /&gt;&lt;br /&gt;What is a Packet?&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;In networking, a packet is a small segment of a larger message. &lt;br /&gt;Data sent over computer networks, such as the Internet, is divided into packets.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;---Definition by Cloudflare&lt;br /&gt;&lt;br /&gt;In other word, a packet is definitely more than a byte, maybe a chunk of bytes.&lt;br /&gt;&lt;br /&gt;It lets me choose external capture tools: (including Android device)&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4woA.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;It requires external Npcap or WinPcap to capture live network data.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4Iq6.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;It also requres external USBPcap to capture USB traffic.&lt;br /&gt;&lt;br /&gt;What is Packet Capture?&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;It enables network managers to capture data packets directly from the computer network. &lt;br /&gt;The process is known as packet sniffing.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;...which means Wireshark is the network manager, WinPcap and USBPcap is the external driver required by Wireshark to enable live traffic capture.&lt;br /&gt;&lt;br /&gt;So this is how Wireshark Start item loooks like in Start menu:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4frq.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;After the window open, it looks like this:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4jxO.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;I choose &amp;quot;Capture Wi-Fi&amp;quot;:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4odI.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;You can start, stop, restart capture, or select Capture Filters:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4AXr.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Can see &amp;quot;iPhone local&amp;quot;, but not sure if this is useful info:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4ChY.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;So far, it says 1565 packets, and keep counting.&lt;br /&gt;Looks like the bottom left pane is a information intrepreted from hexdump on the right pane.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/29/EX4QcZ.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Still don&amp;#39;t know how to use Wireshark. Time to watch netspooky &amp;quot;Protocol RE&amp;quot; video from start to finish.&lt;br /&gt;&lt;br /&gt;[YOUTUBE]ldVHf-HFKQA[/YOUTUBE]</description>
            <author>MatQuasar</author>
            <category>Software</category>
            <pubDate>Fri, 29 Dec 2023 03:11:03 +0800</pubDate>
        </item>
        <item>
            <title>Why Google allow domain renewed before payment?</title>
            <link>http://forum.lowyat.net/topic/5427079</link>
            <description>Now it is a problem. Google renewed my domain (I cannot login to cancel auto-renewal) and no payment made.&lt;br /&gt;&lt;br /&gt;It says next year won&amp;#39;t be renewed. But then my account will owe Google the renewal fee.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/15/EKlVy9.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Why does Google allow renewal before payment? They should do like Exabytes MY where failure to pay will result cancellation of domain.</description>
            <author>MatQuasar</author>
            <category>Content Creators, Blogmasters &amp;amp; Webmasters</category>
            <pubDate>Fri, 15 Dec 2023 18:37:15 +0800</pubDate>
        </item>
        <item>
            <title>My first UEFI App that prints &amp;quot;Hello&amp;quot;</title>
            <link>http://forum.lowyat.net/topic/5425840</link>
            <description>Hooray, I have minimalize the code needed to print &amp;quot;Hello&amp;quot; in EFI Shell.&lt;br /&gt;&lt;br /&gt;Actually this is the second time I compile UEFI app, the first one I think is UEFI boot services driver, from:&lt;br /&gt;&lt;a href='https://github.com/MichalStrehovsky/zerosharp' target='_blank'&gt;https://github.com/MichalStrehovsky/zerosharp&lt;/a&gt; (efi-no-runtime, C#)&lt;br /&gt;&lt;br /&gt;This is what I get when I run my Hi.EFI.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/10/EJvL7n.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;The source code is in Assembly language, to be compiled by FASM.&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;format PE64 EFI DLL on &amp;#39;nul&amp;#39;&lt;br /&gt;&lt;br /&gt;section &amp;#39;.code&amp;#39; code readable executable&lt;br /&gt;&lt;br /&gt;entry &amp;#036;&lt;br /&gt;&lt;br /&gt;; in&amp;#58; rcx = ImageHandle&lt;br /&gt;; &amp;nbsp; &amp;nbsp; rdx = SystemTable&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;sub &amp;nbsp; &amp;nbsp; rsp,32&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;mov &amp;nbsp; &amp;nbsp; rcx, qword &amp;#91;rdx + 0x40&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;lea &amp;nbsp; &amp;nbsp; rdx, &amp;#91;_msg&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;call &amp;nbsp; &amp;nbsp;qword &amp;#91;rcx + 0x08&amp;#93;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;add &amp;nbsp; &amp;nbsp; rsp, 32&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;retn&lt;br /&gt;&lt;br /&gt;_msg db &amp;#39;H&amp;#39;,0,&amp;#39;e&amp;#39;,0,&amp;#39;l&amp;#39;,0,&amp;#39;l&amp;#39;,0,&amp;#39;o&amp;#39;,0,13,0,10,0,0,0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;Actually I skipped the various struct definition, by directly pointing to the offset in EFI_SYSTEM_TABLE and EFI_SIMPLE_TEXT_OUTPUT_PROTOCOL.&lt;br /&gt;&lt;br /&gt;I think my code is the shortest possible. Also I learned that text string in UEFI must be UTF-16 .&lt;br /&gt;&lt;br /&gt;If you ask me what can I add to this &amp;quot;Hello&amp;quot; UEFI App, maybe can change it to accept key input from user.&lt;br /&gt;&lt;br /&gt;This is how I run it:&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&amp;#34;C&amp;#58;&amp;#092;Program Files&amp;#092;qemu&amp;#092;qemu-system-x86_64&amp;#34; -bios OVMF.fd -hda fat&amp;#58;rw&amp;#58;LYN/&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;LYN is a subfolder where I put Hi.EFI (1024 bytes) executable.&lt;br /&gt;&lt;br /&gt;Before I forget, the &amp;quot;on &amp;#39;nul&amp;#39;&amp;quot; in&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;format PE64 EFI DLL on &amp;#39;nul&amp;#39;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;...is to tell the assembler stop generating DOS stub for this EFI App, from what I heard from Tomasz Grystarz.&lt;br /&gt;</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Sun, 10 Dec 2023 06:18:36 +0800</pubDate>
        </item>
        <item>
            <title>Is Intel PC preferred than AMD for virtualization?</title>
            <link>http://forum.lowyat.net/topic/5425241</link>
            <description>I got this error, saying my AMD-V is incompatible with VMware. Looks like must use Intel VT-x.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/12/07/EJYgRG.png' border='0' alt='user posted image' /&gt;</description>
            <author>MatQuasar</author>
            <category>Software</category>
            <pubDate>Thu, 07 Dec 2023 15:36:58 +0800</pubDate>
        </item>
        <item>
            <title>I used to be VB guy...</title>
            <link>http://forum.lowyat.net/topic/5418514</link>
            <description>This is a brief story of what I did these years after not becoming programmer in workforce.&lt;br /&gt;&lt;br /&gt;Notably I am in my mid-40 and not doing full-time programmer since 2013. Well, I did do a part-time programmer job in 2020.&lt;br /&gt;&lt;br /&gt;I used to be a VB guy, VB6 and VB.NET. But after I quit IT job industry, I spent time to run family business, traveled extensively to Australia, doing dispatch rider for 4 years and... start learning computer fundamentals by doing 32-bit and 64-bit low-level programming.&lt;br /&gt;&lt;br /&gt;I miss the full-time programmer job. What I did as hobbyist programmer cannot replace the professional job skill demanded by IT companies these days.&lt;br /&gt;I wish I could leverage .NET C# effortlessly compared to programming menial work using Assembly language where I have to write different source code for each CPU architecture and each operating system. It simply is a lot of work, and not easily scalable. Cross compiler and virtual machine bytecode is really good here.&lt;br /&gt;&lt;br /&gt;With my age coming to 50, I think no IT company will hire me anymore, especially now is not VB world anymore.&lt;br /&gt;In the mean time, what I can do is keep doing self-learning, understanding the computer fundamentals.&lt;br /&gt;&lt;br /&gt;(End of story)</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Sat, 04 Nov 2023 23:42:27 +0800</pubDate>
        </item>
        <item>
            <title>Hosting webspace using GitHub with custom domain</title>
            <link>http://forum.lowyat.net/topic/5417566</link>
            <description>I see two examples:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://github.com/binarygolf/binarygolf.github.io' target='_blank'&gt;https://github.com/binarygolf/binarygolf.github.io&lt;/a&gt;  --&amp;#62; &lt;a href='https://binary.golf' target='_blank'&gt;https://binary.golf&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://github.com/angch/angch.github.io' target='_blank'&gt;https://github.com/angch/angch.github.io&lt;/a&gt;  --&amp;#62; &lt;a href='https://angch.com' target='_blank'&gt;https://angch.com&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;How they do it? I see there is CNAME file.&lt;br /&gt;&lt;br /&gt;Does that mean next time we don&amp;#39;t need to pay expensive hosting fee, just register a custom domain, and somehow point to GitHub????</description>
            <author>MatQuasar</author>
            <category>Content Creators, Blogmasters &amp;amp; Webmasters</category>
            <pubDate>Tue, 31 Oct 2023 15:56:04 +0800</pubDate>
        </item>
        <item>
            <title>A minor difference between CMD and PS</title>
            <link>http://forum.lowyat.net/topic/5415408</link>
            <description>Few months ago, I accidentally found out a minor difference in command-line parsing between Command Prompt and PowerShell.&lt;br /&gt;&lt;br /&gt;Look&amp;#33;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/10/21/ET2uAB.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;&amp;quot;test2&amp;quot; is a testing program that print command line string returned from GetCommandLineA (available in Kernel32.dll) Win32 API.&lt;br /&gt;&lt;br /&gt;As seen, there are two (2) spaces between APPNAME and FILENAME in CMD, but only one space in PS.&lt;br /&gt;&lt;br /&gt;Command Prompt:&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;00000000 &amp;nbsp;74 65 73 74 32 20 20 74 65 73 74 2E 61 73 6D 20 &amp;nbsp; test2 &amp;nbsp;test.asm&lt;br /&gt;00000010 &amp;nbsp;00 00 00 00 00 00 00 00 42 84 7C 12 68 7C 00 10 &amp;nbsp; ........B.&amp;#124;.h&amp;#124;.. &amp;nbsp; &lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;PowerShell:&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;00000000 &amp;nbsp;FF FE 22 00 43 00 3A 00 5C 00 55 00 73 00 65 00 &amp;nbsp; ..&amp;#34;.C.&amp;#58;.&amp;#092;.U.s.e.&lt;br /&gt;00000010 &amp;nbsp;72 00 73 00 5C 00 42 00 4F 00 4F 00 5C 00 70 00 &amp;nbsp; r.s.&amp;#092;.B.O.O.&amp;#092;.p.&lt;br /&gt;00000020 &amp;nbsp;72 00 6F 00 6A 00 65 00 63 00 74 00 73 00 5C 00 &amp;nbsp; r.o.j.e.c.t.s.&amp;#092;.&lt;br /&gt;00000030 &amp;nbsp;74 00 65 00 73 00 74 00 32 00 2E 00 65 00 78 00 &amp;nbsp; t.e.s.t.2...e.x.&lt;br /&gt;00000040 &amp;nbsp;65 00 22 00 20 00 74 00 65 00 73 00 74 00 2E 00 &amp;nbsp; e.&amp;#34;. .t.e.s.t...&lt;br /&gt;00000050 &amp;nbsp;61 00 73 00 6D 00 00 00 00 00 00 00 00 00 00 00 &amp;nbsp; a.s.m........... &amp;nbsp; &lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;Also, PS returned command-line string in UTF-16 encoding, and in quotes.&lt;br /&gt;&lt;br /&gt;Not a big deal if using HLL or through CommandLineToArgvW() (available in Shell32.dll), but a quick fix is needed to extract FILENAME from command-line string using GetCommandLineA myself.&lt;br /&gt;&lt;br /&gt;I learn it the hard way, because many of my early Win32 programs only work in CMD, but failed to work in PS because command-line parsing is wrong (they are different by one white space).   &lt;!--emo&amp;:facepalm:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/doh.gif' border='0' style='vertical-align:middle' alt='doh.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;I share this as an eye-opener for you.  &lt;!--emo&amp;:thumbs:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/thumbup.gif' border='0' style='vertical-align:middle' alt='thumbup.gif' /&gt;&lt;!--endemo--&gt;</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Sat, 21 Oct 2023 19:21:45 +0800</pubDate>
        </item>
        <item>
            <title>Which command-line processor you use in Windows?</title>
            <link>http://forum.lowyat.net/topic/5414232</link>
            <description>My favourite is Windows Terminal..... Now there is bash (WSL), Command Prompt, PowerShell...but when I run Terminal it still shows PowerShell. &lt;!--emo&amp;:D--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/biggrin.gif' border='0' style='vertical-align:middle' alt='biggrin.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/ETGOBj' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/10/16/ETGOBj.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;</description>
            <author>MatQuasar</author>
            <category>Software</category>
            <pubDate>Mon, 16 Oct 2023 15:21:06 +0800</pubDate>
        </item>
        <item>
            <title>Console / GUI App Development Service</title>
            <link>http://forum.lowyat.net/topic/5408114</link>
            <description>Hi, I am fliermate, a freelancer specializing in console app development, or known as command-line programs.&lt;br /&gt;I mainly use FASM as my primary programming language, may or may not require external dependencies to run the programs, depending on the nature of the programs.&lt;br /&gt;&lt;br /&gt;Portfolio:&lt;br /&gt;1. File color visualizer - A hexdump program for Win32 that show different color for binary file and text file.&lt;br /&gt;( &lt;a href='https://forum.lowyat.net/index.php?showtopic=5398009&amp;hl=' target='_blank'&gt;https://forum.lowyat.net/index.php?showtopic=5398009&amp;hl=&lt;/a&gt; )&lt;br /&gt;2. cpubrand - A Win32 console app that prints 12-char processor brand string.&lt;br /&gt;( &lt;a href='https://forum.lowyat.net/index.php?showtopic=5173799&amp;view=findpost&amp;p=108485045' target='_blank'&gt;https://forum.lowyat.net/index.php?showtopi...ost&amp;p=108485045&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;PM or reply below.</description>
            <author>MatQuasar</author>
            <category>Services Noticeboard</category>
            <pubDate>Mon, 18 Sep 2023 03:45:15 +0800</pubDate>
        </item>
        <item>
            <title>How many platform you can do programming?</title>
            <link>http://forum.lowyat.net/topic/5408074</link>
            <description>Today I am shocked to see a local coder that is specializing in mobile (iOS/Android), web (PHP) and desktop (C++) with simple games&amp;#33;&lt;br /&gt;&lt;br /&gt;I thought the norm is at most web and mobile, or web and desktop, not everything&amp;#33;&lt;br /&gt;&lt;br /&gt;How many types of target app you can do? Device driver......?  &lt;!--emo&amp;:respect:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/notworthy.gif' border='0' style='vertical-align:middle' alt='notworthy.gif' /&gt;&lt;!--endemo--&gt;&lt;br /&gt;&lt;br /&gt;ADDED: I can only do 1, console app.....  &lt;!--emo&amp;:console:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/console.gif' border='0' style='vertical-align:middle' alt='console.gif' /&gt;&lt;!--endemo--&gt;</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Sun, 17 Sep 2023 20:37:40 +0800</pubDate>
        </item>
        <item>
            <title>How to create 1024-byte PE for BGGP4 code golf</title>
            <link>http://forum.lowyat.net/topic/5406205</link>
            <description>BGGP4 challenge ( &lt;a href='https://binary.golf' target='_blank'&gt;https://binary.golf&lt;/a&gt; ) is to create the smallest self-replicating file in file type of your choice.&lt;br /&gt;&lt;br /&gt;Here&amp;#39;s how I submit my 1024-byte PE as easy entry for it, without tweaking the headers.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjB79.png' border='0' alt='user posted image' /&gt; &lt;br /&gt;Compile success&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjEGu.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Replicate&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjxCg.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;CFF Explorer ( &lt;a href='https://ntcore.com/?page_id=388' target='_blank'&gt;https://ntcore.com/?page_id=388&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjH3X.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Section Headers&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjmkv.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Import Table&lt;br /&gt;&lt;br /&gt;It is noticeable that .flat section (512 bytes) joins code section, data section, and import table together.&lt;br /&gt;With the headers (another 512 bytes), it is thus possible to create 1024-byte PE using FASM 1 code.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjNgV.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Code Section&lt;br /&gt;&lt;br /&gt;0x00000200&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;;section &amp;#39;.code&amp;#39; code readable executable&lt;br /&gt;;entry &amp;#036;&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;   &lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjUM5.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Data Section&lt;br /&gt;&lt;br /&gt;0x000002C8&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;;section &amp;#39;.data&amp;#39; data readable writeable &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/09/EWjiFQ.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Import Table&lt;br /&gt;&lt;br /&gt;0x0000031D&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;;section &amp;#39;.idata&amp;#39; import readable&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;The magic is to define import table as below:&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;&lt;br /&gt;data import&lt;br /&gt;&lt;br /&gt; &amp;nbsp;library kernel32, &amp;#39;KERNEL32.DLL&amp;#39;&lt;br /&gt;&lt;br /&gt; &amp;nbsp;import kernel32,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CopyFile, &amp;#39;CopyFile&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; GetStdHandle, &amp;#39;GetStdHandle&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WriteConsoleA, &amp;#39;WriteConsoleA&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CreateFileA, &amp;#39;CreateFileA&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ReadFile, &amp;#39;ReadFile&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; WriteFile, &amp;#39;WriteFile&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; CloseHandle, &amp;#39;CloseHandle&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; ExitProcess,&amp;#39;ExitProcess&amp;#39;&lt;br /&gt;&lt;br /&gt;end data &amp;nbsp; &amp;nbsp; &lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;1024 bytes is not the smallest, but it is effortless to achieve nonetheless.</description>
            <author>MatQuasar</author>
            <category>Codemasters</category>
            <pubDate>Sat, 09 Sep 2023 07:28:30 +0800</pubDate>
        </item>
        <item>
            <title>N.Korean campaign targeting security researchers</title>
            <link>http://forum.lowyat.net/topic/5406072</link>
            <description>Active North Korean campaign targeting security researchers&lt;br /&gt;Sep 07, 2023&lt;br /&gt;&lt;br /&gt;3 min read&lt;br /&gt;&lt;br /&gt;Source: &lt;a href='https://blog.google/threat-analysis-group/active-north-korean-campaign-targeting-security-researchers/' target='_blank'&gt;https://blog.google/threat-analysis-group/a...ty-researchers/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;Similar to the previous campaign TAG reported on, North Korean threat actors used social media sites like X (formerly Twitter) to build rapport with their targets. In one case, they carried on a months-long conversation, attempting to collaborate with a security researcher on topics of mutual interest. After initial contact via X, they moved to an encrypted messaging app such as Signal, WhatsApp or Wire. Once a relationship was developed with a targeted researcher, the threat actors sent a malicious file that contained at least one 0-day in a popular software package.&lt;br /&gt;&lt;br /&gt;Upon successful exploitation, the shellcode conducts a series of anti-virtual machine checks and then sends the collected information, along with a screenshot, back to an attacker-controlled command and control domain. The shellcode used in this exploit is constructed in a similar manner to shellcode observed in previous North Korean exploits.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;While our analysis of this campaign continues, we are providing an early notification of our initial findings to warn the security research community. We hope this post will remind security researchers that they could be targets of government backed attackers and to stay vigilant of security practices.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;DO NOT Download the following software:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/08/EWb3Hn.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Stay Away from @paul091_ social media account.&lt;br /&gt;&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;Actor controlled sites and accounts&lt;br /&gt;GetSymbol:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://github' target='_blank'&gt;https://github&lt;/a&gt;[.]com/dbgsymbol/&lt;br /&gt;&lt;a href='https://dbgsymbol' target='_blank'&gt;https://dbgsymbol&lt;/a&gt;[.]com&lt;br /&gt;50869d2a713acf406e160d6cde3b442fafe7cfe1221f936f3f28c4b9650a66e9&lt;br /&gt;0eedfd4ab367cc0b6ab804184c315cc9ce2df5062cb2158338818f5fa8c0108e&lt;br /&gt;2ee435bdafacfd7c5a9ea7e5f95be9796c4d9f18643ae04dca4510448214c03c&lt;br /&gt;5977442321a693717950365446880058cc2585485ea582daa515719c1c21c5bd&lt;br /&gt;C2 IPs/Domains:&lt;br /&gt;&lt;br /&gt;23.106.215[.]105&lt;br /&gt;www.blgbeach[.]com&lt;br /&gt;X (formerly Twitter) Accounts&lt;br /&gt;&lt;br /&gt;&lt;a href='https://twitter.com/Paul091_' target='_blank'&gt;https://twitter.com/Paul091_&lt;/a&gt;&lt;br /&gt;Wire Accounts&lt;br /&gt;&lt;br /&gt;@paul354&lt;br /&gt;Mastodon Account:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://infosec.exchange/@paul091_' target='_blank'&gt;https://infosec.exchange/@paul091_&lt;/a&gt;&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;</description>
            <author>MatQuasar</author>
            <category>Software</category>
            <pubDate>Fri, 08 Sep 2023 14:56:32 +0800</pubDate>
        </item>
        <item>
            <title>Upgraded from WSL1 to WSL2</title>
            <link>http://forum.lowyat.net/topic/5405565</link>
            <description>I have just upgraded my WSL1 to WSL2 (Windows Subsystem Linux)&lt;br /&gt;&lt;br /&gt;A screenshot tells thousand words:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/06/EWLQrP.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Reference: &lt;b&gt;Comparing WSL Versions&lt;/b&gt;  &lt;a href='https://learn.microsoft.com/en-us/windows/wsl/compare-versions' target='_blank'&gt;https://learn.microsoft.com/en-us/windows/w...ompare-versions&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;In short, WSL2 is full Linux kernel, others are same as WSL1. I heard that WSL2 supports GUI app, but I got &amp;quot;Segmentation fault&amp;quot; error when running my own Linux GUI program.&lt;br /&gt;&lt;br /&gt;This is how I follow the online tutorial to convert from WSL1 to WSL2:&lt;br /&gt;&lt;br /&gt;Start PowerShell and Run as Administrator:&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;Enable-WindowsOptionalFeature -Online -FeatureName VirtualMachinePlatform&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/09/06/EWLTYj.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;After that need to restart PC....&lt;br /&gt;&lt;br /&gt;Then download and install &lt;b&gt;wsl_update_x64.msi&lt;/b&gt;  (  &lt;a href='https://wslstorestorage.blob.core.windows.net/wslblob/wsl_update_x64.msi' target='_blank'&gt;https://wslstorestorage.blob.core.windows.n..._update_x64.msi&lt;/a&gt;  )&lt;br /&gt;&lt;br /&gt;Finally type:&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;wsl --set-default-version 2&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;wsl --set-version Ubuntu-22.04 2&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;....where Ubuntu-22.04.2 may vary depending on what you see on:&lt;br /&gt;&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;C&amp;#58;&amp;#092;WINDOWS&amp;#092;system32&amp;#62;wsl --list --verbose&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;  NAME            STATE           VERSION&lt;br /&gt;* &lt;b&gt;Ubuntu-22.04&lt;/b&gt;    Stopped         2&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;</description>
            <author>MatQuasar</author>
            <category>Linux &amp;amp; Open Source Software</category>
            <pubDate>Wed, 06 Sep 2023 17:00:23 +0800</pubDate>
        </item>
        <item>
            <title>Finding AddressOfEntryPoint of PE using PE-bear</title>
            <link>http://forum.lowyat.net/topic/5404937</link>
            <description>Hello all, from now on I will share my reverse-engineering articles on here.&lt;br /&gt;&lt;br /&gt;If you miss my previous articles (in forum posts format), here are they:&lt;br /&gt;&lt;br /&gt;* First time using WinDbg ( &lt;a href='https://forum.lowyat.net/topic/5348191' target='_blank'&gt;https://forum.lowyat.net/topic/5348191&lt;/a&gt; )&lt;br /&gt;* First time using IDA Free&amp;#33; ( &lt;a href='https://forum.lowyat.net/topic/5369013' target='_blank'&gt;https://forum.lowyat.net/topic/5369013&lt;/a&gt; )&lt;br /&gt;* Using IDA Free - Part 2 ( &lt;a href='https://forum.lowyat.net/topic/5375495' target='_blank'&gt;https://forum.lowyat.net/topic/5375495&lt;/a&gt; )&lt;br /&gt;* Using IDA Free, Part 3, Investigate Windows syscall ( &lt;a href='https://forum.lowyat.net/topic/5385943' target='_blank'&gt;https://forum.lowyat.net/topic/5385943&lt;/a&gt; )&lt;br /&gt;* Introducing ProcMon, &amp;quot;Hack&amp;quot; software process ( &lt;a href='https://forum.lowyat.net/index.php?showtopic=5001505' target='_blank'&gt;https://forum.lowyat.net/index.php?showtopic=5001505&lt;/a&gt; )&lt;br /&gt;&lt;br /&gt;(Tullamarine, FlierMate4 and FlierMate were my forum user accounts.)&lt;br /&gt;&lt;br /&gt;Today, I will try using PE-bear for the first time, for a simple task, finding the AddressOfEntryPoint in PE (Portable Executable) files.&lt;br /&gt;&lt;br /&gt;PE-bear ( &lt;a href='https://github.com/hasherezade/pe-bear' target='_blank'&gt;https://github.com/hasherezade/pe-bear&lt;/a&gt; ) is a tool made by malware analyst hasherezade.&lt;br /&gt;&lt;br /&gt;Let&amp;#39;s start&amp;#33; I will try analyze Windows WordPad (write.exe).&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/EWHHqD' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/09/04/EWHHqD.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/EWHaNA' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/09/04/EWHaNA.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/EWHgu6' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/09/04/EWHgu6.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/EWHmXq' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/09/04/EWHmXq.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;AddressOfEntryPoint is 0x1430, a Virtual Address relative to Image Base. It is runtime address in memory, not disk offset (0x830).&lt;br /&gt;&lt;br /&gt;PE-bear disassembles the first instruction as: sub rsp, 0x20 (stack alignment commonly seen in PE32+)&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/EWHNHI' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/09/04/EWHNHI.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;I can verify the findings in PE-bear using other tools like PE Dump, or PeBytesF.exe by 440bx ( &lt;a href='https://forum.lazarus.freepascal.org/index.php?topic=46617.0' target='_blank'&gt;https://forum.lazarus.freepascal.org/index.php?topic=46617.0&lt;/a&gt; ).&lt;br /&gt;&lt;br /&gt;As seen in the screenshot below, AddressOfEntryPoint RVA is 0x1430, and FO (File Offset) is 0x830.&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/EWHUnr' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/09/04/EWHUnr.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Or I can also use CFF Explorer ( &lt;a href='https://ntcore.com/?page_id=388' target='_blank'&gt;https://ntcore.com/?page_id=388&lt;/a&gt; ). &lt;br /&gt;&lt;br /&gt;The last resort is using hex editor / viewer to locate the offset in Optional Header. As seen from binary analysis of PE-bear for write.exe, the offset is 0x108 from the beginning of file, but this is tricky if the PE file has custom size of DOS Stub (where I will need to read offset in 0x3C).&lt;br /&gt;&lt;br /&gt;I think that&amp;#39;s all for my first guide. Thank you for reading&amp;#33;&lt;br /&gt;&lt;br /&gt;</description>
            <author>MatQuasar</author>
            <category>Reviews and Guides</category>
            <pubDate>Mon, 04 Sep 2023 12:50:13 +0800</pubDate>
        </item>
    </channel>
</rss>
