<?xml version="1.0" encoding="utf-8" ?><rss version="2.0"><channel><title><![CDATA[AlickXc的专栏]]></title><description><![CDATA[]]></description><link>https://blog.youkuaiyun.com/AlickXc</link><language>zh-cn</language><generator>https://blog.youkuaiyun.com/</generator><copyright><![CDATA[Copyright &copy; AlickXc]]></copyright><item><title><![CDATA[一些简单的Mobile CTF练习]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/100670800</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/100670800</guid><author>AlickXc</author><pubDate>Mon, 09 Sep 2019 19:12:56 +0800</pubDate><description><![CDATA[资源链接https://download.youkuaiyun.com/download/alickxc/11705813

1.CISCN-2018 Illusion:

首先查看关键点：



可以看出app通过对用户输入数据加密并比较的方式判断flag准确性,再查看so实现,



首先JNI_Onload():



获得加密函数地址:



这里函数翻译有误因为函数调推测并非C语言实现有着工整的开场...]]></description><category></category></item><item><title><![CDATA[KCTF中常见加密算法的变形应用]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/100167918</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/100167918</guid><author>AlickXc</author><pubDate>Fri, 30 Aug 2019 23:40:27 +0800</pubDate><description><![CDATA[题目文件上传审核中...

首先jadx-gui打开apk



发现Activity所继承的并非真实的系统Activity所以怀疑有猫腻我们跟进这个类看一下发现这个Activity实现了onStart方法会覆盖掉子Activity的onClick事件所以这里才是重要的



由图可见eq函数尤为重要它的实现在so中我们来看so实现了.init段所以我们看下init段的内容



作用主要是在so...]]></description><category></category></item><item><title><![CDATA[从对XX加固免费版的逆向分析学习Android so的动态调试]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/100025179</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/100025179</guid><author>AlickXc</author><pubDate>Wed, 28 Aug 2019 11:03:00 +0800</pubDate><description><![CDATA[概述:

用到的工具:jadx-gui、ida pro、unicorn

样本:2019-08-10加密的自开发的demo

新手刚开始接触逆向,如果分析有不足或改进之处还请各位提出,提前感谢各位~

一、分享些小窍门

   1.Android so绝大部分是C语言实现的,在绝大多数C编译器实现的函数调用中通过BL*指令(返回地址放入LR中)进行跳转,函数入参翻入R0-R3寄存器中如果入...]]></description><category></category></item><item><title><![CDATA[ELF文件结构(Android 动态链接库)]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/98884118</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/98884118</guid><author>AlickXc</author><pubDate>Thu, 08 Aug 2019 20:25:32 +0800</pubDate><description><![CDATA[对学习到ELF文件结构的相关知识做一个简单的梳理,这些知识主要来自自己文件和代码的翻阅和其他博客,做提醒作用,想真的理解还请翻阅相关源码和结合手上的so慢慢翻看理解

一、ELF文件概览:





我们将图片以左右两边的箭头做分组它们分别代表了,ELF文件读取的两种不同视图,左侧为链接视图,是ELF文件由链接角度的解读,右侧为执行视图,是ELF文件由执行或加载(dlopen())角度的解读。由...]]></description><category></category></item><item><title><![CDATA[win32 时钟]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/46386369</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/46386369</guid><author>AlickXc</author><pubDate>Sat, 06 Jun 2015 11:05:37 +0800</pubDate><description><![CDATA[#include 
#include 
#include 


#define TWO_PI (3.1415926)


LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);
VOID WINAPI ThreadPionter(PVOID param);


int WINAPI WinMain(HINSTANCE hInst]]></description><category></category></item><item><title><![CDATA[初学win32GUI 练习源代码]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/45539553</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/45539553</guid><author>AlickXc</author><pubDate>Wed, 06 May 2015 19:09:26 +0800</pubDate><description><![CDATA[#include 


LRESULT CALLBACK WndProc(HWND,UINT,WPARAM,LPARAM);


int WINAPI WinMain(HINSTANCE hInstance,HINSTANCE hPrevInstance,
   LPSTR lpCmdLine,int iCmdShow){
TCHAR szAppName[] = TEXT("Hel]]></description><category></category></item><item><title><![CDATA[Dll远程注入]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/45226157</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/45226157</guid><author>AlickXc</author><pubDate>Thu, 23 Apr 2015 19:58:26 +0800</pubDate><description><![CDATA[// Inject.cpp : 定义控制台应用程序的入口点。
//


#include "stdafx.h"
#include 
#include 
#include 


BOOL EnableDebugPriv(LPCTSTR name) 
{ 
    HANDLE h;
    TOKEN_PRIVILEGES tp;
    LUID id;
 

 ]]></description><category></category></item><item><title><![CDATA[Win32 系统下进程内存共享]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44964823</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44964823</guid><author>AlickXc</author><pubDate>Thu, 09 Apr 2015 20:16:04 +0800</pubDate><description><![CDATA[// Shared.cpp : 定义控制台应用程序的入口点。
//

#include "stdafx.h"
#include 
#include 

using namespace std;

class Map{
private:
HANDLE FileMap;
PVOID pView;
public:
Map(){}
~Map(){
    CloseHand]]></description><category></category></item><item><title><![CDATA[asm-elf 练习hello,world练练手感]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924835</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924835</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:39:14 +0800</pubDate><description><![CDATA[.data
hello:
        .string "Hello,world\n"


.globl main


main:
        movl $4,%eax
        movl $1,%ebx
        movl $hello,%ecx
        movl $12,%edx
        int $0x80
        ret]]></description><category></category></item><item><title><![CDATA[unix-daemonize()]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924801</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924801</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:36:25 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 
#include 


int i;


void daemonize(const char *cmd){
int i,fd0,fd1,fd2;
pid_t pid;
struct rlimit r1;
struct sigaction sa;
]]></description><category></category></item><item><title><![CDATA[unix - pipe]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924781</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924781</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:35:03 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 


#define DEF_PAGER "/bin/more"
#define MAXLINE 4096


int main(int argc,char **argv){
int n;
int fd[2];
pid_t pid;
char *pa]]></description><category></category></item><item><title><![CDATA[unix练习 - 忘了当初写的啥来着 - -|||下次写注释]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924765</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924765</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:32:59 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 


#define BSZ 4096
#define NBUF 8


enum rwop{
UNUSED = 0,
READ_PENDING = 1,
WRITE_PENDING = 2
};


struct buf{
enum rwo]]></description><category></category></item><item><title><![CDATA[unix练习-线程互斥量]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924741</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924741</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:31:49 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 


int main(){
int err;
struct timespec tout;
struct tm *tmp;
char buf[64];
pthread_mutex_t lock = PTHREAD_MUTEX_INITIALIZER;


pthread_]]></description><category></category></item><item><title><![CDATA[unix - tcp/ip服务端..]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924735</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924735</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:30:36 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 
#include 


int main(int argc,char **argv){
struct sockaddr_in serv;
int sockfd;
char buf[56] = "Hello\n";
// if(argc != 2){
/]]></description><category></category></item><item><title><![CDATA[UNIX练习-tcp/ip客户端（ - - 写unix得审核....）]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924719</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924719</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:28:41 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 
#include 


#define MAXLINE 4096


int main(int argc, char **argv){
int sockfd;
int n = -1;
struct sockaddr_in clie;
char bu]]></description><category></category></item><item><title><![CDATA[unix-ipc]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924703</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924703</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:27:29 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 
#include 
#include 
#include 


union semun{int val; struct semid_ds *buf;unsigned short int *array;};
void print(int); /*表示共享资源*/
int val]]></description><category></category></item><item><title><![CDATA[unix-mmap（）]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924691</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924691</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:26:28 +0800</pubDate><description><![CDATA[#include 
#include 
#include 
#include 
#include 


#define COPYINCR (1024*1024*1024)


int main(int argc,char **argv){
int fdin,fdout;
void *src,*dst;
size_t copysz;
struct stat sbuf;
]]></description><category></category></item><item><title><![CDATA[win32练习-createprcoess（）]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924629</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924629</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:19:50 +0800</pubDate><description><![CDATA[// CreateProcess.cpp : 定义控制台应用程序的入口点。
//




#include "stdafx.h"
#include 
#include 




int _tmain(int argc, _TCHAR* argv[])
{
/*DWORD dwExitCode;
STARTUPINFO si = {sizeof(si)};
PROC]]></description><category></category></item><item><title><![CDATA[win32练习-信号量]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924607</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924607</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:18:42 +0800</pubDate><description><![CDATA[// Semaphore.cpp : 定义应用程序的入口点。
//


#include "stdafx.h"
#include "Semaphore.h"
#include 
#include 


#define MAX_LOADSTRING 100


  HANDLE Semaphore;


DWORD WINAPI Thread_1(PVOID pvPa]]></description><category></category></item><item><title><![CDATA[win32练习 - 虚拟地址映射]]></title><link>https://blog.youkuaiyun.com/AlickXc/article/details/44924583</link><guid>https://blog.youkuaiyun.com/AlickXc/article/details/44924583</guid><author>AlickXc</author><pubDate>Tue, 07 Apr 2015 19:16:08 +0800</pubDate><description><![CDATA[#include "stdafx.h"
#include 
#include "windows.h" 


using namespace std;


VOID *pAddress=NULL;  
TCHAR path[512]={0};  
MEMORY_BASIC_INFORMATION t;  


int _tmain(int argc, _TCHAR* arg]]></description><category></category></item></channel></rss>