Skip to content

Instantly share code, notes, and snippets.

View iidx's full-sized avatar
๐Ÿ”
Nyong

extr iidx

๐Ÿ”
Nyong
View GitHub Profile
import json
import twitter
api = twitter.Api(consumer_key='',
consumer_secret='',
access_token_key='',
access_token_secret='')
with open("tweet.js", encoding="utf8") as f:
tweets = json.loads(f.read())
for tweet in tweets:
api.DestroyStatus(tweet['tweet']['id'])
@iidx
iidx / acsc2021_forensics.md
Last active September 23, 2021 06:09
acsc2021_forensics
@iidx
iidx / pbctf_vaccine_stealer.md
Last active April 1, 2024 13:42
[PBCTF 2020] Vaccine Stealer Write-up

To solve the problem, focus on what malware did to the registry after 2020 November 7 14:00 (UTC+9) .Therefore, it is intended to be found using the 'last modification time' of the subkey.

๋ฌธ์ œ๋ฅผ ํ•ด๊ฒฐํ•˜๊ธฐ ์œ„ํ•ด์„ , 2020๋…„ 11์›” 7์ผ 14์‹œ(UTC+9) ์‹œ๊ฐ ์ดํ›„์— ์‹คํ–‰๋œ ์•…์„ฑ์ฝ”๋“œ๊ฐ€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์— ์–ด๋–ค ํ–‰์œ„๋ฅผ ์ˆ˜ํ–‰ํ•˜์˜€๋Š”๊ฐ€์— ์ดˆ์ ์„ ๋งž์ถ”๋ฉด ๋ฉ๋‹ˆ๋‹ค. ๋”ฐ๋ผ์„œ, ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ์˜ ๋งˆ์ง€๋ง‰ ํ‚ค ์ˆ˜์ • ์‹œ๊ฐ์„ ์ด์šฉํ•ด ์ฐพ์„ ์ˆ˜ ์žˆ๋„๋ก ์˜๋„ํ•˜์˜€์Šต๋‹ˆ๋‹ค.

The registry hive file in problem is not analyzed by normal registry analysis tools. the analysis tool should be able to load the registry transaction log file with the hive.

ํ•ด๋‹น ๋ฌธ์ œ์˜ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ•˜์ด๋ธŒ ํŒŒ์ผ์€ ์ผ๋ฐ˜์ ์ธ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ๋ถ„์„ ๋„๊ตฌ๋กœ ๋ถ„์„๋˜์ง€ ์•Š์Šต๋‹ˆ๋‹ค. ๋ถ„์„ ๋„๊ตฌ๊ฐ€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํŠธ๋žœ์ ์…˜ ๋กœ๊ทธ ํŒŒ์ผ์„ ํ•˜์ด๋ธŒ์™€ ํ•จ๊ป˜ ๋กœ๋”ฉํ•  ์ˆ˜ ์žˆ์–ด์•ผํ•ฉ๋‹ˆ๋‹ค.

Registry transaction log files serve as a journal to temporarily store data before it is written to the registry hive. If the registry hive is locked, it cannot be written directly, so use that method. You can check the transaction log format from the following link.

๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํŠธ๋ž™์žญ์…˜ ๋กœ๊ทธ ํŒŒ์ผ์€ ๋ฐ์ดํ„ฐ๊ฐ€ ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ•˜์ด๋ธŒ์— ๊ธฐ๋ก๋˜๊ธฐ ์ „์— ์ž„์‹œ์ ์œผ๋กœ ๋ฐ์ดํ„ฐ๋ฅผ ์ €์žฅํ•˜๋Š” ์ €๋„ ์—ญํ• ์„ ํ•ฉ๋‹ˆ๋‹ค. ๋ ˆ์ง€์ŠคํŠธ๋ฆฌ ํ•˜์ด๋ธŒ๊ฐ€ ์ž ๊น€ ์ƒํƒœ์ผ ๊ฒฝ์šฐ ์ง์ ‘ ์“ธ ์ˆ˜ ์—†๊ธฐ ๋•Œ๋ฌธ์— ํ•ด๋‹น ๋ฐฉ์‹์„ ์‚ฌ์šฉํ•ฉ๋‹ˆ๋‹ค. ํŠธ๋žœ์ ์…˜ ๋กœ๊ทธ ํ˜•์‹์€ ๋‹ค์Œ ๋งํฌ์—์„œ ํ™•์ธํ•˜์‹ค ์ˆ˜ ์žˆ์Šต๋‹ˆ๋‹ค

@import "https://fonts.googleapis.com/css?family=Poppins:300,400,500,600,700";
@font-face {
font-family: 'neon_tubes_2regular';
src: url('/static/font/neontubes2-webfont.woff2') format('woff2'),
url('/static/font/neontubes2-webfont.woff') format('woff');
font-weight: normal;
font-style: normal;
}

Keybase proof

I hereby claim:

  • I am iidx on github.
  • I am extr (https://keybase.io/extr) on keybase.
  • I have a public key whose fingerprint is 375E 3646 C3B3 66B6 D354 AB3A 06AA D146 AB5D 8B26

To claim this, I am signing this object:

{
"AFSEnvironment" : 0,
"AFSUrl" : "https://activity.windows.com",
"ActivityStoreInfo" : [
{
"active" : true,
"activityStoreId" : "D2A9DE73-67FE-B86E-A51D-C069D0A2EF6A",
"stableUserId" : "98b5534bd174e8e1"
},
{
@iidx
iidx / LR2IRLog_20160321224723627927_20160522180636453785.csv
Created May 28, 2016 12:08
LR2 IR Connection Log (2016-03-21 22:47:23 - 2016-05-22 18:06:36)
We can't make this file beautiful and searchable because it's too large.
Time, Total BMS, Total Player, Now Playing, Total Score
2016-03-21 22:47:23.627927,225408,78743,175,13876362
2016-03-21 22:48:27.966975,225408,78743,170,13876372
2016-03-21 22:49:31.414692,225408,78743,166,13876380
2016-03-21 22:50:35.234392,225408,78743,161,13876393
2016-03-21 22:51:40.339887,225408,78743,164,13876403
2016-03-21 22:52:45.966743,225408,78743,162,13876409
2016-03-21 22:53:50.267170,225408,78743,157,13876417
2016-03-21 22:54:55.721988,225408,78743,165,13876426
2016-03-21 22:55:59.270184,225408,78743,160,13876437
# -*- coding: utf-8 -*-
import re, json
import urllib2 as u
bmsurl = "http://www.dream-pro.info/~lavalse/LR2IR/search.cgi?mode=ranking&bmsid="
def urlreq(url):
try:
return u.urlopen(u.Request(url)).read()
except Exception as e:
@iidx
iidx / ex.js
Created April 1, 2016 11:22
ex.js
eval(function(p,a,c,k,e,d){e=function(c){return c.toString(36)};if(!''.replace(/^/,String)){while(c--){d[c.toString(a)]=k[c]||c.toString(a)}k=[function(e){return d[e]}];e=function(){return'\\w+'};c=1};while(c--){if(k[c]){p=p.replace(new RegExp('\\b'+e(c)+'\\b','g'),k[c])}}return p}('b(f("%h%g%2%4%e%5%2%d%1%6%c%0%8%3%1%6%q%0%3%1%7%7%a%o%5%p%i%2%m%4%9%j%0%8%k%0%9%l%1%a%3%n"));',27,27,'30|69|72|3B|28|61|3D|2D|31|22|29|eval|34|20|76|unescape|6F|66|65|32|36|2B|74|7D|7B|6C|3E'.split('|'),0,{}))