theos集成obfuscator-llvm

A toolkit for the construction of highly optimized compilers, optimizers, and runtime environments.

Build:

Makefile:

TARGET_CC = /Users/zhaobaolin/work/tools/obfuscator/build/bin/clang
TARGET_CXX = /Users/zhaobaolin/work/tools/obfuscator/build/bin/clang++
_THEOS_TARGET_CFLAGS += -mllvm -fla -mllvm -sub
_THEOS_TARGET_CXXFLAGS += -mllvm -fla -mllvm -sub 

注:该开源库只包含了llvm核心和clang,如果代码中用了c++相关的代码,需要下载libcxxabi lldcompiler-rtlibcxx 后一起编译。

Restoring AddressBook.sqlitedb to iPhone – A Simplified Procedure

In my previous article, I described how to restore contacts from a backup to an iPhone.  The infuriating thing about restoring AddressBook.sqlitedb to an iPhone is that one can’t just drop in a replacement file, because after you reboot, the new file gets overwritten with an empty one.  I traced the overwriting of the addressbook to a process called dataaccessd.  This process can’t be killed easily, because launchd will automatically restart it if it dies.  After some testing, I have now devised a procedure which is simpler than the one described in my previous article:

This procedure assumes that you have already obtained a copy of AddressBook.sqlitedb which contains the contacts you want to restore.

1. Using iFunBox, navigate to Raw File System/Library/LaunchDaemons and copy com.apple.AddressBook.plist and com.apple.dataaccess.dataaccessd.plist to your computer.

2. Using iFunBox, delete com.apple.AddressBook.plist andcom.apple.dataaccess.dataaccessd.plist from your iPhone.

3. Power off and restart your iPhone

4. Using iFunBox, copy your AddressBook.sqlitedb into the iPhone at Raw File System/var/mobile/Library/AddressBook

5. Using iFunBox, copy the com.apple.AddressBook.plist andcom.apple.dataaccess.dataaccessd.plist from your computer back to the Raw File System/Library/LaunchDaemons folder in your iPhone.

6. Power off and restart the iPhone, and enjoy your restored contacts.

SS(影梭)一键搭建教程

环境:CentOS6.5 

1、 运行安装脚本

wget --no-check-certificate https://raw.githubusercontent.com/teddysun/shadowsocks_install/master/shadowsocks.sh
chmod +x shadowsocks.sh

./shadowsocks.sh 2>&1 | tee shadowsocks.log

2、相关配置

/etc/shadowsocks.json 
{
   "server":"your_server_ip",
   "local_address": "127.0.0.1",
   "local_port":1080,
   "port_password":{
       "8989":"password0",
       "9001":"password1",
       "9002":"password2",
       "9003":"password3",
       "9004":"password4"
   },
   "timeout":300,
   "method":"aes-256-cfb",
   "fast_open": false

Debian 的 preinst, postinst, prerm, 和 postrm 脚本

http://wiki.ubuntu.org.cn/Deb%E5%8C%85%E7%AE%A1%E7%90%86%E5%90%91%E5%AF%BC

deb包的执行脚本

许多软件安装前或安装后都需要进行一些设置工作,deb格式的软件安装过程执行的操作是由如下脚本来控制的

debian/preinst

debian/postinst

debian/prerm

debian/postrm

yagmail -- Yet Another GMAIL/SMTP client

https://github.com/kootenpv/yagmail

The goal here is to make it as simple and painless as possible to send emails.

In the end, your code will look something like this:

使用safari对webview进行调试

1. 打开模拟器(真机)的开发者模式

【设置】->【Safari】->【高级】->【Web检查器】打开

打开iphone设备中的web检查器

2. 打开Mac上Safari的开发者模式

打开Safari中的开发者模式

3. 在模拟器(真机)中打开webview应用,并打开Safari查看网络信息

打开Safari中的调试

 

完成以上几步就可以调试自己应用的webview了,那么如何调试AppStore下载应用的webview呢?

1、砸壳目标App

 

2、提取entitlement,添加get-task-allow 权限

 

3、重签名应用

 

4、安装