Skip to content

Instantly share code, notes, and snippets.

View Sakurina's full-sized avatar

Yanik Magnan Sakurina

View GitHub Profile
#!/usr/bin/env ruby
# linky - easy file sharing on a local network
# by Yanik Magnan - http://r-ch.net/
require 'fileutils'
require 'socket'
require 'tempfile'
# LONG USERNAME GOES HERE
LONG_USERNAME = "Yanik"
/*
* wigglefree - by Yanik Magnan
* http://r-ch.net
*/
/*
* Redistribution and use in source and binary
* forms, with or without modification, are permitted
* provided that the following conditions are met:
*
@Sakurina
Sakurina / mangadump.cy
Created April 27, 2010 02:49
facilitate converting MangaDLC libraries into CBZs
// mangadump - a quick Cycript hack for MangaDLC
// by Yanik Magnan - http://r-ch.net
/*
* Here's how it works.
*
* Launch MangaDLC and switch to the Library tab.
* Inject this cycript into the process, and a mangadump.sh
* shell script will be created in /tmp.
* Chmod it with executable permissions and run it;
@Sakurina
Sakurina / springroll.cy
Created May 1, 2010 19:15
transitional theme tool for iPhone OS 3.2
/*
* springroll 2: the return of SpringRoll
*
* Copyright (c) 2010 Yanik Magnan <[email protected]>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
*
* THE SOFTWARE IS PROVIDED "AS IS" AND THE AUTHOR DISCLAIMS ALL WARRANTIES
@Sakurina
Sakurina / fairchild.cy
Created May 9, 2010 19:04
CaptainHook-inspired syntax sugar for hooking stuff with Cycript
/*
* fairchild - an enhanced syntax for hooking stuff with Cycript
* by Yanik Magnan - http://r-ch.net
*/
var FCSuper = {};
var FCClassSuper = {};
function FCMethod(_className, _selector, _block) {
if (!FCSuper[_className])
@Sakurina
Sakurina / change.cy
Created May 30, 2010 17:44
automated application icon data collection mechanism (don't be evil)
/*
* change - automated application icon data collection mechanism (don't be evil)
* by Yanik Magnan - http://r-ch.net
*
* LICENSE:
* Copyright (c) 2010, Yanik Magnan <[email protected]>
*
* Permission to use, copy, modify, and/or distribute this software for any
* purpose with or without fee is hereby granted, provided that the above
* copyright notice and this permission notice appear in all copies.
@Sakurina
Sakurina / Dispatch.cs
Created June 24, 2010 21:04
naïve implementation of something like Grand Central Dispatch, in C#
using System;
using System.Collections;
using System.Collections.Generic;
using System.Threading;
public struct DispatchAction {
public Action action;
public DispatchActionType type;
public DispatchAction(Action a, DispatchActionType t) {
action = a;
@Sakurina
Sakurina / selache.rb
Created July 4, 2010 04:27
shreds redundant selector declarations (cycript optimization)
#!/usr/bin/env ruby
# selache - by Yanik Magnan (r-ch.net)
# make selectors only appear in your cycript code ONCE
input_code = STDIN.read
selectors = input_code.scan(Regexp.new('(new)( )(Selector)(\\()(".*?")(\\))', Regexp::IGNORECASE)).uniq
sel_counter = 0;
selectors.each { |sel|
method_name = sel[4].gsub("\"","")
@Sakurina
Sakurina / ric.cy
Created August 2, 2010 22:42
dumps CSV file of app name/bundle ID/retina display icon (if present)
#!/usr/bin/env cycript -p SpringBoard
/*
* ric - retina display icon data aggregator
*/
// App types
var CLASSIC_APP = 0;
var IPAD_ONLY_APP = 1;
var UNIVERSAL_APP = 2;
var UNKNOWN_APP = 3;
@Sakurina
Sakurina / fileutils.cy
Created August 3, 2010 02:21
file-related helpers for cycript; public-domain
// fileutils - four simple helper functions for Cycript
// this is so silly it should be public domain (so it is)
function mv(old, _new) {
[[NSFileManager defaultManager] moveItemAtPath:old toPath:_new error:nil];
}
function cp(old, _new) {
[[NSFileManager defaultManager] copyItemAtPath:old toPath:_new error:nil];
}