笔记
雨后初霁&
逆向深度学习中
展开
-
GWctf-2019-pyre
拿到文件pyc,直接反编译得到源码l = len(input1)for i in range(l): num = ((input1[i] + i) % 128 + 128) % 128 code += numfor i in range(l - 1): code[i] = code[i] ^ code[i + 1]print codecode = [ '\x1f', '\x12', '\x1d', '(', '0',原创 2022-03-12 16:11:21 · 859 阅读 · 0 评论 -
逆向第一课
定位到关键破解点并爆破关键点程序判断注册码是否正确的位置爆破通过对程序流程的修改,让程序判断失误程序判断流程1,点击注册按钮2,读取注册码3,判断注册码是否合法4,提示用户是否注册成功每一个步骤都有机会我们是简单的注册码,使用的是易语言编写。实现输入编辑框的内容等于123456时并按下注册按钮时弹出消息框显示注册成功。api查找法我们通常跟随getwindowtexta的函数;使用od,查找该函数。出现情况,我跳转后下断点,我希望是到读取内容是原创 2022-02-20 21:50:21 · 1303 阅读 · 0 评论 -
c语言之奇偶数分开排序
描述将一整数数列按奇数在前,偶数在后的顺序重新排放,并要求奇偶两部份分别按照从小到大有序。输入第1行一个正整数n,n不超过100。第2行包括n个正整数,整数间用空格隔开。输出输出排序后的结果,整数间用1个空格隔开,行首行末均无空格。输入样例 1104 7 2 1 0 3 6 9 5 8输出样例 11 3 5 7 9 0 2 4 6 8#include <stdio.h>int main(int argc,char const *a.原创 2021-11-11 08:44:56 · 3980 阅读 · 0 评论 -
杨辉三角形
描述编写程序,输出n行杨辉三角形。输入一个正整数n,不超过32。输出输出n行杨辉三角形,每个数字输出宽度为10。输入样例 15输出样例 1 1 1 1 1 2 1 1 3 3 1 .原创 2021-11-06 13:03:11 · 956 阅读 · 0 评论 -
求满足条件的数(数字和)
描述编写程序,输入N(n<=32767),输出N以内的正整数(包括N),使其数字之和为15,每行输出8个数。输入一个正整数N(n<=32767)输出递增的顺序输出所有满足条件的正整数,每行输出8个数,每个整数输出宽度为6。如果满足条件的数一个都没有,则输出“None”。#include <stdio.h>int main(int argc,char *argv[]){ int a,b,i,n,count=0,z=0; scanf...原创 2021-11-06 12:24:13 · 1620 阅读 · 0 评论 -
c语言 :验证“哥德巴赫猜想”
描述数学领域著名的“哥德巴赫猜想”的大致意思是:任何一个大于2的偶数总能表示为两个素数之和。比如:24=5+19,其中5和19都是素数。设计一个程序,验证20亿以内的偶数都可以分解成两个素数之和。输入一个偶数N,大于2,且不超过2*10^9输出在一行中按照格式“N = p + q”输出N的素数分解,其中p ≤ q均为素数。又因为这样的分解不唯一(例如24还可以分解为7+17),要求必须输出所有解中p最小的解。例如输入24 输出24 = 5 + 19注原创 2021-11-04 15:40:20 · 1919 阅读 · 0 评论 -
c语言梅森数
形如2^n − 12n−1的素数称为梅森数(Mersenne Number)。例如2^2 − 1 = 3 、2^3 − 1 = 7都是梅森数。1722年,双目失明的瑞士数学大师欧拉证明了2^{31} − 1 = 2147483647 是一个素数,堪称当时世界上“已知最大素数”的一个记录。编写程序,对任一正整数n(n \leq 31n≤31),输出所有不超过2^n − 1的梅森数。正整数n( n≤31)按从小到大的顺序输出所有不超过2^n− 1的梅森数,每行一个。如果完全...原创 2021-11-04 15:18:52 · 4253 阅读 · 3 评论 -
c语言换硬币
将一笔零钱换成5分、2分和1分的硬币,要求每种硬币至少有一枚,有几种不同的换法?待换的零钱数额x,整数,不少于8,不超过100。要求按5分、2分和1分硬币的数量依次从大到小的顺序,输出各种换法。每行输出一种换法,格式为:“fen5:5分硬币数量, fen2:2分硬币数量, fen1:1分硬币数量, total:硬币总数量”。最后一行输出“count = 换法个数”。例如13输出:fen5:2, fen2:1, fen1:1, total:4fen5:1, fen2:3, f.原创 2021-11-04 15:05:13 · 3349 阅读 · 0 评论 -
实现用c语言输出闰年
编写程序,输出21世纪及以后截止某个年份以来的所有闰年年份。注意:闰年的判别条件是该年年份能被4整除但不能被100整除、或者能被400整除。一行中给出21世纪及以后的某个截止年份。逐行输出满足条件的所有闰年年份,即每个年份占一行。输入若非21世纪及以后的年份则输出"Invalid year!"。若不存在任何闰年,则输出“None”。例如2048 输出200420082012201620202024202820322036204020442048再例如.原创 2021-11-04 14:35:42 · 6781 阅读 · 0 评论 -
求特殊方程的正整数解
编写程序,对任意给定的正整数N,求方程X^2 + Y^2 = NX2+Y2=N正整数N(≤10000)。输出方程的全部正整数解,其中X≤Y。每组解占1行,两数字间以1空格分隔,按X的递增顺序输出。例如884 输出10 2820 22上代码#include<stdio.h>#include<math.h>int main(int argc,char *argv[]){ int x,y=0,n,z=0; scanf("%d",&...原创 2021-11-04 09:43:53 · 501 阅读 · 0 评论 -
打印九九口诀表
下面是一个完整的下三角九九口诀表:1*1=1 2*1=2 2*2=4 3*1=3 3*2=6 3*3=94*1=4 4*2=8 4*3=12 4*4=165*1=5 5*2=10 5*3=15 5*4=20 5*5=256*1=6 6*2=12 6*3=18 6*4=24 6*5=30 6*6=367*1=7 7*2=14 7*3=21 7*4=28 7*5=35 7*6=42 7*7=498*1=8 8*2=16..原创 2021-11-04 09:24:17 · 432 阅读 · 0 评论 -
黑洞数的输出
黑洞数也称为陷阱数,又称“Kaprekar问题”,是一类具有奇特转换特性的数。任何一个各位数字不全相同的三位数,经有限次“重排求差”操作,总会得到495。最后所得的495即为三位黑洞数。所谓“重排求差”操作即组成该数的数字重排后的最大数减去重排后的最小数。(6174为四位黑洞数。)例如,对三位数207:第1次重排求差得:720 - 27 = 693;第2次重排求差得:963 - 369 = 594;第3次重排求差得:954 - 459 = 495;以后会停留在495这一黑洞数。原创 2021-11-03 23:41:00 · 155 阅读 · 0 评论 -
n位水仙花数
水仙花数是指一个N位正整数(N≥3),它的每个位上的数字的N次幂之和等于它本身。例如:153 = 1^3+ 5^3+ 3^3153=13+53+33要求编写程序,计算所有N位水仙花数。我第一次代码#include <stdio.h>#include <math.h>int main(int argc,char *argv[]){ int s=0,c,k,n,i,z,y,x; scanf("%d",&c); switch(c) { case...原创 2021-11-03 22:13:29 · 930 阅读 · 0 评论 -
素数统计并累加
编写程序,统计给定整数M和N区间内素数的个数并对它们求和。两个正整数M和N(1≤M ≤ N ≤ 10000)。直接上代码#include<stdio.h>int f(int a){ int i; if(a1) return 0; else if(a2) return 1; else { for(i=2;i<a;i++) { if(a%i==0) break; }} if(i>=a) return 1; else原创 2021-11-03 12:41:36 · 355 阅读 · 0 评论