<?xml version="1.0" encoding="UTF-8"?><rss xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:atom="http://www.w3.org/2005/Atom" version="2.0"><channel><title><![CDATA[Nityanand's Blog]]></title><description><![CDATA[This is my personal blog explaining how i did what]]></description><link>https://blog.lsnnt.dev</link><generator>RSS for Node</generator><lastBuildDate>Fri, 08 May 2026 23:11:53 GMT</lastBuildDate><atom:link href="https://blog.lsnnt.dev/rss.xml" rel="self" type="application/rss+xml"/><language><![CDATA[en]]></language><ttl>60</ttl><item><title><![CDATA[How do i reverse engineered Chotadhobi app]]></title><description><![CDATA[TLDR :- The app i have used is PCAPDroid which was the easiest method to view the backend apis of the app.
Method 1
Setup a rooted AVD in Android studio via rootavd and install Pcapdroid on it after t]]></description><link>https://blog.lsnnt.dev/how-do-i-reverse-engineered-chotadhobi-app</link><guid isPermaLink="true">https://blog.lsnnt.dev/how-do-i-reverse-engineered-chotadhobi-app</guid><category><![CDATA[reverse engineering]]></category><category><![CDATA[frida]]></category><category><![CDATA[#Mitm attacks]]></category><category><![CDATA[cybersecurity]]></category><dc:creator><![CDATA[Nityanand Thakur]]></dc:creator><pubDate>Fri, 01 May 2026 20:27:14 GMT</pubDate><enclosure url="https://cdn.hashnode.com/uploads/covers/696a6e4c5043d2bf87996284/cefef6c4-5dc0-4ade-aa0c-2bc3153df398.jpg" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>TLDR :- The app i have used is PCAPDroid which was the easiest method to view the backend apis of the app.</p>
<h2>Method 1</h2>
<p>Setup a rooted AVD in Android studio via rootavd and install Pcapdroid on it after that install this <a href="https://github.com/NVISOsecurity/AlwaysTrustUserCerts">Always trust user certificate</a> module in magisk manager</p>
<p>open pcapdroid and setup it for decrypting TLS traffic you can refer <a href="https://emanuele-f.github.io/PCAPdroid/tls_decryption">this</a>.</p>
<p>After you saved the file after doing the things required you will get a sslkeylog file and a pcapng file</p>
<p>in my case</p>
<p>pcap file - download <a href="https://www.dropbox.com/scl/fi/v52536qwdnflhez8kx4wo/PCAPdroid_14_Apr_18_13_33.pcap?rlkey=p1a5ww56guznvpm4gaauuod2t&amp;st=17e4sjj9&amp;dl=0">here</a></p>
<p>ssl.log file - download <a href="https://www.dropbox.com/scl/fi/wi8hnh40xqu415y6uvcw8/ssl.log?rlkey=2oveyv8ujktx4exo0p5ja08ku&amp;st=sz4bczo0&amp;dl=0">here</a></p>
<p>Then open the pcap file in wireshark and go to preferences then protocols then TLS like this</p>
<img src="https://cdn.hashnode.com/uploads/covers/696a6e4c5043d2bf87996284/39321b53-3c5b-40ed-bb61-9b277226ebf0.png" alt="" style="display:block;margin:0 auto" />

<p>and set the key log file to the downloaded file then you will be able to see the decrypted tls file you can follow any stream to see what it did</p>
<img src="https://cdn.hashnode.com/uploads/covers/696a6e4c5043d2bf87996284/2966a65c-27a3-4a74-b6c1-fdaee3f66373.png" alt="" style="display:block;margin:0 auto" />

<h2>Method 2</h2>
<p>You can use frida + ssl-pinning + android rooted AVD</p>
<p>This thing i have tried but the first method was easier</p>
<p>Further read the blog posts below for more information:-</p>
<p><a href="https://www.trickster.dev/post/setting-up-rooted-android-emulator-with-frida-and-mitmproxy/">https://www.trickster.dev/post/setting-up-rooted-android-emulator-with-frida-and-mitmproxy/</a></p>
<p><a href="https://infosecwriteups.com/hail-frida-the-universal-ssl-pinning-bypass-for-android-e9e1d733d29">https://infosecwriteups.com/hail-frida-the-universal-ssl-pinning-bypass-for-android-e9e1d733d29</a></p>
<p><a href="https://www.redfoxsec.com/blog/ssl-pinning-bypass-for-android-using-frida">https://www.redfoxsec.com/blog/ssl-pinning-bypass-for-android-using-frida</a></p>
<p>Signing off,</p>
<p>Nityanand Thakur</p>
<p>Cover photo credits:</p>
<p><a href="https://www.magnific.com/free-vector/technology-background_4227101.htm">Image by freepik</a></p>
]]></content:encoded></item><item><title><![CDATA[How i created my own custom ddns script]]></title><description><![CDATA[My ISP (Internet Service Provider) gives me /64 ipv6 address on which i configured a postfix mailserver on port 25 which can directly mail to my laptop.
But the problem was that the ipv6 address changed every time i connected to my hotspot. So i crea...]]></description><link>https://blog.lsnnt.dev/how-i-created-my-own-custom-ddns-script-df3d5402658f</link><guid isPermaLink="true">https://blog.lsnnt.dev/how-i-created-my-own-custom-ddns-script-df3d5402658f</guid><category><![CDATA[automation]]></category><category><![CDATA[Rust]]></category><category><![CDATA[cloudflare]]></category><category><![CDATA[ipv6]]></category><category><![CDATA[Mail]]></category><category><![CDATA[mail server]]></category><category><![CDATA[postfix]]></category><dc:creator><![CDATA[Nityanand Thakur]]></dc:creator><pubDate>Fri, 16 Jan 2026 18:45:04 GMT</pubDate><enclosure url="https://cdn.hashnode.com/res/hashnode/image/upload/v1768585005420/95207121-abc8-4f45-a872-4a2009ceca9d.png" length="0" type="image/jpeg"/><content:encoded><![CDATA[<p>My ISP (Internet Service Provider) gives me /64 ipv6 address on which i configured a postfix mailserver on port 25 which can directly mail to my laptop.</p>
<p>But the problem was that the ipv6 address changed every time i connected to my hotspot. So i created a program to handle it.</p>
<ol>
<li>I want to get the ipv6 address which i can get with</li>
</ol>
<p><code>curl ip.se</code></p>
<p>2. I want to update the ip address on cloudflare as i got connected to my wifi network with specific ssid so i used cloudflare api here</p>
<p>More info</p>
<p><a target="_blank" href="https://developers.cloudflare.com/api/resources/dns/subresources/records/methods/create/"><strong>Cloudflare API | DNS › Records › Create DNS Record</strong></a></p>
<p>Mainly in my case i want to get mail at nnt@jol.fustin.top which is pointed to mx1.fustin.top in my case.</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768584999604/53f9616b-985e-4cc1-a523-e6bd6f78a654.png" alt /></p>
<p>So finally i have to update the AAAA record of mx1 using cloudflare api i have done it</p>
<p>you can get the api key from cloudflare here</p>
<p><a target="_blank" href="https://dash.cloudflare.com/profile/api-tokens">https://dash.cloudflare.com/profile/api-tokens</a></p>
<p><a target="_blank" href="https://developers.cloudflare.com/fundamentals/api/get-started/create-token/"><strong>Create API token · Cloudflare Fundamentals docs</strong>  
</a></p>
<p>So now i have to automate it every time i connect to my wifi network</p>
<p>So in mac we have shortcuts which can automate the tasks</p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768585001434/78c48b77-a6e4-453c-ab39-750ba591d6c4.png" alt /></p>
<p><img src="https://cdn.hashnode.com/res/hashnode/image/upload/v1768585003062/69ce1dff-bfad-4ee0-92bf-96a8866d4b55.png" alt /></p>
<p>So everything is set now i have the binary file in updateipv6addr directory</p>
<blockquote>
<p>set -a = used to automatically export the variables to the system</p>
<p>source .env = to set the .env file</p>
<p>set +a = to reset the above thing</p>
</blockquote>
<p>So i got the automated ipv6 update</p>
<p>The repo for this project:</p>
<p><a target="_blank" href="https://github.com/lsnnt/ipv6updater">https://github.com/lsnnt/ipv6updater</a></p>
<p>Thank you,</p>
<p>At last i want to say you that the mail server is receive only because outbound connection to port 25 is blocked by my isp</p>
<p>You can mail me at <a target="_blank" href="mailto:nnt@jol.fustin.top">nnt@jol.fustin.top</a></p>
]]></content:encoded></item><item><title><![CDATA[How i got the data of train]]></title><description><![CDATA[First after sometime in train i noticed that there was a Wifi Network in my train with SSID “Vandebharatinfotainment” which has some movies but also tells the speed and other details so i figured out how the data is fetched
it was fetched by continuo...]]></description><link>https://blog.lsnnt.dev/how-i-got-the-data-of-train-c2cf5237a7ed</link><guid isPermaLink="true">https://blog.lsnnt.dev/how-i-got-the-data-of-train-c2cf5237a7ed</guid><category><![CDATA[General Programming]]></category><dc:creator><![CDATA[Nityanand Thakur]]></dc:creator><pubDate>Fri, 16 Jan 2026 18:37:19 GMT</pubDate><content:encoded><![CDATA[<p>First after sometime in train i noticed that there was a Wifi Network in my train with SSID “Vandebharatinfotainment” which has some movies but also tells the speed and other details so i figured out how the data is fetched</p>
<p>it was fetched by continuous fetching the data from</p>
<p>http://192.168.191.1/assets/pis/routedata.txt?date=0.6662353108255421</p>
<p>then i started to continuously fetch the data as fast as possible with the command given below and the data was stored in routedata</p>
<pre><code class="lang-bash"><span class="hljs-keyword">while</span> <span class="hljs-literal">true</span>; <span class="hljs-keyword">do</span> curl <span class="hljs-string">'http://192.168.191.1/assets/pis/routedata.txt?date=0.6662353108255421'</span> -H <span class="hljs-string">'Accept: application/json, text/plain, */*'</span> -H <span class="hljs-string">'Accept-Language: en-GB,en-US;q=0.9,en;q=0.8'</span> -H <span class="hljs-string">'Connection: keep-alive'</span> -H <span class="hljs-string">'Referer: http://192.168.191.1/traininfo'</span> -H <span class="hljs-string">'User-Agent: Mozilla/5.0 (Linux; Android 10; K) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/137.0.0.0 Mobile Safari/537.36'</span> --compressed --insecure; <span class="hljs-keyword">done</span> &gt;&gt; routedata
</code></pre>
<p>then it was coming in the format of</p>
<pre><code class="lang-plaintext">DATE
TIME
SPEED
TIME REMAINING FOR NEXT STATION
DELAY
DISTANCE OF NEXT STATION
</code></pre>
<p>one example of that is</p>
<pre><code class="lang-plaintext">04-01-26
16:27
130 kmph
00:45
00:00
96 km
</code></pre>
<p>so it last when i come at station and my wifi disconnected i stopped that script and the output was 370Kb file then i converted it to csv with this script but before running the script i checked if anything was off as maybe some html came in the place of data and i find one html tag which i removed before running the script.</p>
<pre><code class="lang-python"><span class="hljs-keyword">import</span> csv

df = []
<span class="hljs-keyword">with</span> open(<span class="hljs-string">"route.txt"</span>,<span class="hljs-string">"r"</span>) <span class="hljs-keyword">as</span> f:
alllines = f.readlines()
<span class="hljs-keyword">for</span> i <span class="hljs-keyword">in</span> range(<span class="hljs-number">0</span>,len(alllines)//<span class="hljs-number">6</span>):
stripped = [x.strip() <span class="hljs-keyword">for</span> x <span class="hljs-keyword">in</span> alllines[i*<span class="hljs-number">6</span>:i*<span class="hljs-number">6</span>+<span class="hljs-number">6</span>]]
df.append(stripped)
fieldnames = [<span class="hljs-string">'Date'</span>,<span class="hljs-string">'Time'</span>,<span class="hljs-string">'Speed'</span>,<span class="hljs-string">'Time Remaining for next station'</span>,<span class="hljs-string">'Delay'</span>,<span class="hljs-string">'Distance of next station'</span>]
<span class="hljs-comment"># below lines were written with the help of ai</span>
<span class="hljs-keyword">with</span> open(<span class="hljs-string">'routedata.csv'</span>, <span class="hljs-string">'w'</span>, newline=<span class="hljs-string">''</span>) <span class="hljs-keyword">as</span> csvfile:
writer = csv.DictWriter(csvfile, fieldnames=fieldnames)
writer.writeheader()
<span class="hljs-comment"># convert each row (list of values) to a dict matching the fieldnames</span>
dict_rows = [dict(zip(fieldnames, row)) <span class="hljs-keyword">for</span> row <span class="hljs-keyword">in</span> df]
writer.writerows(dict_rows)
</code></pre>
<p>then it created a csv file while i uploaded to hugging face</p>
<p><a target="_blank" href="https://huggingface.co/datasets/nghjtvh/train-from-sbc-to-Katpadi"><strong>nghjtvh/train-from-sbc-to-Katpadi · Datasets at Hugging Face</strong></a></p>
<p>Which you can analyze on huggingface</p>
]]></content:encoded></item></channel></rss>