RicardasSim

c2nasm

Nov 6th, 2018
596
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 5.03 KB | None | 0 0
  1. ------------
  2. C
  3. ------------
  4.  
  5. #include <stdio.h>
  6. #include <stdlib.h>
  7.  
  8. int main(){
  9.  
  10.  
  11. return 0;
  12. }
  13.  
  14. ------------
  15. c2nasm
  16. ------------
  17.  
  18. default rel
  19.  
  20. global main
  21.  
  22.  
  23. SECTION .text
  24.  
  25. main:
  26. push rbp
  27. mov rbp, rsp
  28. mov eax, 0
  29. pop rbp
  30. ret
  31.  
  32.  
  33.  
  34. SECTION .data
  35.  
  36.  
  37. SECTION .bss
  38.  
  39. ------------
  40. C
  41. ------------
  42.  
  43. #include <stdio.h>
  44. #include <stdlib.h>
  45.  
  46. int main(){
  47.  
  48.  
  49. const char *pTest[] = {"first","second"};
  50.  
  51. int nNumberOfEllements = 0;
  52.  
  53. nNumberOfEllements = sizeof(pTest) / sizeof(pTest[0]);
  54.  
  55. printf("Number of ellements in the pTest array is %d\n", nNumberOfEllements);
  56.  
  57. return 0;
  58. }
  59.  
  60. ------------
  61. c2nasm
  62. ------------
  63.  
  64. default rel
  65.  
  66. global main
  67.  
  68. extern __stack_chk_fail
  69. extern printf
  70. extern _GLOBAL_OFFSET_TABLE_
  71.  
  72.  
  73. SECTION .text
  74.  
  75. main:
  76. push rbp
  77. mov rbp, rsp
  78. sub rsp, 48
  79.  
  80.  
  81. mov rax, qword [fs:abs 28H]
  82. mov qword [rbp-8H], rax
  83. xor eax, eax
  84. lea rax, [rel L_002]
  85. mov qword [rbp-20H], rax
  86. lea rax, [rel L_003]
  87. mov qword [rbp-18H], rax
  88. mov dword [rbp-24H], 0
  89. mov dword [rbp-24H], 2
  90. mov eax, dword [rbp-24H]
  91. mov esi, eax
  92. lea rdi, [rel L_004]
  93. mov eax, 0
  94. call printf
  95. mov eax, 0
  96. mov rdx, qword [rbp-8H]
  97.  
  98.  
  99. xor rdx, qword [fs:abs 28H]
  100. jz L_001
  101. call __stack_chk_fail
  102. L_001: leave
  103. ret
  104.  
  105.  
  106.  
  107. SECTION .data
  108.  
  109.  
  110. SECTION .bss
  111.  
  112.  
  113. SECTION .rodata align=8
  114.  
  115. L_002:
  116. db 66H, 69H, 72H, 73H, 74H, 00H
  117.  
  118. L_003:
  119. db 73H, 65H, 63H, 6FH, 6EH, 64H, 00H, 00H
  120. db 00H, 00H
  121.  
  122. L_004:
  123. db 4EH, 75H, 6DH, 62H, 65H, 72H, 20H, 6FH
  124. db 66H, 20H, 65H, 6CH, 6CH, 65H, 6DH, 65H
  125. db 6EH, 74H, 73H, 20H, 69H, 6EH, 20H, 74H
  126. db 68H, 65H, 20H, 70H, 54H, 65H, 73H, 74H
  127. db 20H, 61H, 72H, 72H, 61H, 79H, 20H, 69H
  128. db 73H, 20H, 25H, 64H, 0AH, 00H
  129.  
  130. ------------
  131. C
  132. ------------
  133.  
  134. #include <stdio.h>
  135. #include <stdlib.h>
  136.  
  137. int main(){
  138.  
  139. const char *pTest[] = {"first","second"};
  140.  
  141. printf("%s\n", pTest[0]);
  142.  
  143. return 0;
  144. }
  145.  
  146. ------------
  147. c2nasm
  148. ------------
  149.  
  150. SECTION .text
  151.  
  152. main:
  153. push rbp
  154. mov rbp, rsp
  155. sub rsp, 32
  156.  
  157.  
  158. mov rax, qword [fs:abs 28H]
  159. mov qword [rbp-8H], rax
  160. xor eax, eax
  161. lea rax, [rel L_002]
  162. mov qword [rbp-20H], rax
  163. lea rax, [rel L_003]
  164. mov qword [rbp-18H], rax
  165. mov rax, qword [rbp-20H]
  166. mov rdi, rax
  167. call puts
  168. mov eax, 0
  169. mov rdx, qword [rbp-8H]
  170.  
  171.  
  172. xor rdx, qword [fs:abs 28H]
  173. jz L_001
  174. call __stack_chk_fail
  175. L_001: leave
  176. ret
  177.  
  178.  
  179.  
  180. SECTION .data
  181.  
  182.  
  183. SECTION .bss
  184.  
  185.  
  186. SECTION .rodata
  187.  
  188. L_002:
  189. db 66H, 69H, 72H, 73H, 74H, 00H
  190.  
  191. L_003:
  192. db 73H, 65H, 63H, 6FH, 6EH, 64H, 00H
  193.  
  194. ------------
  195. C
  196. ------------
  197.  
  198. #include <stdio.h>
  199. #include <stdlib.h>
  200.  
  201. int main(){
  202.  
  203. #define ARRAY_E_COUNT 2
  204. const char *pTest[] = {"first","second"};
  205.  
  206. #if ARRAY_E_COUNT > 0
  207. printf("%s\n", pTest[0]);
  208. #endif
  209.  
  210. return 0;
  211. }
  212.  
  213. ------------
  214. c2nasm
  215. ------------
  216.  
  217. default rel
  218.  
  219. global main
  220.  
  221. extern __stack_chk_fail
  222. extern puts
  223. extern _GLOBAL_OFFSET_TABLE_
  224.  
  225.  
  226. SECTION .text
  227.  
  228. main:
  229. push rbp
  230. mov rbp, rsp
  231. sub rsp, 32
  232.  
  233.  
  234. mov rax, qword [fs:abs 28H]
  235. mov qword [rbp-8H], rax
  236. xor eax, eax
  237. lea rax, [rel L_002]
  238. mov qword [rbp-20H], rax
  239. lea rax, [rel L_003]
  240. mov qword [rbp-18H], rax
  241. mov rax, qword [rbp-20H]
  242. mov rdi, rax
  243. call puts
  244. mov eax, 0
  245. mov rdx, qword [rbp-8H]
  246.  
  247.  
  248. xor rdx, qword [fs:abs 28H]
  249. jz L_001
  250. call __stack_chk_fail
  251. L_001: leave
  252. ret
  253.  
  254.  
  255.  
  256. SECTION .data
  257.  
  258.  
  259. SECTION .bss
  260.  
  261.  
  262. SECTION .rodata
  263.  
  264. L_002:
  265. db 66H, 69H, 72H, 73H, 74H, 00H
  266.  
  267. L_003:
  268. db 73H, 65H, 63H, 6FH, 6EH, 64H, 00H
  269.  
  270.  
  271. ------------
  272. C
  273. ------------
  274.  
  275. #include <stdio.h>
  276. #include <stdlib.h>
  277.  
  278. int main(){
  279.  
  280. #define ARRAY_E_COUNT 0
  281. const char *pTest[] = {0};
  282.  
  283. #if ARRAY_E_COUNT > 0
  284. printf("%s\n", pTest[0]);
  285. #endif
  286.  
  287. return 0;
  288. }
  289.  
  290. ------------
  291. c2nasm
  292. ------------
  293.  
  294. default rel
  295.  
  296. global main
  297.  
  298. extern __stack_chk_fail
  299. extern _GLOBAL_OFFSET_TABLE_
  300.  
  301.  
  302. SECTION .text
  303.  
  304. main:
  305. push rbp
  306. mov rbp, rsp
  307. sub rsp, 16
  308.  
  309.  
  310. mov rax, qword [fs:abs 28H]
  311. mov qword [rbp-8H], rax
  312. xor eax, eax
  313. mov qword [rbp-10H], 0
  314. mov eax, 0
  315. mov rdx, qword [rbp-8H]
  316.  
  317.  
  318. xor rdx, qword [fs:abs 28H]
  319. jz L_001
  320. call __stack_chk_fail
  321. L_001: leave
  322. ret
  323.  
  324.  
  325.  
  326. SECTION .data
  327.  
  328.  
  329. SECTION .bss
Advertisement
Add Comment
Please, Sign In to add comment