<?xml version="1.0" encoding="utf-8"?>
<!-- generator="FeedCreator 1.7.2" -->
<rss version="2.0">
    <channel>
        <title>Lowyat.NET: Latest topics by Tullamarine</title>
        <description></description>
        <link>http://forum.lowyat.net/</link>
        <lastBuildDate>Wed, 10 Jun 2026 03:11:30 +0800</lastBuildDate>
        <generator>FeedCreator 1.7.2</generator>
        <item>
            <title>How does C/C++ store integer in binary file?</title>
            <link>http://forum.lowyat.net/topic/5381495</link>
            <description>The C code writes two integer to a binary file called &amp;quot;integer.bin&amp;quot;.&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;#include &amp;#60;stdio.h&amp;#62;&lt;br /&gt;&lt;br /&gt;int main&amp;#40;&amp;#41;&lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp;int i;&lt;br /&gt; &amp;nbsp; &amp;nbsp;int j;&lt;br /&gt; &amp;nbsp; &amp;nbsp;FILE *fptr;&lt;br /&gt;&lt;br /&gt;	fptr = fopen&amp;#40;&amp;#34;C&amp;#58;&amp;#092;&amp;#092;Users&amp;#092;&amp;#092;BOO&amp;#092;&amp;#092;Projects&amp;#092;&amp;#092;integer.bin&amp;#34;,&amp;#34;wb&amp;#34;&amp;#41;;&lt;br /&gt;	i=0x1234;&lt;br /&gt;	j=0x12345678;&lt;br /&gt; &amp;nbsp; &amp;nbsp;putw&amp;#40;i,fptr&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;putw&amp;#40;j,fptr&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp;fclose&amp;#40;fptr&amp;#41;; &lt;br /&gt; &amp;nbsp;	&lt;br /&gt; &amp;nbsp; &amp;nbsp;return 0;&lt;br /&gt;}&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;I use format-hex cmd-let in PowerShell to hexdump the 8-byte &amp;quot;integer.bin&amp;quot;.&lt;br /&gt;&lt;br /&gt;The results is quite awkward, for 0x1234, it is &amp;quot; 34 12 00 00&amp;quot;, but for 0x12345678, the &amp;quot;34 12&amp;quot; is not on the left-hand size, it is becoming as &amp;quot;78 56 34 12&amp;quot;..... No wonder I pening, pening kepala  &lt;!--emo&amp;:stars:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/rclxub.gif' border='0' style='vertical-align:middle' alt='rclxub.gif' /&gt;&lt;!--endemo--&gt;  when doing my disassembler (passing the 32-bit integer as 64-bit parameter).&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/05/24/EMutVB.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Can someone know explain? Are you also new to this?&lt;br /&gt;&lt;br /&gt;By the way, there is no way to save integer to file in Python, either text or byte mode only, means have to convert number to string then save to file, in Python.</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Wed, 24 May 2023 08:07:53 +0800</pubDate>
        </item>
        <item>
            <title>Tabiat Tidur Yang Baik</title>
            <link>http://forum.lowyat.net/topic/5378097</link>
            <description>I took it from local hospital, and scan it myself.&lt;br /&gt;&lt;br /&gt;Sorry, didn&amp;#39;t notice whether got English version of the leaflet.&lt;br /&gt;&lt;br /&gt;You have to zoom it to see the text. Too long for me to type.&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/E8aWtY' target='_blank'&gt;&lt;img src='https://pictr.com/images/2023/05/09/E8aWtY.md.jpg' border='0' alt='user posted image' /&gt;&lt;/a&gt;</description>
            <author>Tullamarine</author>
            <category>Mental Health &amp;amp; Counselling</category>
            <pubDate>Tue, 09 May 2023 18:16:19 +0800</pubDate>
        </item>
        <item>
            <title>A salted egg without yolk</title>
            <link>http://forum.lowyat.net/topic/5377085</link>
            <description>Is this edible? Looks strange&amp;#33;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/05/05/E4cxBV.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/05/05/E4cHL5.png' border='0' alt='user posted image' /&gt;</description>
            <author>Tullamarine</author>
            <category>Food &amp;amp; Flavours</category>
            <pubDate>Fri, 05 May 2023 14:51:16 +0800</pubDate>
        </item>
        <item>
            <title>Using IDA Free - Part 2</title>
            <link>http://forum.lowyat.net/topic/5375495</link>
            <description>Hi, it&amp;#39;s me again&amp;#33; Upon encouragement by @KLKS and @junyian in last series, I am keen to explore more in IDA Freeware.&lt;br /&gt;&lt;br /&gt;Today I will use a more complex executable, created using Visual C++, I call it &amp;quot;lyn.exe&amp;quot;.&lt;br /&gt;&lt;br /&gt;This is the output by running &amp;quot;lyn.exe&amp;quot; in command prompt window:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4BqzU.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Select &amp;quot;lyn.exe&amp;quot; as the file to disassemble.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4Bto9.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Click OK to confirm the default setting. (Doesn&amp;#39;t load resource)&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4B2qu.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Voila, this is the main window.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4BDNg.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;As compared with last time, this time got many function stubs.&lt;br /&gt;The disassembled code is: (I can&amp;#39;t paste complete code because forum blocked it)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;And this is my original C++ code.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4EiHI.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;The &lt;b&gt;Win32 API GetTickCount function is to &amp;quot;retrieves the number of milliseconds that have elapsed since the system was started, up to 49.7 days.&amp;quot;&lt;/b&gt;&lt;br /&gt;&lt;a href='https://learn.microsoft.com/en-us/windows/win32/api/sysinfoapi/nf-sysinfoapi-gettickcount' target='_blank'&gt;https://learn.microsoft.com/en-us/windows/w...pi-gettickcount&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;&amp;quot;lyn.exe&amp;quot; is a 64-bit portable executable, as seen from the register used (with r prefix), and the stack alignment.&lt;br /&gt;&lt;br /&gt;I highlight a &amp;quot;call cs:GetTickCount&amp;quot; instruction in IDA View:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4BsdX.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;And get a corresponding hex bytes in Hex View:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4EPX8.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Actually if scroll up a little bit the main window, I can see the summary of the executable:&lt;br /&gt;(snipped because forum blocked it)&lt;br /&gt;&lt;br /&gt;There is more to explore, like if I click &amp;quot;pre_c_initialization&amp;quot; function stub, this floating window appears:&lt;br /&gt;&lt;a href='https://pictr.com/images/2023/04/28/E4E7hv.png' target='_blank'&gt;https://pictr.com/images/2023/04/28/E4E7hv.png&lt;/a&gt;&lt;br /&gt;Of course I have no clue what it does...&lt;br /&gt;&lt;br /&gt;Now if I right-click the window, this pop-up menu appears:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4Ex05.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;This brings me to another window:&lt;br /&gt;&lt;a href='https://pictr.com/images/2023/04/28/E4EaqD.png' target='_blank'&gt;https://pictr.com/images/2023/04/28/E4EaqD.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Can confirm &amp;quot;lyn.exe&amp;quot; has dependency on MSVCP140.dll.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/28/E4EmNA.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;Not just MSVCP140.dll, also dependency on VCRUNTIME140.DLL, and KERNEL32.DLL (Of course).&lt;br /&gt;&lt;br /&gt;And many more...&lt;br /&gt;&lt;b&gt;; Imports from api-ms-win-crt-math-l1-1-0.dll&lt;br /&gt;; Imports from api-ms-win-crt-runtime-l1-1-0.dll&lt;br /&gt;...&lt;br /&gt;...&lt;br /&gt;&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Finally, the Debugger menu and Options menu... (snipped because forum doesn&amp;#39;t allow images more than these)&lt;br /&gt;&lt;a href='https://pictr.com/images/2023/04/28/E4Eru6.png' target='_blank'&gt;https://pictr.com/images/2023/04/28/E4Eru6.png&lt;/a&gt;&lt;br /&gt;&lt;a href='https://pictr.com/images/2023/04/28/E4ENXq.png' target='_blank'&gt;https://pictr.com/images/2023/04/28/E4ENXq.png&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;IDA Free is too powerful, there are many features I don&amp;#39;t know yet how to use.&lt;br /&gt;I think it is quite difficult to trace a C++ program, because it has so many function stubs.</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Fri, 28 Apr 2023 04:57:39 +0800</pubDate>
        </item>
        <item>
            <title>Can you tell what are they?</title>
            <link>http://forum.lowyat.net/topic/5374714</link>
            <description>These are converted using my console apps, if you are interested in the command-line program, I can share the link.&lt;br /&gt;&lt;br /&gt;Now can you tell what are they?  &lt;!--emo&amp;:stars:--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/rclxub.gif' border='0' style='vertical-align:middle' alt='rclxub.gif' /&gt;&lt;!--endemo--&gt;    The output in the right.&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/25/EnKPJq.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/25/EnK5EI.png' border='0' alt='user posted image' /&gt;</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Tue, 25 Apr 2023 01:07:20 +0800</pubDate>
        </item>
        <item>
            <title>First time using IDA Free&amp;#33;</title>
            <link>http://forum.lowyat.net/topic/5369013</link>
            <description>Finally&amp;#33; After so many years digging with x86 and x64 Assembly, finally I have started my journey in Disassembly, or reverse-engineering, by first exploring IDA Free&amp;#33;&lt;br /&gt;&lt;br /&gt;IDA Free: &lt;a href='https://hex-rays.com/ida-free/#download' target='_blank'&gt;https://hex-rays.com/ida-free/#download&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;While there is IDA Pro which supports 68 families of processors and over Over 45 file formats (and for commercial use), I found that (also suggested by others) IDA Free is enough for personal use, as it supports x86/x64 processors, and the well known PE, ELF, Mach-O file formats.&lt;br /&gt;&lt;br /&gt;In case you miss my previous &amp;quot;First time using WinDbg&amp;quot; topic, you can visit:&lt;br /&gt;&lt;a href='https://forum.lowyat.net/topic/5348191' target='_blank'&gt;https://forum.lowyat.net/topic/5348191&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;As pointed out by @junyian, WinDbg is debugger while IDA Free is disassembler.&lt;br /&gt;&lt;br /&gt;Let&amp;#39;s start disassembling my own msgbox.exe (written in FASM). Go&amp;#33;&lt;br /&gt;&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVoffV.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;i&gt;Output of my msgbox.exe&lt;/i&gt;&lt;br /&gt;&lt;br /&gt;Click &amp;quot;IDA Freeware&amp;quot;.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVooR5.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Click &amp;quot;New&amp;quot; (Disassemble a new file).&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVoWmQ.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;After select &amp;#39;msgbox.exe&amp;#39;, I see this window. I just click OK without changing the default settings.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVojY1.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;Voila, this is the main window I see.&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVoCJD.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;The disassembled code as follows:&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;; Attributes&amp;#58; noreturn&lt;br /&gt;&lt;br /&gt;public start&lt;br /&gt;start proc near&lt;br /&gt;push &amp;nbsp; &amp;nbsp;40h&amp;#59; &amp;#39;@&amp;#39; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#59; uType&lt;br /&gt;push &amp;nbsp; &amp;nbsp;offset Caption &amp;#59; &amp;#34;LYN Codemaster&amp;#34;&lt;br /&gt;push &amp;nbsp; &amp;nbsp;offset Text &amp;nbsp; &amp;nbsp;&amp;#59; &amp;#34;Apa khabar semua, marilah kita bersama-&amp;#34;...&lt;br /&gt;push &amp;nbsp; &amp;nbsp;0 &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#59; hWnd&lt;br /&gt;call &amp;nbsp; &amp;nbsp;ds&amp;#58;MessageBoxA&lt;br /&gt;push &amp;nbsp; &amp;nbsp;eax &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#59; uExitCode&lt;br /&gt;call &amp;nbsp; &amp;nbsp;ds&amp;#58;ExitProcess&lt;br /&gt;start endp&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;And my original source code is:&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;start&amp;#58;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; push 0x40&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; push title&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; push message&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; push 0&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; call &amp;#91;MessageBox&amp;#93;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; push eax&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; call &amp;#91;ExitProcess&amp;#93; &amp;nbsp; &lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;I think the disassembled code is brilliant, which annotated with data value contents, and as with any full-featured disassembler, the Win32 API function call is in human-readable name (e.g. ds:MessageBoxA), not just memory address.&lt;br /&gt;&lt;br /&gt;The IDA Free auto-detects my msgbox.exe as 32-bit (x86) instruction set, because I think PE format has header field specifying whether the executable is in which processor mode (e.g. 0x14C for IMAGE_FILE_MACHINE_I386).&lt;br /&gt;&lt;br /&gt;Now I click Windows menu, and then &amp;quot;Imports&amp;quot; (Alt+F6):&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVoTEA.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;This is the window for import table:&lt;br /&gt;&lt;img src='https://pictr.com/images/2023/04/01/EVocV6.png' border='0' alt='user posted image' /&gt;&lt;br /&gt;&lt;br /&gt;It also matches the source code:&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 writable&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; library kernel,&amp;#39;KERNEL32.DLL&amp;#39;,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; user,&amp;#39;USER32.DLL&amp;#39;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; import kernel,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;ExitProcess,&amp;#39;ExitProcess&amp;#39;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; import user,&amp;#092;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;MessageBox,&amp;#39;MessageBoxA&amp;#39; &lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;But I don&amp;#39;t know how to find out the resource section, because my &amp;#39;msgbox.exe&amp;#39; comes with manifest.xml to make the message box in XP style.&lt;br /&gt;&lt;br /&gt;This is the end of my session in IDA Free with you all.&lt;br /&gt;&lt;br /&gt;Any feedbacks are welcomed, particularily the famous rockstar malware analyst @KLKS and @junyian&amp;#33; &lt;br /&gt;&lt;br /&gt;</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Sat, 01 Apr 2023 04:28:37 +0800</pubDate>
        </item>
        <item>
            <title>Computer demo</title>
            <link>http://forum.lowyat.net/topic/5367522</link>
            <description>According to a definition:&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Demos are special computer programs. They are beautiful presentations made by talented people - programmers, graphics, musicians - just for fun. This is real electronic art. Size-limited demos are called intros, and there are some categories of them - we have intros in 64 kilobytes, 4 kilobytes, even in 256 bytes and less. It&amp;#39;s wonderful that some people make very impressive effects in so tiny space.&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='http://hardcode.untergrund.net/' target='_blank'&gt;http://hardcode.untergrund.net/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Sun, 26 Mar 2023 20:26:22 +0800</pubDate>
        </item>
        <item>
            <title>Michal: I write C# which run without .NET runtime</title>
            <link>http://forum.lowyat.net/topic/5365881</link>
            <description>Source: &lt;a href='https://github.com/MichalStrehovsky' target='_blank'&gt;https://github.com/MichalStrehovsky&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;I&amp;#39;m Michal, I live in Slovakia, and I work remotely at the .NET Runtime team at Microsoft.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;He has a top repo &amp;#39;zerosharp&amp;#39; (Demo of the potential of C# for systems programming with the .NET native ahead-of-time compilation technology.)&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;no-runtime is a rather pointless sample that demonstrates how to write code in C# that is directly runnable without a runtime. C# has value types and you can p/invoke into an unmanaged memory allocator, so you can do things with this, but you&amp;#39;re so severily limited it&amp;#39;s rather pointless. But Hello world ends up being about 8 kB native EXE with no dependencies, so that&amp;#39;s rather cool.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://github.com/MichalStrehovsky/zerosharp' target='_blank'&gt;https://github.com/MichalStrehovsky/zerosharp&lt;/a&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;using System;&lt;br /&gt;using System.Runtime;&lt;br /&gt;using System.Runtime.InteropServices;&lt;br /&gt;&lt;br /&gt;#region A couple very basic things&lt;br /&gt;namespace System&lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp;public class Object&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;#pragma warning disable 169&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// The layout of object is a contract with the compiler.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;private IntPtr m_pMethodTable;&lt;br /&gt;#pragma warning restore 169&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Void { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;// The layout of primitive types is special cased because it would be recursive.&lt;br /&gt; &amp;nbsp; &amp;nbsp;// These really don&amp;#39;t need any fields to work.&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Boolean { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Char { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct SByte { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Byte { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Int16 { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct UInt16 { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Int32 { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct UInt32 { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Int64 { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct UInt64 { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct IntPtr { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct UIntPtr { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Single { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Double { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public abstract class ValueType { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public abstract class Enum &amp;#58; ValueType { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct Nullable&amp;#60;T&amp;#62; where T &amp;#58; struct { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public sealed class String { public readonly int Length; }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public abstract class Array { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public abstract class Delegate { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public abstract class MulticastDelegate &amp;#58; Delegate { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct RuntimeTypeHandle { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct RuntimeMethodHandle { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;public struct RuntimeFieldHandle { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public class Attribute { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public enum AttributeTargets { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public sealed class AttributeUsageAttribute &amp;#58; Attribute&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public AttributeUsageAttribute&amp;#40;AttributeTargets validOn&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public bool AllowMultiple { get; set; }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public bool Inherited { get; set; }&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;public class AppContext&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static void SetData&amp;#40;string s, object o&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;namespace Runtime.CompilerServices&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public class RuntimeHelpers&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public static unsafe int OffsetToStringData =&amp;#62; sizeof&amp;#40;IntPtr&amp;#41; + sizeof&amp;#40;int&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;namespace System.Runtime.InteropServices&lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp;public sealed class DllImportAttribute &amp;#58; Attribute&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public DllImportAttribute&amp;#40;string dllName&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;#region Things needed by ILC&lt;br /&gt;namespace System&lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp;namespace Runtime&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;internal sealed class RuntimeExportAttribute &amp;#58; Attribute&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;public RuntimeExportAttribute&amp;#40;string entry&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;class Array&amp;#60;T&amp;#62; &amp;#58; Array { }&lt;br /&gt;}&lt;br /&gt;&lt;br /&gt;namespace Internal.Runtime.CompilerHelpers&lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp;// A class that the compiler looks for that has helpers to initialize the&lt;br /&gt; &amp;nbsp; &amp;nbsp;// process. The compiler can gracefully handle the helpers not being present,&lt;br /&gt; &amp;nbsp; &amp;nbsp;// but the class itself being absent is unhandled. Let&amp;#39;s add an empty class.&lt;br /&gt; &amp;nbsp; &amp;nbsp;class StartupCodeHelpers&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// A couple symbols the generated code will need we park them in this class&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// for no particular reason. These aid in transitioning to/from managed code.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Since we don&amp;#39;t have a GC, the transition is a no-op.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;RuntimeExport&amp;#40;&amp;#34;RhpReversePInvoke&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void RhpReversePInvoke&amp;#40;IntPtr frame&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;RuntimeExport&amp;#40;&amp;#34;RhpReversePInvokeReturn&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void RhpReversePInvokeReturn&amp;#40;IntPtr frame&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;RuntimeExport&amp;#40;&amp;#34;RhpPInvoke&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void RhpPInvoke&amp;#40;IntPtr frame&amp;#41; { }&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;RuntimeExport&amp;#40;&amp;#34;RhpPInvokeReturn&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void RhpPInvokeReturn&amp;#40;IntPtr frame&amp;#41; { }&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;&amp;#91;RuntimeExport&amp;#40;&amp;#34;RhpFallbackFailFast&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;static void RhpFallbackFailFast&amp;#40;&amp;#41; { while &amp;#40;true&amp;#41;&amp;#59; }&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;br /&gt;#endregion&lt;br /&gt;&lt;br /&gt;unsafe class Program&lt;br /&gt;{&lt;br /&gt; &amp;nbsp; &amp;nbsp;&amp;#91;DllImport&amp;#40;&amp;#34;libc&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp;static extern int printf&amp;#40;byte* fmt&amp;#41;;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;&amp;#91;DllImport&amp;#40;&amp;#34;kernel32&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp;static extern IntPtr GetStdHandle&amp;#40;int nStdHandle&amp;#41;;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp;&amp;#91;DllImport&amp;#40;&amp;#34;kernel32&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt; &amp;nbsp; &amp;nbsp;static extern IntPtr WriteConsoleW&amp;#40;IntPtr hConsole, void* lpBuffer, int charsToWrite, out int charsWritten, void* reserved&amp;#41;;&lt;br /&gt;&lt;br /&gt;#if &amp;#33;WINDOWS&lt;br /&gt; &amp;nbsp; &amp;nbsp;// Export this as &amp;#34;main&amp;#34; so that we can link with the C runtime library properly.&lt;br /&gt; &amp;nbsp; &amp;nbsp;// If the C runtime library is not initialized we can&amp;#39;t even printf.&lt;br /&gt; &amp;nbsp; &amp;nbsp;// This is not needed on Windows because we don&amp;#39;t call the C runtime.&lt;br /&gt; &amp;nbsp; &amp;nbsp;&amp;#91;RuntimeExport&amp;#40;&amp;#34;main&amp;#34;&amp;#41;&amp;#93;&lt;br /&gt;#endif&lt;br /&gt; &amp;nbsp; &amp;nbsp;static int Main&amp;#40;&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string hello = &amp;#34;Hello world&amp;#33;&amp;#092;n&amp;#34;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;fixed &amp;#40;char* pHello = hello&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt;#if WINDOWS&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;WriteConsoleW&amp;#40;GetStdHandle&amp;#40;-11&amp;#41;, pHello, hello.Length, out int _, null&amp;#41;;&lt;br /&gt;#else&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Once C# has support for UTF-8 string literals, this can be simplified.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// https&amp;#58;//github.com/dotnet/csharplang/issues/2911&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;// Since we don&amp;#39;t have that, convert from UTF-16 to ASCII.&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;byte* pHelloASCII = stackalloc byte&amp;#91;hello.Length + 1&amp;#93;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;for &amp;#40;int i = 0; i &amp;#60; hello.Length; i++&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;pHelloASCII&amp;#91;i&amp;#93; = &amp;#40;byte&amp;#41;pHello&amp;#91;i&amp;#93;;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;printf&amp;#40;pHelloASCII&amp;#41;;&lt;br /&gt;#endif&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;return 42;&lt;br /&gt; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;}&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Mon, 20 Mar 2023 22:12:48 +0800</pubDate>
        </item>
        <item>
            <title>Should I resign as delivery rider?</title>
            <link>http://forum.lowyat.net/topic/5023055</link>
            <description>In the past 15 months, I work as delivery rider for automotive part shop. The company is good, workmates are friendly and most importantly my boss is kind enough to arrange flexible working hours for me.&lt;br /&gt;&lt;br /&gt;Recently, I could not pay attention while riding motorcycle anymore. Sometimes I am shocked how could I ride from location A to location B without noticing it. The routes to customer workshops are fixed, so I wonder if this causes almost a robotic habit when riding motorcycle. It would be quite dangerous for me to keep it this way as I am afraid of fatal accident.&lt;br /&gt;&lt;br /&gt;If I do resign, I do not know where should I head to given my age coming close to my mid-40&amp;#39;s.&lt;br /&gt;&lt;br /&gt;I can work with computers but not everything in computers. I cannot work with people because I have social phobia. Is there any solution?&lt;br /&gt;</description>
            <author>Tullamarine</author>
            <category>Jobs &amp;amp; Careers</category>
            <pubDate>Tue, 08 Sep 2020 00:05:37 +0800</pubDate>
        </item>
        <item>
            <title>How to insert hyperlink containing white space?</title>
            <link>http://forum.lowyat.net/topic/5018185</link>
            <description>&lt;a href='https://github.com/netspooky/hardcode/tree/master/00128/dos/horizontal' target='_blank'&gt;https://github.com/netspooky/hardcode/tree/.../dos/horizontal&lt;/a&gt; slice&lt;br /&gt;&lt;br /&gt;[URL=https://github.com/netspooky/hardcode/tree/master/00128/dos/horizontal slice]My Webpage[/URL]&lt;br /&gt;&lt;br /&gt;It won&amp;#39;t work.</description>
            <author>Tullamarine</author>
            <category>Feedback and Helpdesk</category>
            <pubDate>Sat, 29 Aug 2020 00:10:35 +0800</pubDate>
        </item>
        <item>
            <title>Binary Golf Grand Prix (Final Result)</title>
            <link>http://forum.lowyat.net/topic/5017150</link>
            <description>&lt;!--QuoteBegin--&gt;&lt;div class='quotetop'&gt;QUOTE&lt;/div&gt;&lt;div class='quotemain'&gt;&lt;!--QuoteEBegin--&gt;Binary Golf Grand Prix &lt;br /&gt;&lt;br /&gt; Welcome to the Binary Golf Grand Prix&amp;#33; This is a challenge for people who like to craft tiny binaries. There have been a few CTF challenges involving binary golf, but it is sadly a dying art outside of the demoscene and some virus writing circles. Binary Golf is similar to Code Golf, where the purpose is to program something in as few instructions as possible. It takes it a step further and challenges people to create the smallest possible binary file as well. The goal of the Binary Golf Grand Prix is to challenge programmers to make the smallest possible binary that fits within certain constraints.&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;&lt;a href='https://n0.lol/bggp/' target='_blank'&gt;https://n0.lol/bggp/&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Their inaugural challenge has been extended from July 24th to August 28th (New York time).&lt;br /&gt;&lt;br /&gt;If you do not already know, you can look at the website for more details, and submit your source code by this Saturday.</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Wed, 26 Aug 2020 21:08:00 +0800</pubDate>
        </item>
        <item>
            <title>Can CDM return extra money if &amp;quot;transaction cancel&amp;quot;</title>
            <link>http://forum.lowyat.net/topic/5013832</link>
            <description>I am not authorized to speak in behalf of company and account clerk insists that the amount was merely wrongly written.&lt;br /&gt;&lt;br /&gt;Long story short. Can CDM return extra bank notes if suddenly &amp;quot;Transaction cancelled&amp;quot;?&lt;br /&gt;&lt;br /&gt;Two days ago, I bank in at CIMB bank. Initially it rejected RM60 with RM2500 balance already in the machine. I pressed Add Cash and inserted RM60 back to the CDM. Then the machine generates strange sound, after about 15 seconds, the screen says &amp;quot;Transaction cancelled&amp;quot; and it returns about RM2900&amp;#33;&lt;br /&gt;&lt;br /&gt;But my company account clerk insisted the right amount is RM2900, which is about RM400 more than what was originally written / calculated.&lt;br /&gt;&lt;br /&gt;</description>
            <author>Tullamarine</author>
            <category>Serious Kopitiam</category>
            <pubDate>Wed, 19 Aug 2020 21:42:14 +0800</pubDate>
        </item>
        <item>
            <title>What formula to create photo filter effect?</title>
            <link>http://forum.lowyat.net/topic/5013169</link>
            <description>Each pixel has ARGB with Alpha being the opacity?&lt;br /&gt;&lt;br /&gt;If we focus on RGB, can perform bitwise operation with one of the R or G or B to create photo filter effect. But what are the formulas?&lt;br /&gt;&lt;br /&gt;Can anyone understand what I am talking about?</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Tue, 18 Aug 2020 14:27:46 +0800</pubDate>
        </item>
        <item>
            <title>WTS Acer Aspire XC-704 (8GB RAM) RM 300</title>
            <link>http://forum.lowyat.net/topic/5009202</link>
            <description>&lt;b&gt;Item(s):&lt;/b&gt; Acer Aspire XC-704&lt;br /&gt;&lt;br /&gt;Intel Celeron N3050 1.6GHz&lt;br /&gt;8GB DDR3 RAM&lt;br /&gt;500GB SATA HDD&lt;br /&gt;HDMI only. (No VGA port)&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Package includes:&lt;/b&gt;&lt;br /&gt;-Power adapter&lt;br /&gt;-HDMI to DVI video cable&lt;br /&gt;&lt;br /&gt;Comes with activated 64-bit Windows 10 Home&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Price:&lt;/b&gt; RM 300&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Warranty:&lt;/b&gt; No&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Dealing method:&lt;/b&gt; COD&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Location:&lt;/b&gt; Balakong only&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Contact method/details:&lt;/b&gt; Reply or PM&lt;br /&gt;---&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Item(s) conditions:&lt;/b&gt; 4 years old&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Picture:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;&lt;br /&gt;&lt;b&gt;Reason for sale:&lt;/b&gt;</description>
            <author>Tullamarine</author>
            <category>Desktop Systems Garage Sales</category>
            <pubDate>Mon, 10 Aug 2020 00:57:54 +0800</pubDate>
        </item>
        <item>
            <title>Introducing ProcMon</title>
            <link>http://forum.lowyat.net/topic/5001505</link>
            <description>I saw two hacking threads on this forum this afternoon and thought I would share something in addition to disassembling/decompiling.  Microsoft SysInternals understands how underlying stuffs work in Windows kernel, they have this powerful ProcMon (monitor and dump process) and PortMon (monitor and dump serial/parallel port incoming/outgoing data).&lt;br /&gt;&lt;br /&gt;I am far from being a hacker, but I think to hack a software, not just to look at what it is, but what it does, too.&lt;br /&gt;Normally we hex dump binary file. But ProcMon allows us to monitor and dump Windows process.&lt;br /&gt;&lt;br /&gt;Let&amp;#39;s get started. &lt;br /&gt;&lt;br /&gt;What is ProcMon?&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;Process Monitor is an advanced monitoring tool for Windows that shows real-time file system, Registry and process/thread activity. It combines the features of two legacy Sysinternals utilities, Filemon and Regmon,&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;Download: &lt;a href='https://docs.microsoft.com/en-us/sysinternals/downloads/procmon' target='_blank'&gt;https://docs.microsoft.com/en-us/sysinterna...wnloads/procmon&lt;/a&gt;&lt;br /&gt;(SysInternals was acquired by Microsoft a long time ago)&lt;br /&gt;&lt;br /&gt;So I want to show you how to &amp;quot;hack&amp;quot; software process, I take &amp;quot;Run as admin&amp;quot; compatiblity setting as an example.(I will try to change Properties of Google chrome.exe app shortcut)&lt;br /&gt;&lt;br /&gt;Normally users need to open the Properties of the app shortcut, go to Compatibility, and tick &amp;quot;Run as adminstrator&amp;quot; to enable it, as pic shown below:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://pictr.com/image/7rDXt2' target='_blank'&gt;&lt;img src='https://pictr.com/images/2020/07/24/7rDXt2.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;But what if you want this to be done programmatically? How do we know what Windows does when we tick &amp;quot;Run as administrator&amp;quot;? Here is where ProcMon comes handy.&lt;br /&gt;&lt;br /&gt;You need to actually open the app shortcut, go to Compatibility, tick &amp;quot;Run as administrator&amp;quot;, then click &amp;quot;OK&amp;quot; to commit changes.&lt;br /&gt;&lt;br /&gt;Spot on&amp;#33; The changes to this particular registry key seem like what Windows did to enable &amp;quot;Run as admin&amp;quot;, as pic shown below: &lt;br /&gt;&lt;a href='https://pictr.com/image/7rDOUf' target='_blank'&gt;&lt;img src='https://pictr.com/images/2020/07/24/7rDOUf.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Similar to disassembling / decompiling, you need patience to find out what are really useful info and get rid of the rest.&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt;9364	RegCreateKey	HKLM&amp;#092;Software&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags	SUCCESS	Desired Access&amp;#58; Write, Query Value, Enumerate Sub Keys, Disposition&amp;#58; REG_OPENED_EXISTING_KEY&lt;br /&gt;9364	RegCloseKey	HKLM&amp;#092;SOFTWARE&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags	SUCCESS	&lt;br /&gt;9364	RegCreateKey	HKLM&amp;#092;Software&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags&amp;#092;Layers	SUCCESS	Desired Access&amp;#58; Write, Query Value, Enumerate Sub Keys, Disposition&amp;#58; REG_OPENED_EXISTING_KEY&lt;br /&gt;9364	RegSetValue	HKLM&amp;#092;SOFTWARE&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags&amp;#092;Layers&amp;#092;C&amp;#58;&amp;#092;Program Files &amp;#40;x86&amp;#41;&amp;#092;Google&amp;#092;Chrome&amp;#092;Application&amp;#092;chrome.exe	SUCCESS	Type&amp;#58; REG_SZ, Length&amp;#58; 26, Data&amp;#58; ~ RUNASADMIN&lt;br /&gt;9364	RegCloseKey	HKLM&amp;#092;SOFTWARE&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags&amp;#092;Layers	SUCCESS	&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;So I go to RegEdit, and found exactly the registry key that has been written to, as pic shown below:&lt;br /&gt;&lt;a href='https://pictr.com/image/7rDkwU' target='_blank'&gt;&lt;img src='https://pictr.com/images/2020/07/24/7rDkwU.md.png' border='0' alt='user posted image' /&gt;&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Then we can write code to do that (enable / disable RunAsAdmin for all shortcut of a particular app), programmatically:&lt;br /&gt;&lt;br /&gt;Sample code in C# .NET&lt;br /&gt;&lt;!--c1--&gt;&lt;div class='codetop'&gt;CODE&lt;/div&gt;&lt;div class='codemain'&gt;&lt;!--ec1--&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;Console.Write&amp;#40;&amp;#34;Press 1 to RunAsAdmin, Press 0 to disable RunAsAdmin&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;string input = Console.ReadLine&amp;#40;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;RegistryKey key;&lt;br /&gt;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;if &amp;#40;input == &amp;#34;1&amp;#34;&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key = Registry.LocalMachine.OpenSubKey&amp;#40;@&amp;#34;SOFTWARE&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags&amp;#092;Layers&amp;#34;, true&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key.SetValue&amp;#40;@&amp;#34;C&amp;#58;&amp;#092;Program Files &amp;#40;x86&amp;#41;&amp;#092;Google&amp;#092;Chrome&amp;#092;Application&amp;#092;chrome.exe&amp;#34;, &amp;#34;~ RUNASADMIN&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key.Close&amp;#40;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;else if &amp;#40;input == &amp;#34;0&amp;#34;&amp;#41;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;{&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//Registry.SetValue&amp;#40;@&amp;#34;HKEY_LOCAL_MACHINE&amp;#092;SOFTWARE&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags&amp;#092;Layers&amp;#34;, @&amp;#34;C&amp;#58;&amp;#092;Program Files &amp;#40;x86&amp;#41;&amp;#092;Google&amp;#092;Chrome&amp;#092;Application&amp;#092;chrome.exe&amp;#34;, &amp;#34;&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key = Registry.LocalMachine.OpenSubKey&amp;#40;@&amp;#34;SOFTWARE&amp;#092;Microsoft&amp;#092;Windows NT&amp;#092;CurrentVersion&amp;#092;AppCompatFlags&amp;#092;Layers&amp;#34;, RegistryKeyPermissionCheck.ReadWriteSubTree, RegistryRights.SetValue&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;//key.DeleteSubKey&amp;#40;@&amp;#34;C&amp;#58;&amp;#092;Program Files &amp;#40;x86&amp;#41;&amp;#092;Google&amp;#092;Chrome&amp;#092;Application&amp;#092;chrome.exe&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key.SetValue&amp;#40;@&amp;#34;C&amp;#58;&amp;#092;Program Files &amp;#40;x86&amp;#41;&amp;#092;Google&amp;#092;Chrome&amp;#092;Application&amp;#092;chrome.exe&amp;#34;, &amp;#34;&amp;#34;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;key.Close&amp;#40;&amp;#41;;&lt;br /&gt; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp; &amp;nbsp;}&lt;br /&gt;&lt;!--c2--&gt;&lt;/div&gt;&lt;!--ec2--&gt;&lt;br /&gt;&lt;br /&gt;If you do not already know, I hope this info would be useful for you..... Happy &amp;quot;hacking&amp;quot;.</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Fri, 24 Jul 2020 16:42:50 +0800</pubDate>
        </item>
        <item>
            <title>What happened to JobStreet.com Code Challenge?</title>
            <link>http://forum.lowyat.net/topic/5000568</link>
            <description>The original URL was: &lt;a href='http://www.jobstreet.com.my/event/code-challenge/jobseeker/home.htm' target='_blank'&gt;http://www.jobstreet.com.my/event/code-cha...seeker/home.htm&lt;/a&gt;&lt;br /&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;About JobStreet.com Code Challenge&lt;br /&gt;JobStreet.com Code Challenge is a competition for programmers in Malaysia to work on interesting and challenging problems, compete amongst each other and emerge as a champion. Potential top coders will also have a career opportunity with JobStreet.com.&lt;br /&gt;&lt;!--QuoteEnd--&gt;&lt;/div&gt;&lt;!--QuoteEEnd--&gt;&lt;br /&gt;&lt;br /&gt;Now can only be accessed through Internet Archive:&lt;br /&gt;&lt;br /&gt;&lt;a href='https://web.archive.org/web/20151108092732/http://www.jobstreet.com.my/event/code-challenge/jobseeker/home.htm' target='_blank'&gt;https://web.archive.org/web/20151108092732/...seeker/home.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;FAQ:&lt;br /&gt;&lt;a href='https://web.archive.org/web/20150510215915/http://www.jobstreet.com.my/event/code-challenge/jobseeker/faqs.htm' target='_blank'&gt;https://web.archive.org/web/20150510215915/...seeker/faqs.htm&lt;/a&gt;&lt;br /&gt;&lt;br /&gt;Did anyone take part? What happened to this Code Challenge?</description>
            <author>Tullamarine</author>
            <category>Serious Kopitiam</category>
            <pubDate>Wed, 22 Jul 2020 22:52:14 +0800</pubDate>
        </item>
        <item>
            <title>Got a missed call from +3228088795</title>
            <link>http://forum.lowyat.net/topic/4999831</link>
            <description>It always freaks me out whenever I receive overseas numbers, as I do not have friends in overseas.&lt;br /&gt;&lt;br /&gt;This +3228088795 is from Belgium? Who was going to call me from Europe???</description>
            <author>Tullamarine</author>
            <category>Reverse Phone Directory</category>
            <pubDate>Tue, 21 Jul 2020 16:48:41 +0800</pubDate>
        </item>
        <item>
            <title>Jobs on UpWork seem difficult</title>
            <link>http://forum.lowyat.net/topic/4998227</link>
            <description>Now I have my profile approved and goes live&amp;#33;&lt;br /&gt;&lt;br /&gt;[attachmentid=10541137]&lt;br /&gt;&lt;br /&gt;But I see their jobs are difficult even though it is within my expertise.&lt;br /&gt;&lt;br /&gt;I need your input:&lt;br /&gt;Do these hirers (mainly from US/UK) expect me doing it professionally from start to end?&lt;br /&gt;&lt;br /&gt;As an amateur (sw/hw interfacing) R&amp;amp;D freelancer, it means I get clueless initially, and often mess up with my work in the beginning. I expect these hirers to see how the things get done in the end.&lt;br /&gt;I also become panic if I took more hours than usual, because this means more expensive service charge for them. How?&lt;br /&gt;&lt;br /&gt;For example, I saw a job ad about &amp;quot;serial port interfacing&amp;quot; which is good. But once I read further &amp;quot;calibrating hundreds of sensors which took 6 hours for a complete cycle&amp;quot;. Anxious.  Then further more I read &amp;quot;we have done it ourselves but it was slow.&amp;quot;--- which means the hirer expects a faster, not just working, serial port interfacing solution. Panicked. &lt;br /&gt;&lt;br /&gt;Any cool advice?</description>
            <author>Tullamarine</author>
            <category>Serious Kopitiam</category>
            <pubDate>Sat, 18 Jul 2020 00:09:10 +0800</pubDate>
        </item>
        <item>
            <title>What changes and what doesn&amp;#39;t?</title>
            <link>http://forum.lowyat.net/topic/4998126</link>
            <description>As an old man who started batch programming in last century, I understand the sentiments &amp;quot;chasing IT trend is tiresome&amp;quot;.&lt;br /&gt;&lt;br /&gt;I would like to compile a list of &amp;quot;What changes (in IT) and what doesn&amp;#39;t&amp;quot; . While this list is far from exhaustive, I ask fellow members to help updating the list.&lt;br /&gt;&lt;br /&gt;Let start with me, with my limited experience and my exposure :  &lt;!--emo&amp;:(--&gt;&lt;img src='http://static.lowyat.net/style_emoticons/default/sad.gif' border='0' style='vertical-align:middle' alt='sad.gif' /&gt;&lt;!--endemo--&gt; &lt;br /&gt;&lt;br /&gt;&lt;b&gt;What doesn&amp;#39;t change:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Serial port interfacing&lt;br /&gt;(C# &amp;amp; VB.net can use System.IO.Ports assembly)&lt;br /&gt;&lt;br /&gt;Binary computer system&lt;br /&gt;(Although can be commonly represented in decimal and hexadecimal)&lt;br /&gt;&lt;br /&gt;COBOL?&lt;br /&gt;&lt;br /&gt;&lt;b&gt;What changes:&lt;/b&gt;&lt;br /&gt;&lt;br /&gt;Low-level:&lt;br /&gt;i8086: 16-bit registers, DOS / BIOS interrupt calls, DMA allowed&lt;br /&gt;Win32- i386: 32-bit &amp;amp; 64-bit registers, Win32 API syscall, new CPU instructions introduced&lt;br /&gt;(e.g. POPCNT is not seen during my days in i8086 assembly programming.  POPCNT returns number of set bit) &lt;br /&gt;&lt;br /&gt;Parallel port interfacing - No longer hear any new PC comes with LPT ports....&lt;br /&gt;&lt;br /&gt;DOS ---&amp;#62; command prompt ---&amp;#62; PowerShell ???&lt;br /&gt;&lt;br /&gt;Quick Sort --&amp;#62; TimSort ???&lt;br /&gt;&lt;br /&gt;----&lt;br /&gt;&lt;br /&gt;Let me be clear, I emphasis on the What Doesn&amp;#39;t Change so that no one lose sight of IT fundamentals.... What do you think, folks?&lt;br /&gt;</description>
            <author>Tullamarine</author>
            <category>Codemasters</category>
            <pubDate>Fri, 17 Jul 2020 20:25:47 +0800</pubDate>
        </item>
        <item>
            <title>Looking for sw/hw interfacing R&amp;amp;D job</title>
            <link>http://forum.lowyat.net/topic/4995886</link>
            <description>I am already a part-time sw/hw interfacing R&amp;amp;D engineer (freelancer), but I want more challenge and at the same time more income.&lt;br /&gt;&lt;br /&gt;When I mean sw/hw interfacing, it is those hardware or electronic devices that you would like to control from within software (i.e. Windows) using serial port or socket programming.&lt;br /&gt;&lt;br /&gt;I have done the following:&lt;br /&gt;- Arduino Uno ATmega328P + LED stick WS2318: To show green or red LEDs from within Windows .NET (Also can visualize audio in Windows on the LED stick )&lt;br /&gt;- SUNMI P payment terminal using websocket programming: To initiate sales (card) / sales (swipe) / refund from within C# .NET to the handheld payment terminal through Wi-Fi (LAN)&lt;br /&gt;- ESC/POS printer commands .DLL : Can print 1D/2D barcode, multi-column + multi-line CJK characters, B/W logo graphics as well as x8 bigger character (such as McD queue ticket number) on receipt printer.  (Portion of it relies on existing open-source code)&lt;br /&gt;- L4000 intelligent controller : To control several light bulbs on and off from within Windows .NET through RS232-RJ45 adapter&lt;br /&gt;&lt;br /&gt;Please PM or reply.&lt;br /&gt;&lt;br /&gt;Skills:&lt;br /&gt;1. C# (.NET Framework 4.7.2)&lt;br /&gt;2. ASM i8086 (and also can reverse-engineer some software program)&lt;br /&gt;3. Free Pascal (Optional) -- If I use it mainly for standalone console app .EXE&lt;br /&gt;</description>
            <author>Tullamarine</author>
            <category>Job Enlistments</category>
            <pubDate>Mon, 13 Jul 2020 23:33:29 +0800</pubDate>
        </item>
    </channel>
</rss>
